【数値計算】fortranでLU分解その1

ただいまレポートのためにLU分解の並列化について勉強しているのですが、そもそもLU分解ってなんだ?ってところからのスタートだったのでメモ代わりに解説しておきます。

LU分解とは?

連立方程式をプログラムを使って解く手法のひとつです。

 

行列Aを下三角行列Lと上三角行列Uに分解し、xを求めていきます。

つまり、

 

ということですね。

LU分解部分を数式化する

LU分解のプログラムを実装するために、LU分解の流れを確認しておきましょう。

まず、Uを求めることについて考えます。a,l,uの関係は上三角領域において、下のように表せます。

次に、Lを求めることについて考えます。a,l,uの関係は上三角領域において、下のように表せます。

いきなり記号ばっか出てきて分からなくなった!って人は試しに2,3個書き出してみるといいと思います!自分も導出するときはそうしました。

さて、これでプログラムを組む準備は整いました。

疲れたので今日はここまで。数式の挿入ばかりで早くも心が折れそうです。

LU分解のプログラム(fortran)

 


これで行列ALUに分解できました。

これで解を求める方法はまた今度。