特異値分解計算ツールの使い方
特異値分解計算ツール(SVD計算機)は、入力された行列 $A$ を $A = U \Sigma V^T$ に分解し、それぞれの構成要素となる行列 $U$、$\Sigma$、$V^T$ を可視化するオンラインツールです。行列の行数・列数および数値を設定するだけで、自動的に 特異値分解(SVD) を計算し、元の行列への復元検証やステップごとの詳細な計算手順を出力します。
- 次元の設定 – 行列 $A$ の行数および列数(1〜4の範囲)を選択します。
- 行列要素の入力 – 各セルに実数(小数・負の数を含む)を入力します。
- 分解結果の確認 – 特異値分解計算ツール が計算した直交行列 $U$、対角行列 $\Sigma$、直交行列 $V^T$ が表示されます。
- 復元検証 – 再構成積 $U \Sigma V^T$ が表示され、元の行列 $A$ と一致しているかを即座に確認できます。
- 特異値の活用 – 対角行列 $\Sigma$ の対角成分には、降順に並べられた特異値 $\sigma_i$ が格納されます。
特異値分解の計算公式と理論
本 特異値分解計算ツール は、一般的な実数行列に対するフルSVD(Full SVD)を実装しています。
A = U Σ Vᵀ
ここで:
U ∈ ℝ^(m×m) — 左特異ベクトル(列ベクトルは互いに直交する正規直交基底)
Σ ∈ ℝ^(m×n) — 特異値 σ₁ ≥ σ₂ ≥ … ≥ 0 を対角成分にもつ対角行列
Vᵀ ∈ ℝ^(n×n) — 右特異ベクトル(行ベクトルは互いに直交する正規直交基底)
| 記号 | 意味・定義 |
|---|---|
| $A$ | 入力となる $m \times n$ の実数行列 |
| $U$ | 左特異行列(列は $AA^T$ の固有ベクトル) |
| $\Sigma$ | 矩形対角行列(対角要素 $\Sigma_{ii} = \sigma_i$) |
| $V^T$ | 右特異行列(行は $A^TA$ の固有ベクトル) |
| $\sigma_i$ | 特異値: $\sigma_i = \sqrt{\lambda_i(A^TA)}$ |
本ツール内部の計算アルゴリズム:
- $A^TA$ ($n \times n$ の対称行列)を算出します。
- ヤコビ固有値アルゴリズムを適用し、$A^TA$ の全固有値 $\lambda_i$ と固有ベクトル $v_i$ を求めます。これらの固有ベクトルが行列 $V$ の各列となります。
- 固有値を降順にソートし、特異値 $\sigma_i = \sqrt{\lambda_i}$ を得ます。
- $\sigma_i > 0$ である各成分について、左特異ベクトル $u_i = Av_i / \sigma_i$ を計算します。
- $U$、$\Sigma$、$V^T$ を構築し、検証用として積 $U \Sigma V^T$ を計算します。
SVDから導出される重要な計算:
- 低ランク近似(Low-Rank Approximation): $A_k \approx \sigma_1 u_1 v_1^T + \dots + \sigma_k u_k v_k^T$
- ムーア・ペンローズの疑似逆行列(Pseudoinverse): $A^+ = V \Sigma^+ U^T$ (非ゼロの $\sigma_i$ を $1/\sigma_i$ に置換)
- 2-ノーム(スペクトルノーム): $|A|_2 = \sigma_1$
- フロベニウスノーム: $|A|_F = \sqrt{\sum \sigma_i^2}$
前提条件および制限事項
本 特異値分解計算ツール は最大 $4 \times 4$ の実数行列に対応しています。ヤコビ法による反復は最大200スウィープ実行され、小規模な密行列に対して十分な精度を保証します。極めてゼロに近い特異値($< 10^{-9}$)に対応する左特異ベクトルはゼロベクトルとして処理されます。なお、大規模行列や高度な数値計算が必要な用途では、PythonのNumPy(numpy.linalg.svd)やSciPy、LAPACKなどのライブラリをご利用ください。
特異値分解(SVD)の主な活用例・応用分野
特異値分解(SVD) は、データサイエンス、機械学習、画像処理、線形代数など幅広い分野で利用されています。
- 次元削減・主成分分析(PCA) – $V^T$ の各行は主成分方向を表し、特異値の大きさは各成分の分散(情報の寄与度)を示します。
- 低ランク近似とデータ圧縮 – 上位 $k$ 個の特異値・特異ベクトルのみを残すことで、ノイズ除去や画像の圧縮を行います。
- 最小二乗法と疑似逆行列 – 方程式 $Ax = b$ の最小二乗解を求める際に $A^+ = V \Sigma^+ U^T$ を適用します。
- 条件数(Condition Number) – $\kappa(A) = \sigma_{\max} / \sigma_{\min}$ により、線形方程式系の数値的安定性を評価します。
- 潜在意味解析(LSA / LSI) – 単語-文書行列にSVDを適用し、テキスト内の潜在的なトピックや概念を抽出します。
- 画像圧縮・特徴抽出 – 画像行列の重要な特異値成分のみを取り出して効率的に保持します。
本 特異値分解計算ツール は分解結果の3つの行列($U, \Sigma, V^T$)を全て出力するため、ランク削減の挙動確認や直交性の検証、SVDに基づく各種公式の学習に最適です。