Ax = bを解くための行列なしのメソッドの前提条件


9

Ax = bを解く必要がありますが、それがスパースであっても、問題の行列係数を格納するとメモリが大量に消費されることを理解しています。そこで、同じ係数が行列に多く現れるので、独自のプライベートストレージスキームを使用できるように(そして、キャッシュ効率を向上させることができる)、行列なしの方法の使用を検討しています。

そのような行列のない線形演算子のインターフェイスを提供するpetscを見ていますが、私が実際に理解していないのは、前処理がどのようにpetscによって計算されるかです。それとも、独自のプレコンディショナーを用意する必要がありますか もしそうなら、行列のない線形演算子から前提条件子を構築するために利用可能なツールまたはレシピはありますか?

私の演算子に関する詳細情報:非対称であり、斜めに支配的ではありませんが、いくつかの側波帯が支配的です(ただし、斜めにバンド化されていません)

回答:


7

独自のプレコンディショナーをロールする必要があります。マトリックスを知っていれば、たとえば、SSORプレコンディショナーのようなものを実装することはそれほど難しくありません。問題について他に何か知っている場合、たとえば、解がより粗いメッシュで十分に近似できるPDEからのものである場合、問題をより粗いメッシュに制限し、そこで解決し、元のソリューションに戻します。制限と延長は、行列のない操作として実装できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.