LU分解 — CAE用語解説
LU分解
先生、LU分解って連立方程式を解く直接法ですよね?
定義
定義を教えてください。
LU分解は行列AをL(下三角行列)とU(上三角行列)の積A=LUに分解する手法だ。一度分解すれば、Ax=bの解はLy=bでyを求めてUx=yでxを求めるだけ。前進代入と後退代入で高速に解けるんだよ。
FEMでは直接法としてLU分解が使われてるんですか?
対称正定値の剛性行列にはコレスキー分解(A=LL^T)が使われることが多いけど、非対称系(流体、接触)ではLU分解。MUMPSやPARDISOといった並列直接法ソルバーが有名で、精度が高く収束判定が不要なのがメリットだ。
数値解法における役割
反復法との使い分けはどうしますか?
自由度が数十万以下なら直接法(LU分解)が速くて確実。数百万以上になるとメモリ不足で直接法は破綻するから反復法に切り替える。ただし接触や座屈のような悪条件の問題では、直接法の安定性に頼ることも多いよ。
フィルインの問題があるって聞きました。
そう。元の行列がスパース(ほとんどゼロ)でも、分解の過程で非ゼロ要素が増えるのがフィルイン。これがメモリを圧迫する。リオーダリング(METISやAMDなどの行列並べ替え)でフィルインを最小化するのが直接法の性能チューニングの鍵だよ。
関連用語
関連する用語を教えてください。
直接法は確実だけどメモリが課題、反復法はメモリ効率だけど収束が課題。トレードオフですね。
ソルバーの選択はモデルサイズと問題の性質で自動判断されることも多い。ログでどちらが使われたか確認する癖をつけよう。
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
次世代CAEプロジェクト:開発者と実務者をつなぐ
Project NovaSolverは、LU分解を含む幅広い解析分野において、実務者の知見を最大限に活かせる環境の実現を探求しています。まだ道半ばですが、共に歩んでいただける方を募集しています。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告