Eine Sache, die CG zu seinen Gunsten hat, ist, dass sie die diskrete l2 -Norm für ihre Restpolynome nicht minimiert (was GMRES tut). Stattdessen wird eine matrixinduzierte Norm minimiert, und sehr oft kommt diese matrixinduzierte Norm der Energienorm für die Diskretisierung physikalischer Probleme sehr nahe, und häufig ist dies eine viel vernünftigere Norm, um Fehler zu messen, da Konservierungseigenschaften auftreten aus der Physik.
Sie können diese Art von Effekt auch mit GMRES erzielen, wenn die Cholesky-Faktorisierung einer Massenmatrix nicht zu teuer ist. Sie können die inneren Produkte dazu zwingen, die inneren Energieprodukte zu sein, die Sie möchten.
Die Fälle, in denen man erwarten sollte, dass CG sich sehr von GMRES unterscheidet, sind dann, wenn die in der Normäquivalenz implizierten Konstanten sehr unterschiedlich sind. Dies kann zum Beispiel bei einer Spektral-Galerkin-Methode hoher Ordnung der Fall sein, bei der die in GMRES verwendete diskrete l2 -Norm alle Freiheitsgrade als gleich behandelt, wenn in Wirklichkeit Polynomgradienten in der Nähe der Grenzen am schärfsten sind (daher Knoten-Clustering), und so weiter Normäquivalenzkonstanten zwischen dieser Norm und der durch die Massenmatrix gegebenen kontinuierlichen L2 -Norm können sehr groß sein.
Ich vermute, dass es im Allgemeinen keinen großen Unterschied zwischen GMRES und CG für eine SPD-Matrix gibt.
Nehmen wir an, wir lösen mit A symmetrisch positiv definit und die Anfangsschätzung x 0 = 0 und erzeugen Iterationen mit CG und GMRES, nennen sie x c k und x g k . Beide iterativen Methoden bauen x k aus demselben Krylov-Raum auf K k = { b , A b , A 2 b , … } . Sie werden dies auf etwas andere Weise tun.A x = b EIN x0= 0 xck xGk xk Kk= { b , A b , A2b , … }
GMRES minimiert stattdessen den Rest und tut dies in der diskreten Norm, so dass Mit der wir nun auch GMRES als Minimierung schreiben. wobei ich betonen möchte, dass dies nur für eine SPD-Matrix . Dann haben wir CG, um den Fehler in Bezug auf die Norm zu minimieren, und GMRES, um den Fehler in Bezug auf die minimieren ≤ 2 ( r k , r k ) = ( b - A x g k , b - A x g k ) = min y ≤ K ( b - A y , b - A y ) . A e k = r k ( r k ,rk= b - A xGk ℓ2
Um noch genauer zu sein, konstruieren sowohl CG als auch GMRES in der ersten Iteration mit dem Krylov-Raum eine Approximation der Form . CG wählt und GMRES wählt Wenn diagonal mit Einträgen und dann ist der erste CG-Schritt wird doppelt so groß wie der erste GMRES-Schritt. Wahrscheinlich können Sie und konstruierenx 1 = α b α = ( b , b )K1={b} x1=αb α=(Ab,b)
quelle
Eine Sache ist, dass GMRES niemals dort eingesetzt wird, wo CG angewendet werden kann. Ich glaube nicht, dass es Sinn macht, diese beiden zu vergleichen. Bei SPD-Matrizen ist CG aufgrund der Speicheranforderungen und der oben genannten Gründe definitiv der Gewinner. Eine interessante Frage wäre, eine Erweiterung von CG zu finden, die auf Probleme anwendbar ist, bei denen CG nicht angewendet werden kann. Es gibt Methoden wie BiCG-stab, die nicht wie GMRES eine lineare Speichererhöhung erfordern, aber die Konvergenz ist nicht so gut wie bei GMRES (manchmal sogar bei neu gestartetem GMRES).
quelle