ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

svds

特異値およびベクトルの算出

構文

s = svds(A)
s = svds(A,k)
s = svds(A,k,sigma)
s = svds(A,k,'L')
s = svds(A,k,sigma,options)
[U,S,V] = svds(A,...)
[U,S,V,flag] = svds(A,...)

説明

s = svds(A) は、行列 A の 6 個の最大特異値とそれに関連した特異ベクトルを計算します。Amn 列の場合、関数 svds(A)A の少数の固有値とベクトルを算出するために eigs(B) で返される固有値とベクトルを操作します。ここで、B = [sparse(m,m) A; A' sparse(n,n)] です。対称行列 B の正の固有値は、A の特異値と同じです。

s = svds(A,k) は、行列 Ak 個の最大特異値とそれに関連した特異ベクトルを計算します。

s = svds(A,k,sigma) は、スカラー シフト sigma に最も近い k 個の特異値を計算します。たとえば、s = svds(A,k,0) は、k 個の最小特異値と関連する特異ベクトルを計算します。

s = svds(A,k,'L') は、k 個の最大特異値を計算します。

s = svds(A,k,sigma,options) は、いくつかのパラメーターを設定します (関数 eigs を参照)。

オプション構造体フィールドと詳細

フィールド名

パラメーター

既定の設定

options.tol

収束の許容誤差。 norm(AV-US,1)<=tol*norm(A,1)

1e-10

options.maxit

反復の最大数。

300

options.disp

各反復で表示される値の数。

0

svds は計算された特異ベクトルの精度をチェックします。ベクトルの精度が十分でない場合、返される特異値はリクエスされた特異値よりも少なくなります。リクエストされた特異値の数を取得するには、options 構造体の許容誤差を減らしてください。

[U,S,V] = svds(A,...) は、Amn 列の場合、3 つの出力引数を返します。

  • U は、直交する列をもつ mk 列です。

  • S は、kk 列の対角行列です。

  • V は、直交する列をもつ nk 列です。

  • U*S*V' は、A のランク k に最も近い近似です。

[U,S,V,flag] = svds(A,...) は、収束フラグを返します。関数 eigs が収束した場合は、norm(A*V-U*S,1) <= tol*norm(A,1) かつ flag0 になります。関数 eigs が収束しない場合、flag1 になります。

    メモ:   関数 svds は、大規模なスパース行列の少数の特異値を算出するのに、最もよく使用されます。そのような行列のすべての特異値を算出する際、svd(full(A)) は通常 svds(A,min(size(A))) より良い実行結果を得ることができます。

west0479 は、実数の 479 行 479 列スパース行列です。関数 svd は、479 個のすべての特異値を計算します。関数 svds は、最大と最小の特異値を選択します。

load west0479
s = svd(full(west0479))
sl = svds(west0479,4)
ss = svds(west0479,6,0)

以下のプロットは、関数 svdsvds で計算した west0479 の特異値を示します。

west0479 の最大特異値は、やや異なる方法で計算されます。

svds(west0479,1) =
 3.189517598808622e+05
max(svd(full(west0479))) =
 3.18951759880862e+05
norm(full(west0479)) =
 3.189517598808623e+05

そして、次の計算を行います。

normest(west0479) =
 3.189385666549991e+05

詳細

すべて展開する

アルゴリズム

svds(A,k) は、B = [0 A; A' 0]k 個の最大固有値と対応する固有ベクトルを求めるために、eigs を使用します。

svds(A,k,0) は、B = [0 A; A' 0]2k 個の最小固有値と固有ベクトルを求めるために、eigs を使用し、k 個の正の固有値と固有ベクトルを選択します。

参考

|

この情報は役に立ちましたか?