Main Content

normest

説明

n = normest(S) は、行列 S の 2 ノルムの推定値を返します。

この関数は、主にスパース行列用の関数ですが、大規模な非スパース行列にも正しく動作します。

n = normest(S,tol) は、既定の許容誤差 1.0e-6 の代わりに、相対許容誤差 tol を使用して、2 ノルムを推定します。

[n,count] = normest(___) は、2 ノルムの推定値を返し、計算に使用されたべき乗の反復数も返します。この構文は、前述の構文にある任意の入力引数を指定して使用します。

すべて折りたたむ

5 行 5 列のスパース対角行列を作成します。

S = sparse(1:5,1:5,1:5)
S = 5x5 sparse double matrix (5 nonzeros)
   (1,1)        1
   (2,2)        2
   (3,3)        3
   (4,4)        4
   (5,5)        5

行列 S の 2 ノルムを推定します。

n = normest(S)
n = 
5.0000

一様分布の乱数から成る 1000 行 1000 列の行列を作成します。

rng default
S = rand(1000);

norm を使用して、行列 S の 2 ノルムを推定します。tic および toc 呼び出しのペアで経過時間を測定します。

tic
norm(S)
ans = 
500.4856
toc
Elapsed time is 0.187408 seconds.

2 ノルムの推定を高速化するために、指定された許容誤差 1.0e-4normest を使用して、S の 2 ノルムを推定します。

tic
normest(S,1.0e-4)
ans = 
500.4856
toc
Elapsed time is 0.018414 seconds.

7 行 7 列の行列を作成します。

S = gallery('clement',7,7)
S = 7×7

         0    2.4495         0         0         0         0         0
    2.4495         0    3.1623         0         0         0         0
         0    3.1623         0    3.4641         0         0         0
         0         0    3.4641         0    3.4641         0         0
         0         0         0    3.4641         0    3.1623         0
         0         0         0         0    3.1623         0    2.4495
         0         0         0         0         0    2.4495         0

行列の 2 ノルムを推定し、計算に使用されたべき乗の反復数を返します。

[n,count] = normest(S)
n = 
6.0000
count = 
4

入力引数

すべて折りたたむ

入力行列。スパース行列または非スパース行列として指定します。

データ型: single | double
複素数のサポート: あり

相対許容誤差。非負の実数として指定します。tol の値は、ノルムの推定値をいつ許容可能と見なすかを決定します。その反復は、2 つの連続的な推定値が指定した tol 内で一致するまで実行されます。

データ型: single | double

出力引数

すべて折りたたむ

行列のノルム。スカラーとして返されます。入力に NaN 値が含まれている場合、normestNaN を返します。

2 ノルムの推定に使用されたべき乗の反復数。非負の整数として返されます。

アルゴリズム

べき乗の繰り返しは、行列 S とその転置 S' の反復乗法を行います。その反復は、2 つの連続的なノルム推定値が指定した相対許容誤差内で一致するまで実行されます。

拡張機能

バージョン履歴

R2006a より前に導入

参考

| | | |