共役勾配がGMRESよりもはるかにうまく機能する問題


17

共役勾配がGMRESメソッドよりもはるかに優れている場合に興味があります。

一般に、CGは多くのSPD(対称正定値)の場合に望ましい選択であり、必要なストレージが少なく、CGの収束率の理論的限界がそのGMRESの2倍であるためです。そのような率が実際に観察される問題はありますか?GMRESが同じ数のspmv(スパースマトリックスベクトル乗算)でCGより優れているか、CGに匹敵する場合の特性はありますか。

回答:


8

CGの利点のl2は、残差多項式の離散l 2ノルムを最小化しないことです(GMRESの機能)。それは代わりにマトリックス誘導ノルムを最小化するものであり、多くの場合、このマトリックス誘導ノルムは物理的問題の離散化のエネルギーノルムに非常に近いものになります。物理学から。

GMRESで実際にこの種の効果を達成できるのは、質量行列のコレスキー分解を実行するのに費用がかかりすぎない場合、内積を希望する内積に強制することができます。

そして、CGがGMRESと非常に異なるパフォーマンスを期待する必要がある場合は、ノルムの等価性に含まれる定数が非常に異なる場合です。これは、実際には、GMRESで使用される離散l2ノルムがすべての自由度を等しいものとして扱う高次のスペクトルガラーキン法で当てはまります。そのノルムと、質量行列によって与えられる連続的なノルムとの間のノルム等価定数はL2非常に大きくなる可能性があります。


ここで、高次の方法とCG、GMRES、およびGMRES + Choleskyトリックの収束履歴の例を示したいと思いました。しかし、残念ながら、2次問題のために手元にある唯一のコードは非対称多様性のDGです。該当せず、これを実際に見てみたいと思います。
-Reid.Atcheson

3
あなたの答えは重要なものに到達すると思いますが、明確にして欲しいと思います。特に、質問は純粋な線形代数の質問であり、あなたの答えは、数値PDEからの物理的ノルムと質量行列などについて語っています。同じクリロフ空間内のさまざまな基準を最小化すると、さまざまな反復がどのように発生するかについて、正確に言えますか?
アンドリューT.バーカー

数値の例は別として、異なるノルムがどのように実質的に異なる答えをもたらすかを説明する慎重な理論的研究がまだあるとは思わない。私が思う問題は、結果が漸近線を中心に展開することであり、固定線形システムの場合、理論上の結果は同一のモジュロ定数係数になります。そこにいくつかの理論的研究がある場合、私はそれらを見てみたいのですが、私の部門の数値線形代数の専門家の何人かに尋ねたところ、異なる規範で何が起こるかを示す正確な理論的分析はまだないようです。
-Reid.Atcheson

4

一般に、SPDマトリックスのGMRESとCGの間に大きな違いはないと思います。

レッツは、私たちが解決していると言うと対称正定と開始推測X 0 = 0 CGとGMRESとし、生成する反復処理し、それらを呼び出すX 、C 、Kのx グラムK。両方の反復法は、同じクリロフ空間K k = { b A b A 2 b }からx kを構築します。彼らはわずかに異なる方法でそうします。Aバツ=bAバツ0=0バツkcバツkgバツkKk={bAbA2b}

CGは、Aによって誘導されるエネルギーノルムの誤差を最小化することによって特徴付けられ、 A e c ke c k= A x x c kx x CのK= Y KA X - Y X -ekc=バツバツkcA

Aekcekc=Aバツバツkcバツバツkc=yKAバツyバツy

代わりGMRES最小限の残留、離散にそう2、ノルムように のR KRはK= B - A X 、G 、KB - A X 、G 、K= Y KB - Y B - Y rk=bAバツkg2

rkrk=bAバツkgbAバツkg=yKbAybAy
今誤差方程式用い我々でき最小限として、書き込みGMRES RはKRはK= A 、E 、G 、KA 、E 、G 、K= A 2 E 、G 、KE 、G 、K これはSPD行列Aにのみ当てはまることを強調したいと思います。次に、Aに関する誤差を最小化するCGがありますAek=rk
rkrk=AekgAekg=A2ekgekg
AAノルムに関する誤差を最小化するノルムとGMRES 。直感的に非常に異なる振る舞いをさせたい場合は、これら2つの標準が非常に異なるようなAが必要になります。ただし、SPD Aの場合、これらの規範はまったく同じように動作します。A2AA

クリロフ空間との最初の反復では、さらに多くの特定を取得するために、、CG及びGMRES両方の形式の近似を構築しますX 1 = α Bを。CGはα = b b を選択します K1={b}バツ1=αb およびGMRESはα=Abbを選択します

α=bbAbb
場合Aは、エントリを持つ対角であるε111...、B=11000...次にとしてε0最初のCGステップは、第1 GMRESとして2倍になりますステップ。おそらくAbを構築できます
α=AbbA2bb
Aϵ111b=11000ϵ0Ab そのため、この2つの違いの要素は反復を通して継続しますが、それよりも悪化することはないでしょう。

2
b=1ϵ00|b|=1+ϵbTAb=2ϵbTA2b=ϵ1+ϵ2αCG=ϵ1+12ϵ1αGMRES=21+ϵ22ϵ1

3

一つのことは、CGを適用できるところならどこでもGMRESは決して使用されないということです。これら2つを比較することは理にかなっていないと思います。SPDマトリックスの場合、ストレージ要件と上記の理由から、CGが間違いなく勝者です。興味深い質問は、CGの拡張を見つけることです。これは、CGを適用できない問題に適用できます。GMRESのように線形に増加するメモリを必要としないBiCG-stabのようなメソッドがありますが、収束はGMRESほどではありません(GMRESを再起動しても)。


2
メモリの節約、安定性、および収束の面でGMRESとBiCG間のギャップを埋めるIDRスキームがあります。 ta.twi.tudelft.nl/nw/users/gijzen/IDR.html 私はわからないんだけど、私はGMRESことに同意しますCGを使用できる場合は使用しないでください。エネルギーノルムを誘導する行列のコレスキー因数分解を行うことができる場合、対称ランチョス反復にそれを入力して、CGに非常に近い動作をする3項反復解を取得できます。もちろん、CGは簡単なオプションですが、オプションは利用可能です:)
Reid.Atcheson

2
たとえば、Krylovスムーザーを使用する場合、GMRESは、周波数が高くなる傾向のあるより大きな固有値をターゲットとする、より弱いノルムを使用するため、好ましいと思われます。
ジェドブラウン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.