ヤコビ法:連立一次方程式と固有値問題への反復解法
ヤコビ法は、線形代数において連立一次方程式や固有値問題を解くための反復解法です。
ドイツの
数学者カール・グスタフ・ヤコブ・ヤコビの名前にちなんで名付けられました。本質的には、複雑な問題をより単純な部分問題に分割し、反復的に解を近似していく手法です。
連立一次方程式への適用
n元連立一次方程式 A
x =
b を考えます。ここで、Aはn次正方
行列、
xは未知ベクトル、
bは既知ベクトルです。ヤコビ法では、Aを上三角
行列U、下三角
行列L、対角
行列Dの和として表現します(A = L + D + U)。この分解を用いて、元の式を変形すると以下のようになります。
D
x =
b - (L + U)
x
この式は、
xの各成分を他の成分を用いて表現できることを意味しています。ヤコビ法では、この式を反復的に用いて解を求めます。k回目の反復で得られた解を
x^(k)とすると、(k+1)回目の解
x^(k+1)は以下のように計算されます。
x^(k+1) = D⁻¹{
b - (L + U)
x^(k)}
ここで、D⁻¹はDの逆
行列です。この反復計算を繰り返すことで、解
xに収束していきます。収束の十分条件は、係数
行列Aが対角優位であることです。つまり、対角成分の絶対値が非対角成分の絶対値の和よりも大きい場合です。
数値解析では、上記のベクトル表記ではなく、各成分ごとの計算式がよく用いられます。i番目の成分xᵢ^(k+1)は以下のように表されます。
xᵢ^(k+1) = (1/aᵢᵢ)(bᵢ - Σⱼ≠ᵢ aᵢⱼxⱼ^(k))
ここで、aᵢⱼはAの(i, j)成分、bᵢは
bのi番目の成分です。この式は、各成分を他の成分のk回目の近似値を用いて計算することを示しています。
ヤコビ法は、各成分の計算が独立しているため、並列計算に適しています。しかし、
ガウス=ザイデル法と比較すると、収束速度が遅いという欠点があります。
具体的な計算例
3元連立一次方程式を例にヤコビ法の計算手順を説明します。
(a₁₁ a₁₂ a₁₃)
(a₂₁ a₂₂ a₂₃)(x₁ x₂ x₃)ᵀ = (b₁ b₂ b₃)ᵀ
(a₃₁ a₃₂ a₃₃)
この方程式をヤコビ法で解く場合、各成分の反復式は以下のように記述できます。
x₁^(k+1) = (b₁ - a₁₂x₂^(k) - a₁₃x₃^(k))/a₁₁
x₂^(k+1) = (b₂ - a₂₁x₁^(k) - a₂₃x₃^(k))/a₂₂
x₃^(k+1) = (b₃ - a₃₁x₁^(k) - a₃₂x₂^(k))/a₃₃
適当な初期値
x^(0)から出発し、これらの式を繰り返し適用することで、解に収束させます。
固有値問題への適用(ヤコビ対角化法)
ヤコビ法は、実
対称[[行列]]の固有値と固有ベクトルを求める際にも用いられます。この場合、ヤコビ
対角化法と呼ばれます。この手法では、
ギブンス回転と呼ばれる直交変換を繰り返し適用することで、
行列を対角
行列に変換します。対角
行列の対角成分が固有値、変換
行列が固有ベクトルとなります。
ギブンス回転は、非対角要素の最大値を0にするような回転変換です。この回転変換を繰り返し適用することで、非対角要素を0に近づけ、最終的に対角
行列を得ます。
まとめ
ヤコビ法は、連立一次方程式と固有値問題の両方で有効な反復解法です。並列計算への適応性が高い一方、収束速度は
ガウス=ザイデル法などに比べて遅い場合もあります。具体的な適用方法は、問題の性質や計算環境によって選択する必要があります。
SOR法など、ヤコビ法の収束性を向上させる手法も存在します。