正方行列 A に対し、Ax = λx となる数 λ とベクトル x(0 ベクトルでない)を見いだすこと。λ., x をそれぞれ A の固有値と固有ベクトルという。
行列が n 行 n 列なら一般に n 通りの 固有値と固有ベクトルの組がある。固有値 λ は一般には複素数であるが、特別の場合は実数となる。
上のこと確認をしてみて下さい(EXCEL の MMULT 関数を使用)。=> 演習
行列
1 0.446 -0.56 0.446 1 -0.239 -0.56 -0.239 1
固有値 1.843 0.768 0.389 0.647 -0.094 0.757 固有ベクトル 0.504 0.797 -0.331 -0.572 0.596 0.563
極めて多い。以下はその限られた一部:
i) 解析幾何学の座標回転で
ii) 線形連立微分方程式(例:リチャードソンのモデル)で
iii) 統計的多変量解析において分散最小(大 )化で
iv) オペレーションズ・リサーチの2次計画法で
v) 解析力学(天文学、線形振動など)で
vi) 確率過程のマルコフ連鎖で
vii) 経済学の産業連関分析で(フロベニウス根 ;制作中)
viii) その他
固有値問題は空間直交軸の回転
(「ゲーデル・エッシャー・バッハ」の表紙)
下記の Excel ファイルを一旦ハードディスクにダウンロードし(Internet Explorer の場合、右クリックして「対象をファイルに保存...」)、エクスプローラなどから普通のファイルとして開いてください。このブラウザ上で下記をクリックしてもファイル自体は開けますが、VBA が正常に動作しません。
eigen-vba.xls (Excel 5.0 〜 2002 で利用可) 02/07/27 改訂
1 上記 Excel ファイルを開きます。
2 任意のワークシートに、固有値・固有ベクトルを計算したい対称行列を入力します。
3 [ツール]−[マクロ]−[マクロ...] で「マクロ」ダイアログボックスを開きます。
(Excel 2000 の場合。他のバージョンでのマクロの実行の仕方は、各自オンラインヘルプを参照してください。)
4 <実行> ボタンを押すと「固有値・固有ベクトルを計算します」というタイトルのフォームが表示されます(*1)。以下フォームの指示にしたがってください。(*1) セキュリティ設定によってはマクロが実行できない場合があります。その場合はオンラインヘルプの指示に従って、セキュリティレベルを下げて実行してください(このマクロはウィルスチェックをかけており、安全です)。なお、マクロを実行し終わった後は元のセキュリティレベルに戻しておくことを推奨します。
たとえば Excel 2000 では、[ツール]−[マクロ]−[セキュリティ...]をクリックし、[セキュリティレベル]を「中」または「低」にします。そして一旦 Excel を終了した上で、再びファイルを開いてください。
固有値・固有ベクトルを計算するアルゴリズムについて興味がある方は、プログラムのソースコードをご覧ください。[ツール]−[マクロ]−[Visual Basic Editor](Excel 2000 の場合)を開いて表示される「Module1」の「koyuu」プロシージャが、アルゴリズムの核心です。
※ 岡山大学田中豊、垂水共之、長畑秀和氏提供