忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

現在、新しいコメントを受け付けない設定になっています。

固有値を考える~行列の3重対角化とはなんだ?~

3重対角化をすると固有値の計算が早くなるらしい。 
固有値を解くための大まかな流れを描いてみた。

 1.固有値を解きたい行列を用意
           | a11,  a12, a13, a14, a15|
           | a21,  a22, a23, a24, a25|
           | a31,  a32, a33, a34, a35|
           | a41,  a42, a43, a44, a45|
           | a51,  a52, a53, a54, a55|
 
 2.行列を3重対角化(HouseHolder変換を使う)
           | b11, b12,     0,     0,     0|
           | b21, b22, b23,     0,     0|
           |     0, b32, b33, b34,     0|
           |     0,     0, b43, b44, b45|
           |     0,     0,     0, b54, b55|

 3.この変換後の行列を解く(QR法とか、ランチョス法とか)

ここでいつもムズムズしていた。
「そもそも3重対角化って現実世界でいうところの何をしてんの?可視化したい」
これらを大雑把に理解してみる。

・・・色々思い悩んだが、結局以下のアイデアにたどり着いた。
3重対角化行列は、有限要素法(FEM)でいうところの1次元のバネ連結モデルの行列に激似だ。

   1次元のバネ連結モデルのイメージ(X方向のみ動く)
      

   1次元のバネ連結モデルにバネの方程式を適用し、行列で描いたもの
           |  -k1,          k1,            0,            0,     0|    | dx1 |      | f1 |
           |   k1, -(k2+k1),          k2,            0,     0|    | dx2 |      | f2 |
           |     0,          k2, -(k3+k2),          k3,     0| × | dx3 |  =  | f3 |
           |     0,            0,          k3, -(k4+k3),   k4|    | dx4 |      | f4 |
           |     0,            0,            0,          k4,  -k4|    | dx5 |      | f5 |


どうだろう、左側の行列は3重対角化そのまんまではないか!!!
ということで、「3重対角化にする」ということは、「1次元のばね連結モデルに置き換える」と言っていいのでは?

ということは、例え乱雑に繋がったバネモデルでも、固有値は1次元のバネ連結モデルに置き換えられる、と言えるだろう。

   こんな感じの並列部分があるバネモデルでも置き換えられる。
         

「3重対角化」は、複雑なモデルを非常に単純なモデルに置き換えるのが目的なんだな。
少しムズムズが収まった。

今日はここまでで限界だ。ここまで書き進めると別の興味が沸いてくる。
「3重対角化を進める過程と、バネが統合される過程の対応を見たい」
それはきっと私には厳しい。ここまでにする。

拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

プロフィール

HN:
sh
性別:
非公開

P R