MATLAB Function Reference    
svds

設定した個数の特異値の算出

表示

詳細

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

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

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

出力引数が1つのときsは、特異値のベクトルです。出力引数が3個で、Amn列のときは、つぎのようになります。

アルゴリズム

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

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

例題

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

つぎのプロットは、svd svdsで計算したwest0479の特異値を示したものです。

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

と、つぎの計算を行います。

参考
svd         特異値分解

eigs        2、3の固有値と固有ベクトルを検出


 svd switch