特異値計算ツールの使い方
特異値計算ツール(Singular Value Calculator)を使用すると、任意の行列の特異値を数クリックで簡単に抽出できます。行列のサイズ(行数・列数)を設定して要素を入力するだけで、最大の特異値から順に並べた結果と計算過程が表示されます。
- 行列サイズの指定 – 行数と列数(各1〜5)を選択します。
- 行列 A の入力 – 各セルに実数を入力します。
- 特異値の確認 – 特異値計算ツールが σ₁ ≥ σ₂ ≥ … ≥ σₖ (ただし k = min(m,n))の順に特異値を一覧表示します。
- スペクトルノルムの確認 – 最大特異値 σ₁ は行列の 2-ノルム(スペクトルノルム)と等しくなります。
- 計算手順のレビュー – 行列 A から AᵀA の生成、固有値の算出、特異値への変換ステップを追跡できます。
数式と理論 - 特異値分解(SVD)と特異値の求め方
特異値計算ツールは、固有値を用いた以下の数式に基づいて特異値を計算しています。
σᵢ = √λᵢ(AᵀA), λᵢ ≥ 0
ここで λ₁ ≥ λ₂ ≥ … は AᵀA (または m < n の場合は AAᵀ)の固有値です。
| 記号 | 意味 |
|---|---|
| A | 入力された m×n の実数行列 |
| Aᵀ | 行列 A の転置行列 |
| AᵀA | n×n の対称半正定値グラム行列 |
| λᵢ | AᵀA の固有値 |
| σᵢ | 行列 A の特異値(σᵢ = √λᵢ) |
| k | min(m,n);算出される特異値の個数 |
なぜ AᵀA を使うのか? 行列 AᵀA は常に対称かつ半正定値行列となるため、その固有値はすべて実数かつ非負(0以上)になります。固有値の正の平方根がまさに行列 A の特異値となります。特異値計算ツールでは、Wilkinsonシフトを適用したJacobi QRアルゴリズムを用いて固有値を効率的かつ安定的に求めています。
重要な関係式・特性:
||A||₂ = σ₁(スペクトルノルム / 2-ノルムは最大特異値に等しい)||A||F = √(σ₁² + σ₂² + … + σₖ²)(フロベニウスノルム)rank(A) = 0 でない特異値の個数(行列の階数・ランク)κ(A) = σ₁ / σₖ(正方行列の条件数)
前提条件と計算限界
丸め誤差によって発生する可能性のある微小な負の固有値(−10⁻⁹ 未満)は、平方根をとる前に自動的に 0 へクランプ(固定)処理されます。本特異値計算ツールは最大 5×5 までの行列に対応しています。さらに大規模な行列のSVD計算を行う場合は、Python(NumPy / SciPy)やMATLABなどのプログラミングライブラリのご利用を推奨します。
特異値計算ツールの活用事例
特異値計算ツールは、線形代数学の学習だけでなく、データサイエンスや工学の様々な分野で役立ちます。
- 条件数の評価 – 最大特異値を最小特異値で割ることで、連立一次方程式の数値的感度(条件数)を判定できます。
- 行列のランク(階数)判定 – ゼロでない特異値の個数を数えることで、行列のランクを正確に把握できます。
- 主成分分析(PCA)の理解 – 主成分分析における各主成分の分散は特異値の自乗に比例します。特異値の大きさを比較することで情報量の割合を確認できます。
- データ圧縮・低ランク近似 – 大きい特異値のみを残して小さな特異値を切り捨てることで、画像の圧縮やデータの次元削減を行えます。
- 制御工学 – ハンケル特異値などを求めることで、複雑なシステムの次数の低減(モデル低減)に活用されます。
- 機械学習・統計学 – 特異値が0に近い値を持つか確認することで、特徴量行列における多重共線性(コリニアリティ)の検知に役立ちます。
特異値計算ツールで特異値を求めた後は、どの特異値が支配的かを分析し、各種計算やモデル化における誤差の評価に活用してください。