続いて固有ベクトル(x,y)を求めます。λ=3の場合の固有ベクトルと、λ=2の場合の固有ベクトルがあります。λ=3の場合から見ていきましょう。ポイント2で見た(4)式にλ=3を代入します。
行列と(x,y)の積を計算すると以下の連立方程式が立てられます。
この連立方程式は解けません(解が無限にあります)。しかし、値の候補として、x=2,y=−1が挙げられますね。これが固有値λ=3に対する固有ベクトル(2,−1)です。固有ベクトルは方向が同じであれば値はいくらであっても構わないので、上の連立方程式を満たすxとyであれば、いくらであってもいいというわけです。例えば、(4,−2)を固有ベクトルとしても構いません。
もう1つの固有値λ=2に対する固有ベクトルも求めてみましょう。(4)式にλ=2を代入します。
連立方程式は、以下の通りです。
やはりこの連立方程式は解けませんが、x=−1,y=1であれば式が成り立ちます。ということで、固有ベクトルの候補として(−1,1)が挙げられます。
なお、NumPyのlinalg.eig関数やR言語のeigen関数を使えば固有値と固有ベクトルを求めることができますが、それらの関数では、長さが1の固有ベクトルが返されます(ちなみに、Excelには固有値や固有ベクトルを求める関数はありません)。
import numpy as np
x = np.array([[4, 2], [-1, 1]])
print(np.linalg.eig(x))
# 出力例:
# (array([3., 2.]), array([[ 0.89442719, -0.70710678],
# [-0.4472136 , 0.70710678]]))
ポイント2で固有値を求める簡単な方法を紹介するといいました。ただし、2×2行列に限ります。以下の行列Aはこれまでに見てきたものです。
実は、行列の対角成分の和(この値をトレースと呼び、tr Aと表します)は、固有値の和と等しくなっています。2つの固有値をλ1,λ2とすると、この例では、
です。
また、行列式の値は固有値の積に等しくなっています。従って、
です。「足したものと掛けたもの」というのはどこかで見たことがありませんか? そう、以下の二次方程式です。
因数分解すると、xの値(λ1,λ2それぞれの値)が求められます。
Aの例での数値を(5)式に当てはめてみましょう。
となります。因数分解が苦手だ、あるいは簡単にできないといったときには、二次方程式の解の公式を使って直接答えを求められます。手順は簡単です。
の解の公式は以下の通りでした。
ここでは、a=1なので、
だけで済みます。(5)式と(6)式を見比べると、−(λ1+λ2)が、解の公式のbに当たり、λ1λ2が、解の公式のcに当たることが分かります。
なので、
となります。
固有値と固有ベクトルを利用して対角化という操作を行うと、行列のべき乗が超簡単に求められます。その方法と、マルコフ過程の確率を予想する応用例を最後に紹介します。
Copyright© Digital Advantage Corp. All Rights Reserved.