Wie ist Krylov-beschleunigtes Multigrid (mit MG als Vorkonditionierer) motiviert?

13

Multigrid (MG) kann verwendet werden, um ein lineares System zu lösen, indem eine anfängliche Schätzung x 0 erstellt und das Folgende für i = 0 , 1 ... bis zur Konvergenz wiederholt wird :EINx=bx0ich=0,1 ..

  1. Berechnen Sie den Rest rich=b-EINxich
  2. Anwenden einer Mehrgitter - Zyklus eine Näherung zu erhalten , wobei A e i = r i .ΔxicheichEINeich=rich
  3. Aktualisiere xich+1xich+Δxich

Der Mehrgitterzyklus ist eine Folge von Glättungs-, Interpolations-, Restriktions- und exakten Grobgitterlösungsoperationen, die auf angewendet werden , um Δ x i zu erzeugen . Dies ist typischerweise ein V-Zyklus oder ein W-Zyklus. Dies ist eine lineare Operation , so dass wir schreiben Δ x i = B r i .richΔxichΔxich=Brich

Man kann diesen Prozess als vorkonditionierte Richardson-Iteration interpretieren. Das heißt, wir aktualisieren .xich+1xich+Brich

Die Richardson-Iteration ist eine prototypische Krylov-Subraummethode, die die Verwendung von Mehrgitterzyklen vorschlägt, um andere Krylov-Subraummethoden vorzubereiten. Dies wird manchmal als "Beschleunigen" eines Multigrids mit einer Krylov-Methode bezeichnet oder kann alternativ als Wahl eines Vorkonditionierers für eine Krylov-Methode angesehen werden.

Eine andere Möglichkeit, den obigen Algorithmus zu erweitern, ist die Verwendung von FMG (Full Multigrid). In dieser Antwort finden Sie eine kurze Beschreibung.

In welchen Situationen ist MG mit Krylov-Beschleunigung MG oder FMG vorzuziehen?

Patrick Sanan
quelle
2
(F) MG ist sehr empfindlich, wenn ein Modus durch die Glättungs- oder Zweistufenkorrektur nicht richtig gedämpft wird, hängt das Ganze. Die Krylov-Methode kann helfen, diese problematischen Modi zu dämpfen. So weit ich weiß, ist es hauptsächlich durch Robustheit motiviert.
Chris

Antworten:

10

In einigen Fällen liefert (F) MG einen Algorithmus mit optimalen Eigenschaften. Beispielsweise kann eine richtig eingestellte FMG einige elliptische Probleme in einer kleinen Anzahl von "Arbeitseinheiten" lösen, wobei eine Arbeitseinheit als der Rechenaufwand definiert wird, der erforderlich ist, um das Problem selbst auszudrücken - in diesem Fall die Operationen zur Bildung des Rests auf dem feinsten Raster. Dies ist ein so effizienter (daher schwer zu übertreffender) Algorithmus, dass er die Grundlage für einen HPC-Benchmark bildet, mit dem die maximale Kapazität eines Supercomputers zur Lösung realistischer physikalischer Probleme ( HPGMG ) gemessen werden kann . Wenn eine solche Methode verfügbar ist, ist es natürlich ratsam, sie anzuwenden.b-EINx

In vielen praktischen Fällen wird jedoch keine optimale oder effektive Mehrgittermethode angewendet. Das kann daran liegen

  • Eine solche Methode ist für das gegebene Problem unbekannt oder nicht verfügbar
  • Smoothers und Intergrid-Operatoren reichen nicht aus, um die Konvergenz der Lehrbücher zu gewährleisten
  • Der Grobgitterlöser ist ungenau

In diesen Fällen kann die Lösung durch einen Fehler verschlechtert werden, der nicht so verringert wird, wie er durch den Mehrgitterzyklus sein sollte. Wenn dieser Fehler jedoch in einem niedrigdimensionalen Unterraum enthalten ist, kann eine Krylov-Methode diesen Fehler in einer kleinen Anzahl von Iterationen lösen und daher nach einer unvollständigen Mehrgitterlösung "aufräumen". Das heißt, wenn einige außerhalb liegende Eigenwerte hat, sollte eine Krylov-Methode in der Lage sein, die entsprechenden Eigenräume zu erfassen.BEIN

Beachten Sie, dass die Wahl einer suboptimalen Methode zu einem viel "günstigeren" Mehrgitterzyklus führen kann, bis zu dem Punkt, an dem sich die Krylov-Beschleunigung auszahlt. Das heißt, es könnte Probleme (und Computersysteme) geben, bei denen der mit Krylov beschleunigte MG den MG übertreffen kann. Ich würde gerne ein konkretes Beispiel dafür finden.

(Dank an @chris oben und Matt Knepley, der einige der oben genannten in einem Tutorial erwähnt hat)

Patrick Sanan
quelle