特異値分解(SVD)計算機
行列を入力すると特異値分解 A=UΣVᵀ の特異値・ランク・条件数を計算。小さな行列なら左特異ベクトル U・右特異ベクトル V も表示します。
入力
1行=行列の1行、要素はスペースまたはカンマ区切りで入力してください。
計算結果
最大特異値 σ₁
3
サイズ(行×列)
3 × 3
数値的ランク
3
条件数
3
特異値(降順)
| σ1 | 3 |
| σ2 | 2 |
| σ3 | 1 |
左特異ベクトル U
各列が左特異ベクトル uₖ(U[:,k]=A·vₖ/σₖ)です。
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 0 | 0 | 1 |
右特異ベクトル V
各列が右特異ベクトル vₖ(AᵀA の固有ベクトル)です。
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 0 | 0 | 1 |
計算方法・使い方
- 特異値分解(SVD)は任意の m×n 行列 A を A=UΣVᵀ の形に分解します。U は m×m の直交行列、V は n×n の直交行列、Σ は対角に非負の特異値 σ₁≧σ₂≧…≧0 を並べた m×n 行列です。
- この計算機は対称行列 AᵀA の固有値分解を巡回ヤコビ回転法で求め、その固有値の平方根を特異値、固有ベクトルを右特異ベクトル V とします。左特異ベクトルは U[:,k]=A·vₖ/σₖ で復元しています。
- 数値的ランクは、しきい値 max(m,n)·εmach·σmax を超える特異値の個数として数えます。これより小さい特異値は数値誤差としてゼロ扱いです。
- 条件数は σmax/σmin(最小の非ゼロ特異値)で定義します。ランク落ちの行列では σmin が 0 とみなされ、条件数は無限大(∞)になります。
- 本ツールの結果は反復法による近似計算であり、厳密な代数解ではありません。回転・桁落ちにより末尾の桁に誤差が出る場合があります。
- U・V の表示は行数・列数がともに 8 以下の小さな行列に限定しています。大きな行列では特異値・ランク・条件数のみを表示します。
関連する計算ツール
ベッセル関数のゼロ点 計算
数学第1種ベッセル関数 Jn(x) と第2種 Yn(x) の正のゼロ点を小さい順に求めます。種別・次数・個数を指定すると、グラフと表で結果を表示します。
計算する →行列のスカラー倍計算
数学行列にスカラー k を掛けて、各成分を k 倍した結果行列を計算します。
計算する →行列の転置計算ツール
数学m×n行列を入力すると、行と列を入れ替えた転置行列を表で表示します。元のサイズ・転置後のサイズ・対称行列かどうかも判定できます。
計算する →LU分解 計算ツール
数学正方行列を部分ピボット選択でLU分解(PA=LU)。下三角行列Lと上三角行列U、行列式、置換を表示します。
計算する →
お客様の声
このツールを使った感想をお聞かせください。
レビューを投稿する
- ホーム
特異値分解(SVD)計算機