一つの正方行列 の冪 で作られる行列の列、 いわば行列の等比数列1
の極限はどうなるでしょうか? 既に学んだかもしれませんが (行列の Jordan 標準形の簡単な応用です)、 ここでは実験で試してみましょう。
注意: 以下の実験では、 乱数行列 rand() を使っているので、 小さい確率で、こちらが想定した状況にならない可能性があります。 桂田のパソコンのスクリーンのようにならない場合は、 a=rand(5,5) からやり直して下さい。
|
MATLAB では、行列 a の n 乗は a^n で計算できることが分かりますが、 この例では (大抵の行列 a に対して) n の増加と共に急速に大きくなり、 あっと言う間にオーバーフローしてしまいます。
種明かしをすると、 行列の固有値の絶対値 (その最大値をスペクトル半径と呼ぶ) を調べると事情が見えて来ます。
|
MATLAB では max(abs(eig(a))) で a の スペクトル半径が計算できます。 a をそのスペクトル半径 r で割ることで、 スペクトル半径を に縮めることができます。 a^100, a^1000 ともにオーバーフローしていないはずですが、 それだけでなく何かが起こっていることに気がつくでしょうか? (どうしてそうなるのか考えてみよう。)
今度はスペクトル半径が より小さい行列の冪を調べてみましょう。
|