不完全Cholesky分解 — CAE用語解説
不完全Cholesky分解
先生、不完全コレスキー分解って反復法の前処理で出てきますよね。普通のコレスキー分解と何が違うんですか?
定義
定義を教えてください。
通常のコレスキー分解は対称正定値行列AをLL^Tに完全に分解するけど、不完全コレスキー分解は元の行列のスパースパターンを保ったまま近似的に分解するんだ。フィルインを捨てることで計算コストとメモリを抑えるのが狙い。
フィルインって何ですか?
元々ゼロだった位置に分解の過程で非ゼロが現れること。大規模問題だとフィルインが膨大になって直接法が破綻する。不完全分解はこれを無視するから疎行列のまま前処理行列が作れるんだ。
CAEにおける位置づけ
前処理としてどのくらい効果があるんですか?
CG法(共役勾配法)の前処理に不完全コレスキーを使うと、ICCG法と呼ばれる。100万自由度の構造解析で前処理なしだと数千回の反復が必要な問題が、ICCGなら数百回で収束することもある。実務では定番の組み合わせだよ。
前処理のレベルとかも調整できるんですか?
IC(0)はフィルインを全く許さない最もシンプルなもの。IC(1), IC(2)と上げるとフィルインを一部許容して前処理の質が上がる代わりにメモリが増える。問題の規模と収束性を見ながら調整するのが現場のやり方だね。
関連用語
関連する用語も押さえたいです。
前処理で反復回数がそんなに変わるとは驚きです。ICCG法、覚えておきます。
大規模解析では前処理の選び方が計算時間を左右するからね。ソルバーのログで反復回数を見る癖をつけると、チューニングの勘が養えるよ。
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
不完全Cholesky分解の実務で感じる課題を教えてください
Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告