目次
行列の固有値、固有ベクトルを計算する
行列の固有値と固有ベクトルを計算するオンラインツールです。行列を入力して、[計算実行]ボタンを押すと計算結果が表示されます。実数、複素数どちらにも対応しています。
使い方
1.[データファイル読込]ボタンで行列のデータファイルを読み込むか、行列データをテキストエリアにコピー、または直接行列を入力してください。
2.[計算実行]ボタンを押すと計算が実行され、計算結果が表示されます。
入力データ
入力データはテキスト形式で、N行✕N列の正方行列です。各要素は空白またはカンマで区切られているものとします。要素は実数、複素数のどちらにも対応しています。入力は半角で行ってください。
1 2 3
4 -5 6
7 8 -9
1, 2, 3, 4
5, 6+3i, 7, 8
9, 1, 2, 3+2i
-4+5i, 6, 7, -8
[データファイル読込]ボタンで行列のデータファイルを読み込むか、行列データをテキストエリアにコピー、または直接行列を入力してください。
複素数の入力例
数 | 入力形式 |
---|---|
$4+5i$ | 4+5i |
$-3.5-2.4i$ | -3.5-2.4i |
$-i$ | -i |
$1.2\times10^{-2}+3.7\times10^2 i$ | 1.2e-2+3.7e2i |
結果
結果データ
計算結果がテキストエリアに出力されます。N✕Nの正方行列の場合、固有値、固有ベクトルはN個表示されます。
※固有ベクトルは、各ベクトルの最後の成分が1になるように正規化して表示しています。
結果データ保存: 表示されている結果データが、eigenvalue.txt というファイル名で保存されます。
計算方法
固有値(QR法)
固有値は、QR法(原点シフト、デフレーション付き)により計算しています。入力された行列は、ヘッセンベルグ行列(Hessenberg matrix)に変換した後QR法で計算しています。
QR法は行列 $A$ のQR分解を繰り返すことにより、固有値を求める方法です。収束を早めるため、ここでは原点シフト付きQR法を用いています。
$$A_k - \mu_k I = Q_k R_k$$
$$A_{k+1} = R_k Q_k + \mu_k I $$
$k$:反復回数、$\mu_k$:行列 $A_k$ の右下の2✕2行列の固有値のうち、$A_k$ の右下角の成分に近い固有値(Wilkinsonシフト)。
これを反復すると行列 $A_k$ の対角成分が固有値に収束します。
さらに計算速度を早めるため、固有値が一つ見つかると行列のサイズを小さくして計算するデフレーションを行っています。
固有ベクトル(逆反復法)
固有ベクトルは逆反復法により求めています。
$$(A-\mu I) \vec{x}_k = \vec{x}_{k-1}$$
$\mu$:QR法で求めた近似固有値、$\vec{x}$:固有ベクトル、$k$:反復回数。
反復を進めると $\vec{x}_k$ は固有ベクトルに収束します。