一つの正方行列 
 の冪 
 で作られる行列の列、いわば行列の等比数列
の極限はどうなるだろうか? 既に学んだかもしれないが (行列の 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 
 
桂田 祐史 
2017-06-19