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 :
- Berechnen Sie den Rest
- Anwenden einer Mehrgitter - Zyklus eine Näherung zu erhalten , wobei A e i = r i .
- Aktualisiere
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 .
Man kann diesen Prozess als vorkonditionierte Richardson-Iteration interpretieren. Das heißt, wir aktualisieren .
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?
quelle
Antworten:
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 - A x
In vielen praktischen Fällen wird jedoch keine optimale oder effektive Mehrgittermethode angewendet. Das kann daran liegen
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.B A
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)
quelle