MATLAB Function Reference | ![]() ![]() |
表示
nrm=
normest(S) nrm
=
normest(S,tol) [nrm,count] = normest(...)
詳細
この関数は、主にスパース行列に関するものですが、大きなフル行列にも正しく機能し、有効なものである場合があります。
nrm = normest(S)
は、行列 S
の 2-ノルムを計算します。
nrm = normest(S,tol)
は、デフォルトの許容値 1.e-6
の代わりに、相対誤差tol
を使います。tol
の値は、推定が意味をもつ値か否かを決定するものです。
[nrm,count] = normest(...)
は、2-ノルムを計算し、使われたべき乗の繰り返し数も出力します。
例題
W = gallery('wilkinson',101)
は、三重対角行列で、その次数101 は、 svd(full(W))
を含む norm(full(W))
を実行するのに十分小さいものです。あるコンピュータでは、計算は、4.13 秒かかり、正確なノルム 50.7462 を出力します。一方、normest(sparse(W))
は、わずか 1.56 秒で、ノルム 50.7458 を出力します。
アルゴリズム
べき乗の繰り返しは、行列 S
とその転置 S'
の繰り返し乗法を行います。その繰り返しは、2つの連続的な計算が指定した相対許容誤差内で一致するまで実行されます。
参考
cond
, condest
, norm
, rcond
, svd
![]() | norm | now | ![]() |