特異値分解計算ツール(SVD計算機)

無料の特異値分解(SVD)計算ツール。実数行列(最大4×4)をU、Σ、Vᵀに分解し、ヤコビ法による固有値計算や計算手順ステップ、元行列の復元検証を分かりやすく解説します。

1.1M 利用回数 更新日 · 2026-05-05 ブラウザ内で処理 · アップロードなし
AD

特異値分解計算ツールの使い方

特異値分解計算ツール(SVD計算機)は、入力された行列 $A$ を $A = U \Sigma V^T$ に分解し、それぞれの構成要素となる行列 $U$、$\Sigma$、$V^T$ を可視化するオンラインツールです。行列の行数・列数および数値を設定するだけで、自動的に 特異値分解(SVD) を計算し、元の行列への復元検証やステップごとの詳細な計算手順を出力します。

  1. 次元の設定 – 行列 $A$ の行数および列数(1〜4の範囲)を選択します。
  2. 行列要素の入力 – 各セルに実数(小数・負の数を含む)を入力します。
  3. 分解結果の確認特異値分解計算ツール が計算した直交行列 $U$、対角行列 $\Sigma$、直交行列 $V^T$ が表示されます。
  4. 復元検証 – 再構成積 $U \Sigma V^T$ が表示され、元の行列 $A$ と一致しているかを即座に確認できます。
  5. 特異値の活用 – 対角行列 $\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)}$

本ツール内部の計算アルゴリズム:

  1. $A^TA$ ($n \times n$ の対称行列)を算出します。
  2. ヤコビ固有値アルゴリズムを適用し、$A^TA$ の全固有値 $\lambda_i$ と固有ベクトル $v_i$ を求めます。これらの固有ベクトルが行列 $V$ の各列となります。
  3. 固有値を降順にソートし、特異値 $\sigma_i = \sqrt{\lambda_i}$ を得ます。
  4. $\sigma_i > 0$ である各成分について、左特異ベクトル $u_i = Av_i / \sigma_i$ を計算します。
  5. $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に基づく各種公式の学習に最適です。

特異値分解計算ツール(SVD計算機)についてのよくある質問

特異値分解計算ツールはどのようにSVDを計算しますか?

本ツールはヤコビ固有値アルゴリズムを用いてAᵀAの固有ベクトル(右特異ベクトルV)を求め、固有値の平方根から特異値を計算します。さらに、U = AVΣ⁻¹の公式を用いて左特異ベクトルUを算出します。

U、Σ、Vᵀの行列サイズ(次元)はどのようになりますか?

m×nの行列Aに対して、Uはm×mの直交行列、Σはm×nの対角行列(対角成分に特異値を配置)、Vᵀはn×nの直交行列となります。これら3つの積 UΣVᵀ は元の行列Aを完全復元(再構成)します。

特異値分解(SVD)の計算結果はどのような用途に使えますか?

低ランク近似(上位k個の特異値・特異ベクトルを用いたデータ圧縮)、ムーア・ペンローズの疑似逆行列(A⁺ = VΣ⁺Uᵀ)の計算、行列の2-ノーム(最大特異値 σ₁)の算出、主成分分析(PCA)の主方向の特定などに活用できます。

入力した行列データはサーバーに保存されますか?

いいえ。すべての計算はブラウザ上でリアルタイムに実行され、外部サーバーへデータを送信・保存することはありません。