大型線形システムの解の反復法を使用して、それが前処理導入することがしばしば重要である、例えば、代わりに解決、ここで左前処理システムのために使用され。通常、必要であり、元のシステムのソリューションと比較して(はるかに)効率的なソリューションまたは計算リソース(メモリストレージなど)の削減の基礎を提供する必要があります(すなわち、場合)。ただし、前提条件を選択するには、どのガイドラインを使用する必要がありますか?特定の問題に対して、実務家はどのようにこれを行いますか?
大型線形システムの解の反復法を使用して、それが前処理導入することがしばしば重要である、例えば、代わりに解決、ここで左前処理システムのために使用され。通常、必要であり、元のシステムのソリューションと比較して(はるかに)効率的なソリューションまたは計算リソース(メモリストレージなど)の削減の基礎を提供する必要があります(すなわち、場合)。ただし、前提条件を選択するには、どのガイドラインを使用する必要がありますか?特定の問題に対して、実務家はどのようにこれを行いますか?
回答:
これは非常に長い治療に値するので、私はもともと答えたくありませんでした。しかし、私は確かに推奨されるアプローチの非常に簡単な概要を与えることができます:
3の例は、ヘルムホルツのラプラシアンバージョンのシフト、およびラプラシアンによる双調和演算子の事前調整に関するXinchao Juの最近の研究です。
他の人は、私が「モノリシック」行列と呼ぶもの、例えばラプラス方程式、ヘルムホルツ方程式などの離散化された形式、またはそれを一般化したい場合はベクトル値弾性方程式。これらのことについて、方程式が楕円の場合、マルチグリッド(代数または幾何学)が勝者であることは明らかです。 「合理的」)。
私にとって大きな啓示は、例えばストークス演算子ように、モノリシックではない問題について何をすべきかでした 。 約15年前に数値解析を開始したとき、人々は同じテクニックを上記のようなマトリックスに適用できると期待していたと思います。研究の方向は、マルチグリッドを直接試すか、SSORの一般化Vankaのようなポイントスムーザー)および同様の方法。しかし、これはうまく機能しないため、色あせています。
マトリックスを構成する個々のブロックを操作し、個々のブロックにプリコンディショナーを再利用するというこのアイデアは、非常に強力であることが証明されており、今日の方程式のプリコンディショニングシステムの考え方が完全に変わりました。もちろん、実際の問題のほとんどは実際には方程式系であるため、これは重要です。
ジャックは前提条件を見つけるための適切な手順を示しました。「何が良い前提条件になるのか?」という質問に答えてみます。操作上の定義は次のとおりです。
ただし、これは前提条件の設計に関する洞察を与えません。ほとんどの前提条件は、演算子スペクトルの操作に基づいています。一般に、固有値がクラスター化されると、Krylovメソッドはより速く収束します。マトリックス反復または有理型関数と線形代数を参照してください。場合によっては、前提条件の結果がほんの数個の一意の固有値であることを証明できます。たとえば、不定線形システムの前提条件に関する注意。
一般的な戦略の例として、マルチグリッドがあります。SORのような緩和的前提条件(ここではスムーザー)は、エラーの高周波成分を除去します。残差が粗いグリッドに投影されると、低周波数のエラー成分が高周波数になり、SORによって再び攻撃される可能性があります。この基本的な戦略は、AMGなどのより複雑なバージョンのMGの基礎となります。一番下で、ソルバーはエラーの最低周波数を正確に解決する必要があることに注意してください。
別の戦略には、小さな部分空間で方程式を解くことが含まれます。これは、Krylovソルバーがまさに行っていることです。最も単純な形式では、これはKaczmarzメソッドまたはAdditive Schwarzメソッドです。ここでの高度な理論の歪みであるDomain Decompositionは、ドメインがかなり正確に解かれていると想定されているため、インターフェイス上のエラーのスペクトル近似に集中しています。