- 締切済み
行列について教えてください。
今、行列についての勉強をしているのですが、次のような内容がわからないので、わかる範囲で教えてください。また、それが記載されていて詳しく書かれている本やホームページを紹介してください。このことで少し困っています。 (1)QZ法 (2)コレスキー分解 (3)LU分解 (3)ハウスホルダ法 (4)ヘッセンベルグ行列 (5)一般(化)固有値問題 (5)については「数値解析」の本にも少し載っていたのですが、私には理解ができませんでした。それぞれについての導き方やどういうのもの(意味があるのか)なのか。また、どういうときに用いるのかについて教えてください。 それではよろしくお願いします。
- freeman
- お礼率45% (61/133)
- 数学・算数
- 回答数3
- ありがとう数10
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ndfire
- ベストアンサー率0% (0/0)
(2)(3)(4)(5)については、 サイエンス社 「数値計算の基礎と応用」杉浦洋著 に載っています。 (3)については、 岩波書店 理工系数学入門コース8「数値解析」川上一郎著 にあります。 この事項については理解していますので、 読んでわからない点があったら質問してください。 戸川隼人「マトリクスの数値計算」(オーム社) は、この本で推薦されている名著です。 もしかしたら、理解できない原因は 行列について理解が不十分だからかも。(十分だったらごめんなさい。) 「行列についての勉強」というのを見て思いましたが、 どちらかというと数値解析の問題じゃないでしょうか。 固有値問題については、次の本がおすすめです。 岩波書店 理工系の数学入門コース2「行列と1次変換」戸田盛和、浅野功義著 この本については理解していますので、わからないことがあったらどうぞ。
関連するQ&A
- 行列の固有ベクトルの解法
現在行列の固有値と固有ベクトルをもとめるプログラムを作成しています。 手順としては、入力行列をハウスホルダー法により三重対角行列に変換し、その後QR法で対角化を行い固有値を求めます。 固有ベクトルはLU分解を使用して固有値ごとに求めていこうと考えました。 現状固有値を求めるプログラムは作成できました(そして正しく求められていることも確認しました)。そして行列のLU分解を行うプログラムまで作成できたのですが、LU分解後の行列から固有ベクトルを求める方法がわかりません。 詳しく説明します Ax = λx を (A - Iλ)x = 0 として、この(A - Iλ)をLU分解しました。 すると式は LUx = 0 となり 最終的に Ux = 0 をとく問題になります。 ここで行列Uは上三角行列なので、1次の連立方程式を解くように、行列Uの右下の要素を使って計算を始めていくのですが、自分がなにか勘違いをしているのだと思うのですがこの方法で計算すると固有ベクトルが全て0になってしまいます。 行列U x 0 | 2 3 4 5 | |x1| = |0| | 0 4 2 9 | |x2| = |0| | 0 0 7 5 | |x3| = |0| | 0 0 0 8 | |x4| = |0| このような図式になり、固有ベクトルであるxを求めていくのですが、x4から順にもとめても0にしかならないんです。 下記のサイトを参考に学んでいたんですが、この部分が分からずにいます。 http://hooktail.org/computer/index.php?KL%C5%B8%B3%AB2 どこを勘違いしているんでしょうか? アドバイスをお願いします。
- ベストアンサー
- 数学・算数
- 不完全LU分解前処理つき双共役勾配法についておしえてください。
連立方程式を解くために不完全LU分解前処理つき双共役勾配法 について勉強しています。 前処理の際に、行列Aを不完全LU分解しその逆行列(LU)^(-1)というのを使用します。LU分解まではできたのですが、この逆行列は普通にLU分解+直接法という形でもとめるのでしょうか。だとしたら、直接法をつかっていてあまり高速化が期待できない様な気がしました。 不完全コレスキー分解つき共役勾配法(ICCG)のときは、不完全コレスキー分解後、間接的にAの逆行列をもとめて使用する方法がありましたのでなにかいい方法があるのかと思い質問しました。 はじめてのプログラミングで見当違いなことをいっているかもしれませんがよろしくおねがいします。
- ベストアンサー
- 数学・算数
- すみません。行列式のLU分解について質問なんですが。
すみません。行列式のLU分解について質問なんですが。 ある行列式AをLU分解するまではいいのですが、その後、どうやって固有値を求めたらいいのでしょうか? QR分解で求める方法の方が効率が良いのはわかっているのですが、気になるので、教えてもらえたら幸いです。 あと、あまり数学が得意でないので、噛み砕いて説明していただけるとほんと助かります。
- ベストアンサー
- 数学・算数
- 行列演算: 固有ベクトルの解法
現在、対称行列の固有値、固有ベクトルを求めるプログラムを作成し、つい最近完成しました。 しかし、とても使い物にならないプログラムになってしまいました。 理由はとても遅いのです。 解法の手順として、まず固有値を求めてから固有ベクトルを求めるようと考え、入力の対称行列をHouseHolder法により三重対角行列に変換し、それをQR法により対角化してまず固有値を求めました。 固有値を求めることができたので、次に固有ベクトルを求めます。手順として、固有値ごとに入力対称行列の対角成分から固有値を減算した行列をLU分解し、連立一次方程式を解くように固有ベクトルを求めていきます。 この一連の手順で、対称行列の固有値、固有ベクトルを求めることができたのですが、とても時間がかかってしまいます。 ただし、対称行列の固有値を求めるまでの時間はとても高速です。 500×500の行列の固有値、固有ベクトルを求めるのに30分はかかってしまいますが、その中で固有値を求める時間は2秒しかかかりません。 つまり今固有値がわかっている状態で、固有ベクトルを高速に求めたいと考えています。 なにか高速に固有ベクトルを求める方法(アルゴリズム)はあるでしょうか?
- ベストアンサー
- 数学・算数
- コレスキー分解
現在、数学で固有値問題などを勉強しています。様々な参考書を借りて勉強しているのですが具体的な計算例がほとんど載っていないため理解できません。コレスキー分解というものでつまずいていますので質問します。対称行列においてCC'=Aのように上三角行列の転置行列である下三角行列C'とCの積に分解することをコレスキー分解というそうです。 例 4 2 2 A= 2 5 3 という行列をコレスキー分解すると 2 3 11 2 0 0 2 1 1 C'= 1 2 0 C= 0 2 1 となるのはどのような計算をしている 1 1 3 0 0 3 のですか。 CかC'のどちらかが求められればもう一方が求まるぐらいしか分かりません。方針でも構いませんので教えてください、お願いします。
- ベストアンサー
- 数学・算数
- (非)対称行列の実固有値をすべて求めたい
1000次元程度の行列の実固有値を数値的にすべて求めたいのですが、 いい方法はあるでしょうか? 行列に特に対称性は仮定しません。 通常はQR法+ハウスホルダー変換を使うと思います。 しかし、以下のページ http://www.ma.is.saga-u.ac.jp/minamoto/book/book8/program/chap9/program94.c のコードで実行して見ましたが、虚数解を含むような場合には 計算が終了しないようです。
- ベストアンサー
- 数学・算数
- 行列の積の固有値
「nxn正則行列A,B,X=ABに関して,AとBの固有値と固有ベクトルが分かっているときに,Xの固有値と固有ベクトルを求めよ.」 という問題が解けません.どなたかお分かりになる方いらっしゃいますでしょうか? 補足 難しさは変わらないと思うのですが,Aは上三角行列,Bは下三角行列,X,A,Bは確率行列(全ての行を足すと(1,1,...,1)となる)という条件がありました. ですので,X,A,Bはそれぞれ固有値1を持つというのは分かります.この条件を使わないほうがいいのですが,使った場合でもありがたいです. なお,反復法などを用いて数値計算的に解きたいのではなくて,解析的にビシッと解きたいので,よろしくお願いします. ヤフー知恵袋のほうでも質問させていただいたのですが,有効な解が得られれませんでした. 教科書や,問題集の練習問題などではなく私が個人的に解きたい問題です.
- 締切済み
- 数学・算数