next up previous
Next: 2.2 行列の等比級数 Up: 2 行列の解析的な性質 Previous: 2 行列の解析的な性質

2.1 行列の等比数列

一つの正方行列 $ A$ の冪 $ A^n$ で作られる行列の列、 いわば行列の等比数列1

$\displaystyle A^0=I, A^1=A, A^2, \cdots, A^n, A^{n+1},\cdots
$

の極限はどうなるでしょうか? 既に学んだかもしれませんが (行列の Jordan 標準形の簡単な応用です)、 ここでは実験で試してみましょう。


注意: 以下の実験では、 乱数行列 rand() を使っているので、 小さい確率で、こちらが想定した状況にならない可能性があります。 桂田のパソコンのスクリーンのようにならない場合は、 a=rand(5,5) からやり直して下さい。

» a=rand(5,5)  
» a*a  
» a^2  
» a^100  
» a^1000  
» a^10000  

MATLAB では、行列 an 乗は a^n で計算できることが分かりますが、 この例では (大抵の行列 a に対して) n の増加と共に急速に大きくなり、 あっと言う間にオーバーフローしてしまいます。

種明かしをすると、 行列の固有値の絶対値 (その最大値をスペクトル半径と呼ぶ) を調べると事情が見えて来ます。

(上に引き続き)  
» eig(a)  
» r=max(abs(eig(a)))  
        (固有値 eigs() の、 絶対値 abs() の、最大値 max())  
» a=a/r  
» max(abs(eig(a)))  
        $ 1$ になるはずです…  
» a^10  
» a^100  
» a^1000  
» a^10000  
        あれ?と思うはずです。  
» for i=1:10  
    a^i  
    end  

MATLAB では max(abs(eig(a)))a の スペクトル半径が計算できます。 a をそのスペクトル半径 r で割ることで、 スペクトル半径を $ 1$ に縮めることができます。 a^100, a^1000 ともにオーバーフローしていないはずですが、 それだけでなく何かが起こっていることに気がつくでしょうか? (どうしてそうなるのか考えてみよう。)

今度はスペクトル半径が $ 1$ より小さい行列の冪を調べてみましょう。

(上に引き続き)  
» a=0.9*a  
» a^10  
» a^100  
» a^1000  
» a^10000  
    0 になるはずです。  

ここで等比数列の極限 $ \dsp\lim_{n\to\infty}r^n$ がどうなるか思い出して、 比較してみて下さい。


next up previous
Next: 2.2 行列の等比級数 Up: 2 行列の解析的な性質 Previous: 2 行列の解析的な性質
桂田 祐史
2012-07-11