固有値

食玩問題の記事を読んでいたら次のような箇所がありました。

 \left(\begin{matrix}{GC+23}P_5(n)\\P_4(n)\\P_3(n)\\P_2(n)\\P_1(n)\end{matrix}\right)=\frac{1}{5^{n-1}} A^{n-1} \left(\begin{matrix}{GC+23}0\\0\\0\\0\\1 \end{matrix}\right)
ただし
 A=\left(\begin{matrix}{GC+23}5&1&0&0&0\\0&4&2&0&0\\0&0&3&3&0\\0&0&0&2&4\\0&0&0&0&1 \end{matrix}\right)
Aの固有値を調べてみると5,4,3,2,1であることが簡単にわかる。

(参考)mimeTeXによる表記:
tex: \left(\begin{matrix}{GC+23}P_5(n)\\P_4(n)\\P_3(n)\\P_2(n)\\P_1(n)\end{matrix}\right)
=\frac{1}{5^{n-1}} A^{n-1} \left(\begin{matrix}{GC+23}0\\0\\0\\0\\1 \end{matrix}\right)]
tex: A=\left(\begin{matrix}{GC+23}5&1&0&0&0\\0&4&2&0&0\\0&0&3&3&0\\0&0&0&2&4\\0&0&0&0&1 \end{matrix}\right)]


さて、Aの固有値を検証してみます。

   a=:5 5$ 5 1 0 0 0 0 4 2 0 0 0 0 3 3 0 0 0 0 2 4 0 0 0 0 1
   a
5 1 0 0 0
0 4 2 0 0
0 0 3 3 0
0 0 0 2 4
0 0 0 0 1
   lf a
5 4 3 2 1

ここで使った固有値を算出する関数のlfは、以前紹介したル・ヴェリエ、ファデーエフ法(Leverrier-Faddeev Algorithm)です。

char=: 3 : 0
X=.I=.=@i.n=.#y[p=.1
for_k. >:i.n do.
 X=.y +/ . * X
 p=.p,pk=.-k%~+/(<0 1)|:X
 X=.X+pk*I
end.
.p
) lf=:>@{:@p.@char

以上