固有値・固有ベクトル

1,436

 

 固有値と固有ベクトルは、行列(線形変換)がベクトルをそのままの方向で伸縮させるときの「伸縮率」と「その方向」を表す基本概念で、データの主な傾向や要因(例:主成分分析)を捉える際にも利用されます。

 この記事では、固有値と固有ベクトルの算出方法を以下の概略手順に沿って解説しています。
①元行列Aからハウスホルダー変換によりヘッセンベルグ行列Hを計算
Hを用いて、QR法により固有値λを算出(ただし、主成分分析のように対称行列となる場合は、Wilkinsonシフトを適用)
③求めた固有値から、逆反復法により固有ベクトルを算出

 なお、内容は、実正方行列で実数解を持つ場合に絞っています。

 

 

 

<参考URL>

【科学技術計算講座ミニ】QR法で行列の固有値を求める②
【科学技術計算講座ミニ】逆反復法で行列の固有ベクトルを求める

固有値と固有ベクトルの計算 (検算に使用)
行列固有値、固有ベクトル計算ツール (検算に使用)

 


 

 


固有値・固有ベクトル計算Excel

 n次正方行列(現状10次まで)の、固有値と固有ベクトルを算出するExcelシートです(実数のみが対象)。

 正方行列のセルに行列要素を入力してから、計算ボタンを押すことで実行されます。
 (未使用のセルは空白にして下さい)

 固有値は、降順ソートした結果です。
 (チェック用に、元行列の行列式|A|と固有値の総積Πλの値を計算させています)

 固有ベクトルは、正規化スイッチの「なし」/「最大値」/「最終値」設定により正規化されたものが出力されます。
 固有値が重解を持つ場合、対応する固有ベクトルは(特別な場合を除き)無数に存在するため、計算上求まった値だけが出力されます(したがって、他の計算サイトの値と異なる場合があります)。

 データ表示ボタンにより、計算途中に作成されるH/Q/R行列なども表示します。

 行列の演算(積、転置、逆行列、行列式、単位行列取得)には、ワークシート関数をフル活用しています。
 マクロソースは公開していますので、ご自由にアレンジしてみて下さい。
 なお、行と列を手動で拡張すれば、より高次の行列の計算も可能です。

 revC以降、ActiveXに関するMicrosoftのポリシー変更に対応するため、マクロ実行ボタンの表示方法を変更しています。

★このExcelはMicrosoft365で作成していますので、2019以前のバージョンのExcelでは正常に動作しない可能性があるため、ご注意願います。

 

 


2025.7.18 更新 (revD→revD1)

DL解除コード:a611