固有ベクトルを求める その2
研究室で考えた話を反芻すべく記録していくこのコーナー,第二回.
反復法を利用した固有ベクトルの計算方法は前回の話で良いとして, それで求めた固有ベクトルの直交性に問題があることがある.
これは,まず一つに(と言っても今のところこれしか知らない…)固有値同士が近接している場合に起こる.
逆反復法で数値的に求めるときに問題が起こる例として, 行列Aに固有値λ1とλ2があり, λ2はλ1とほとんど同じとする(数学的にはλ1≠λ2だが数値的にλ1≒λ2). まずA1 = (λ1E – A)の絶対値最小固有値に対応する固有ベクトルを求め, 次にA2 = (λ2E – A)のそれを求める. この時,λ1とλ2は数値的にほぼ同じ値なので A1≒A2であり, それぞれの反復結果はどちらも似たようなベクトルになってしまう.
異なる固有値に属する固有ベクトルは直交すると考えて処理しているのに, ここで同じベクトルが出てきてしまい,後で困ったことになったりするわけです.
ではどうするかというと.似た値の固有値同士を適当な誤差評価の元に同じ値とみなして (仮にN個の固有値を同値とみなしたとする), N本の直交するベクトルを初期値として用意して,反復法を適用する. これらの直交ベクトルはイテレーションの度にある方向に傾くけれど, その都度直交化を施すことで直交性を確保できる,と.
直交化付き同時冪乗法は似たような考え方だったと思う.
Comments are closed
Comments are currently closed on this entry.