1000次元程度の行列の実固有値を数値的にすべて求めたいのですが、
いい方法はあるでしょうか?
行列に特に対称性は仮定しません。
通常はQR法+ハウスホルダー変換を使うと思います。
しかし、以下のページ
http://www.ma.is.saga-u.ac.jp/minamoto/book/book …
のコードで実行して見ましたが、虚数解を含むような場合には
計算が終了しないようです。
No.1ベストアンサー
- 回答日時:
にいろいろ、解法が書いてあるみたいです。
ただ、質問者さんの引用されてあるプログラムは
C言語による
「数値計算入門」
~ 解法・アルゴリズム・プログラム ~
http://www.saiensu.co.jp/?page=book_details&ISBN …
のものようですが、これは、対称行列でない場合にも、適用出できるのでしょうか?
もともとの原理は、対称行列の場合は固有値は実数で、固有ベクトルが基底になる(つまり直交行列で対角化可能)
ですから、一番大きな固有値でわった行列をかけることで他の固有ベクトルは0に収束するというのが出発点のようですが。
一般の行列は、対角化できるとは限らない、複素行列を使わないといけない。とかあるので、固有値は共役複素数をつかって実数化する云々は、前述の論文には書いてありますが。
この回答への補足
ありがとうございます。
早速読んでみます。
>対称行列でない場合にも、適用出できるのでしょうか?
固有値が全部実数の場合には
事前にハウスホルダー変換することにより
適用できるようです。
念の為、
http://keisan.casio.jp/has10/SpecExec.cgi?path=0 …
と比較して見ましたが、特に問題ありませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 2*2の行列に対して固有値の最大実部を与えるkの値を求めたい 3 2022/11/08 16:26
- 数学 連立微分方程式の解き方について 7 2022/12/16 13:39
- 数学 行列(I-βG)の逆行列が存在することの証明について 1 2023/06/23 01:33
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 列を挿入しても式の一部を固定するには 6 2023/05/31 21:57
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- その他(Microsoft Office) エクセルマクロ オートフィルターでで選択コピー 2 2022/04/18 11:05
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
おすすめ情報
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報