![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?3dd5154)
連立方程式を解くために不完全LU分解前処理つき双共役勾配法
について勉強しています。
前処理の際に、行列Aを不完全LU分解しその逆行列(LU)^(-1)というのを使用します。LU分解まではできたのですが、この逆行列は普通にLU分解+直接法という形でもとめるのでしょうか。だとしたら、直接法をつかっていてあまり高速化が期待できない様な気がしました。
不完全コレスキー分解つき共役勾配法(ICCG)のときは、不完全コレスキー分解後、間接的にAの逆行列をもとめて使用する方法がありましたのでなにかいい方法があるのかと思い質問しました。
はじめてのプログラミングで見当違いなことをいっているかもしれませんがよろしくおねがいします。
No.4
- 回答日時:
小国力先生の『行列計算ソフトウェア―WS、スーパーコン、並列計算機』が手元にあれば、p.88-89の
4.3.3不完全これスキー分解と不完全LU分解
を見てください。
No.3
- 回答日時:
#2です。
(L U)^(-1)を左からかける、と言うことは、L^(-1)を左からかけ、更にU^(-1)を左からかける。ということはお分かりでしょうか?
Lは下三角行列ですから、逆行列をかけるためにいちいち逆行列の成分を求めなくても、良いことはおわかりでしょうか?(本質的にガウスの消去法の後半でもあり、LU分解の本質でもあるのですが…。未知ベクトルの第一成分はLの第11成分で定数項の第1成分を割れば良いです。未知ベクトルの第二成分は第一成分が分かれば計算できます。以下同様)
Uの逆行列も同様です。
更に言うと、(L U)^(-1)Aをいかに簡略化するかがプログラミング上のポイントの一つですから、丁寧な本であれば、書かれているはずです。
小国力編著、『行列計算ソフトウェア―WS、スーパーコン、並列計算機』、丸善
渡部力,小国力, 名取亮 (監修)、 『Fortran77による数値計算ソフトウェア 』、丸善
などでは、きちんと書かれていて、しかもFortranとはいえソースコードも載っていますから参考になると思います。
古い本しか紹介できず申し訳ありません。最近の動向は追っかけていないので…
この回答への補足
ご丁寧な解説ありがとうございます。
まさに、私の質問は、
「更に言うと、(L U)^(-1)Aをいかに簡略化するかがプログラミング上のポイントの一つ」の部分です。
小国力先生の『行列計算ソフトウェア―WS、スーパーコン、並列計算機』を借りてきました。たとえば 10,5,2 ILUBCGでも
10.5.4ILUCGSでも手順1、手順2で 不完全LU分解して(LU)^(-1)
をかけているような記述しかみあたりません。
私の持っているテキストと同じ書き方しかないように思えます。
(きっと私が見落としているだけだと思います)
すみませんが、どこに記述されているか教えてください。
よろしくお願いします。
No.2
- 回答日時:
ICCGと同様にすれば、反復法に持ち込めます。
と言うより、反復法に持ち込めるように、完全に分解しないので不完全分解と言うのですが…。
この回答への補足
すみません。私の舌足らずな(間違い)の文のせいでどうやら
質問の真意がお伝えできていないみたいです。
元の文で「LU分解まではできたのですが」というのは「不完全LU
分解はできたと」いう意味で、DreaMMaster様のおっしゃる
「反復法に持ち込めるように、完全に分解しないので不完全分解」
の意味は理解できております。
私がICCGと同じようにできないと思っているのは
ICCGでは( L D L^(T) )^(-1) r というものを求める必要に対して
わざわざ( L D L^(T) )^(-1)を求めないで( L D L^(T) )^(-1) r
を一気にもとめているのに対し
不完全LU分解つきの双共役勾配法や自乗共役勾配法では
(L U)^(-1)(b-Ax)や (L U)^(-1)A など (L U)^(-1)を
つかう式が違った形で出てきていて、これには(L U)^(-1)
自体を求める必要があるのかという点です。
しかし、(L U)^(-1)をもとめてから(L U)^(-1)(b-Ax)や (L U)^(-1)A
を求める演算は結構時間ががかりそうなので疑問に思い質問しました。
よろしくお願いします。
No.1
- 回答日時:
「不完全LU分解」は知りませんけど、ともかくLU分解をした、つまり下三角行列Lと上三角行列Uとの積の形に分解したのだとします。
面倒なので逆行列を*で表すことにすると、(LU)* = U* L*
であり、L*は下三角行列、U*は上三角行列。
LとL*がどっちも下三角行列であることを利用するとL*は簡単に計算できます。というのは、
L L* = E (単位行列)
だから、
E[j,j]=L[j,j] L*[j,j] = 1
他の項は全部0なんで、これだけになっちゃう。で、L*[j,j] が決まった。
さて、
E[j,j-1] = L[j,j-1] L*[j-1,j-1] + L[j,j] L*[j,j-1]=0
であるから、L*[j,j-1]が決まった。
という調子です。
U*も同様。
この回答への補足
ご丁寧な解説どうもありがとうございます。
逆行列の求め方はよくわかりました。
でも、前処理としてわざわざこれで逆行列を求めた後、
この逆行列を何度もかける演算をして真の逆行列を求めるのでは
かえって遅くなってしまうようなきがします。
実際やってみると速いんでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 一般的な行列の逆行列に関する質問 3 2022/04/21 14:53
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- 数学 数値計算は 2 2022/11/05 16:09
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- 数学 『4色問題③』 2 2022/11/14 00:31
- 英語 知覚動詞に続く原型不定詞・分詞の用法について 9 2022/10/03 15:03
- 政治 共産党の理屈では、自衛隊は9条に違反している。憲法9条は絶対に守らなければならない。よって自衛隊は解 17 2022/10/27 12:52
- 数学 dx/dt=x-2y +e^t dy/dt=-3x +2y+1 初期値[1,0] [x,y] この連 3 2023/05/15 18:23
- 英語 I didn't understand the reason why he gave me. 私は彼 1 2022/12/09 22:55
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・【大喜利】【投稿~12/6】 西暦2100年、小学生のなりたい職業ランキング
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・遅刻の「言い訳」選手権
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
matlabで条件をみたしたデータ...
-
【数値解析】行列の可約、既約...
-
線形代数です。 正方行列A,BがA...
-
数学「行列」の実生活への応用
-
拡散方程式の陰解法
-
行列式計算で答が二通りでてしまう
-
Uとその転置行列の積について
-
零行列 O のことも 零因子 と呼...
-
det(-A) = (-1)^n detA
-
逆行列(AB)^-1について
-
ansatzとは
-
統計数学の問題でノルム1に基準...
-
直交補空間の問題が分かりませ...
-
主成分分析について
-
複素数を含む行列の逆行列は存...
-
行列の指数関数について
-
4次正方行列式の計算
-
行列を分割するメリットを教え...
-
Aはn次正方行列で、どんなn次...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
線形代数です。 正方行列A,BがA...
-
matlabで条件をみたしたデータ...
-
基本行列の積
-
単因子の計算問題
-
行列の消去法のコツなど教えて...
-
数学「行列」の実生活への応用
-
【数値解析】行列の可約、既約...
-
逆行列(AB)^-1について
-
回転行列の4行4列の意味について
-
行列と行列式の違いは?
-
行列の平方根?のようなもの
-
統計数学の問題でノルム1に基準...
-
5次の行列式の解き方(固有多項...
-
掃き出し法は、行の基本変形と...
-
分散共分散行列の逆行列
-
複素数を含む行列の逆行列は存...
-
[☆急いでます!!☆] 基本変形の解...
-
行列式計算で答が二通りでてしまう
-
diag(-1,1)
おすすめ情報