ヤコビ法:実対称行列の固有値・固有ベクトルを求める手法
ヤコビ法は、
数値線形代数において実
対称行列の
固有値と固有ベクトルを同時に求めるための反復解法です。
ドイツの
数学者
カール・グスタフ・ヤコブ・ヤコビの名前にちなんで名付けられましたが、初期にはフォン・ノイマンの方法とも呼ばれていました。
ヤコビ法は、
行列の非対角要素を徐々に減らし、最終的に対角
行列に収束させることで固有値を得るアルゴリズムです。
ヤコビ法は、ヤコビ回転と呼ばれる直交変換を反復的に適用することで、実
対称行列 A を対角
行列 D に変換します。D の対角要素が A の固有値となり、変換過程で得られる直交
行列の積の列ベクトルが A の固有ベクトルになります。
具体的には、以下の手順で計算が行われます。
1.
初期化: 与えられた実
対称行列 A を入力します。
2.
回転行列の計算:
行列 A の非対角要素の中で絶対値が最大となる要素 a
pq を選択します。この要素を用いて、a
pq をゼロにするようなヤコビ回転
行列 U を計算します。回転角 θ は以下の式で決定されます。
tan(2θ) = -2a
pq / (a
pp - a
qq)
ここで、a
pp と a
qq は A の対角要素です。
3.
行列の変換: U を用いて、
行列 A を相似変換します。新しい
行列 A' = U
TAU を計算します。この変換によって、a
pq はゼロになり、他の非対角要素は変化します。
4.
反復: 手順2と3を、非対角要素が十分に小さくなるまで繰り返します。収束判定には、非対角要素の絶対値の最大値が事前に設定された閾値を下回るかどうかを確認します。
5.
固有値と固有ベクトルの取得: 収束した後の
行列 A の対角要素が固有値、変換過程で得られたヤコビ回転
行列の積が固有ベクトルとなります。
古典的な
ヤコビ法に加え、計算効率を高めるための様々な変種が提案されています。主な変種には以下のものがあります。
しきい値ヤコビ法: すべての非対角要素をゼロにしようとせず、ある閾値以下の要素は無視して計算量を削減します。
特別巡回ヤコビ法: 2次収束性を持ち、より高速に収束します。
並列化ヤコビ法: 計算の並列化を行い、計算時間を短縮します。
ブロック化ヤコビ法:
行列をブロックに分割して計算することで、メモリアクセス効率を高めます。
ヤコビ法の意義と現代における位置づけ
現代では、
QR法などのより高速で精度の高い固有値計算アルゴリズムが存在します。しかし、これらのアルゴリズムは固有ベクトルを同時に求めることができないため、逆
べき乗法など別のアルゴリズムを併用する必要があります。
一方、
ヤコビ法は
固有値と固有ベクトルを同時に、しかも終盤では2次収束という優れた性質を持ちます。そのため、特に密な実
対称行列の固有値・固有ベクトル計算においては、現在でも有用な手法として活用されています。また、同様の手法は複素
エルミート行列にも適用可能です。
ヤコビ法は、その単純さと分かりやすさから、
数値線形代数の基礎的なアルゴリズムとして教育的にも重要です。 現代の高性能な計算機環境では、計算速度の点で他のアルゴリズムに劣る場合もありますが、そのシンプルさから理解しやすく、教育目的にも最適な手法です。