Next: 3 行列の等比級数
Up: 2003年度情報処理II 第12回 数学のためのコンピューター (4)
Previous: 1 はじめに
一つの正方行列 の冪 で作られる行列の列、いわば行列の等比数列
の極限はどうなるだろうか?
既に学んだかもしれないが (行列の Jordan 標準形の簡単な応用である)、
ここでは実験で試してみよう。
isc-xas05% octave |
|
octave:1> n=5 |
|
octave:2> a=rand(n,n) |
|
octave:3> a*a |
|
octave:4> a^2 |
|
octave:5> a^100 |
|
octave:6> a^1000 |
|
|
Octave では、行列 a の n 乗は
a^n で計算できることがわかるが、
この例では n の増加と共に急速に大きくなり、
あっと言う間にオーバーフローすることが分かる。
種明かしをすると、
行列の固有値の絶対値 (これをスペクトル半径と呼ぶ) を調べると
事情が見えてくる。
octave:7> eig(a) |
|
octave:8> r=max(abs(eig(a))) |
|
octave:9> a=a/r |
|
octave:10> max(abs(eig(a))) |
|
octave:11> a^100 |
|
octave:12> a^1000 |
|
|
Octave では max(abs(eig(a))) で a の
スペクトル半径が計算できる。
a をそのスペクトル半径 r で割ることで、
スペクトル半径を に縮めることができる。
a^100,
a^1000 ともにオーバーフローしていないが、
それだけでなく何かが起こっていることに気がつくだろうか?
(どうしてそうなるのか考えてみよう。)
今度はスペクトル半径が より小さい行列の冪を調べてみよう。
octave:13> a=0.9*a |
|
octave:14> a^100 |
|
octave:15> a^1000 |
|
octave:16> a^10000 |
|
|
Next: 3 行列の等比級数
Up: 2003年度情報処理II 第12回 数学のためのコンピューター (4)
Previous: 1 はじめに
Masashi Katsurada
平成15年7月3日