エクセルで操る!べき乗法による固有値計算、固有ベクトル計算

        

Excelを用いた科学技術計算が第2版になりました 30年10月

amazon:Excelで操る! ここまでできる科学技術計算 第2版

楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ]

固有値と固有ベクトル


 n×n行列Aに対して

  Ax = λx  x0    ・・・ (1)

を満たす時、λをAの固有値、xを固有ベクトルという。


たった1日で即戦力になるExcelの教科書

入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス)


べき乗法による固有値計算、固有ベクトル計算


 べき乗法は、絶対値が最大の固有値とその固有ベクトルのみを算出する。

行列Aの固有値(λi)と対応する規格化された固有ベクトル(xi)より、任意のベクトル(u0)は次のようにあらわせる。

  u0 = Σaixi    ・・・(2)

(2)式の両辺に行列Aを掛けると次式になる。

  u1=Au0=Σaiλixi  ・・・(3)

次に、u1ベクトルの大きさを1(規格化)し、次式のように反復計算を行う。

  u2=Au1    ・・・(4)

反復回数が十分大きいrに達した時、次式となる。

                                  n
  ur = Au(r-1) = Aru0 = Σaiλirxi = λ1r[a1x1 + Σai(λi/λ1)rxi]   ・・・(5)
                                  i=2
 λ1が絶対値最大の固有値の場合、rを十分大きくすると(λi/λ1)r は0に近づく。よって(5)式は(6)式と置ける。

  ur ≒ λ1rx1   ・・・(6)

 すなわち、urを規格化すれば、固有ベクトルとなる。

 また、固有値は次式となる。

 λ1 = (ur,ur+1)/(ur,ur) = (ur,ur+1)   ・・・(7)



Excelを用いたべき乗法の1回目の計算


 図1にExcelを用いたべき乗法の1回目の計算例題を示す。行列の次数は3で、初期ベクトルu0=(1,0,0)とする。


  図1 Excelを用いたべき乗法の1回目の計算例題



べき乗法のVBA


 べき乗法の繰返し計算を行うためにVBAを作成した。そのソースコードを示す。


  図2 べき乗法のVBA





エクセルで操る!べき乗法による固有値、固有ベクトル計算

 
 ボタンにマクロを登録し、計算実行を行った。計算結果より、固有値は6.828427 となる。
固有ベクトルは規格化されたベクトルとなる。


 図3 ヤコビ法による固有値計算、固有ベクトル計算結果



エクセルで操る!ベアストウ法による固有値計算、固有ベクトル計算

エクセルで操る!ヤコビ法による固有値計算、固有ベクトル計算

 





EXCELを用いた科学技術計算

EXCELのソルバーを用いた科学技術計算



〒673−0036 兵庫県明石市松江62−14
(有)ゴッドフット企画



感想をお聞かせ下さい


Copyright (C) GODFOOT 2013 All Rights Reserved.