• ベストアンサー

固有ベクトル

n×n行の固有値をλ1,λ2,.......λnとします. このとき,任意に選んだ固有値λpに対する固有ベクトルを求めたいと思いますが,何かアルゴリズムとかありますか?n×nだと,固有方程式にはちょっと・・・

質問者が選んだベストアンサー

  • ベストアンサー
noname#221368
noname#221368
回答No.2

 固有値がわかっている場合、ふつうは原点移動付逆ベキ乗法を用いると思います。  行列Aが固有値λpとλpに属する固有ベクトルXpを持つ場合、行列A-λpEは、固有値0に固有ベクトルXpを持つので、   (A-λpE)Xn+1=Xn を解きます。Eは単位行列です。解けるの?という話がありますが、これは繰り返し計算を前提にしています。例えば全ての固有空間をカバーするように、初期ベクトルをX0=(1,1,・・・,1)と選び、(A-λpE)X1=X0をふつうの方法で解きます。  このとき数値的にはdet(A-λpE)は非常に0になりやすいです。そこで、掃き出し法等の計算過程で対角成分が本当に0になったら、それを10^(-10)とかに置き換える安全装置付でこれを行います。結果として得られるX1は、固有ベクトルXpの成分が、他の成分と比較して異常に大きいベクトルとなります。  繰り返し計算が発散しないように、X1を規格化し、X2を同じ方法で求めます。これを何度か繰り返せば、Xpの成分成分以外はほとんど0になるベクトルが得られ、適当な判定基準で計算を打ち切ります。  面倒なのは、重複固有値の場合ですが、このあたりの対処法は、伊里正夫の本などで調べて下さい。この人は、日本の線形代数の大御所です。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

固有値がわかってるんだったら消去法で求まるような気がする.

関連するQ&A