Was sind die relativen Vorteile der Verwendung von Adams-Moulton gegenüber dem Adams-Bashforth-Algorithmus?

14

Ich löse ein System von zwei gekoppelten PDEs in zwei räumlichen Dimensionen und in der Zeit rechnerisch. Da die Funktionsauswertungen teuer sind, würde ich gerne eine mehrstufige Methode verwenden (initialisiert mit Runge-Kutta 4-5).

Die Adams-Bashforth-Methode unter Verwendung von fünf vorherigen Funktionsbewertungen hat einen globalen Fehler von (dies ist der Fall, wenn in dem Wikipedia-Artikel, auf den unten verwiesen wird), und erfordert eine Funktionsbewertung (pro PDE) pro Schritt.O(h5)s=5

Das Adams-Moulton-Verfahren erfordert andererseits zwei Funktionsbewertungen pro Schritt: eine für den Vorhersageschritt und eine andere für den Korrekturschritt. Nochmals, wenn fünf Funktionsbewertungen verwendet werden, ist der globale Fehler . ( im Wikipedia-Artikel)O(h5)s=4

Was ist die Begründung für die Verwendung von Adams-Moulton gegenüber Adams-Bashforth? Es liegt ein Fehler in der gleichen Reihenfolge vor, bei der doppelten Anzahl von Funktionsauswertungen. Intuitiv macht es Sinn, dass eine Predictor-Corrector-Methode günstig sein sollte, aber kann jemand dies quantitativ erklären?

Referenz: http://en.wikipedia.org/wiki/Linear_multistep_method#Adams.E2.80.93Bashforth_methods

SimonSciComp
quelle
Diese Frage ist falsch . Sie beziehen sich auf Adams-Moulton, eine vollständig implizite Methode, aber anschließend diskutieren Sie die tatsächliche Verwendung einer Predictor-Corrector-Methode. Sie sind nicht die gleiche Sache überhaupt .
David Ketcheson
@ David Die Adams-Moulton-Methode, auf die ich mich beziehe (manchmal Adams-Bashforth-Moulton genannt), ist eine Predictor-Corrector-Methode. Der Prädiktorschritt wird mit Adams-Bashforth durchgeführt. Das Ergebnis der Vorhersage wird dann im Adams-Moulton-Schritt verwendet, um es explizit zu machen. Ich kann Ihnen weitere Einzelheiten mitteilen, wenn dies unklar ist.
SimonSciComp
Alles klar. Aber damit ist Adams-Moulton nicht gemeint. Sie müssen die richtigen Namen verwenden.
David Ketcheson

Antworten:

12

Die Adams-Moulton-Methode ist wesentlich stabiler. Die Analogie, in der mir der Unterschied beigebracht wurde, ist die gleiche wie Extrapolation und Interpolation. Die Interpolation ist numerisch relativ sicher. Extrapolation kann explodieren, wenn Sie eine Asymptote oder eine andere ungerade Funktion haben.

Zum Beispiel das Lösen der Ode

y(t)=y(t) mity(0)=1

3. Ordnung Adams-Bashforth Methode wird tatsächlich mehr instabil , da die Zeitschritt reduziert wird. Durch Hinzufügen des Korrekturschritts vermeiden Sie einen Großteil dieser Instabilität. Eine grafische Darstellung der Stabilitätsbereiche für die beiden Methoden finden Sie hier:

Bildbeschreibung hier eingeben

Handlung aus The Art of Scientific Computing von Gregory Baker und Edward Overman. ist der Eigenwert Ihrer ODE, ist der Zeitschritt. Beachten Sie, dass komplex sein kann, sodass sich die Diagramme in der komplexen Ebene befinden. Befindet sich im stabilen Raum, konvergiert die Ode. Wenn es draußen ist, wird die zeitliche Integration möglicherweise instabil. Beachten Sie, dass sich aus Stabilitätsgründen alle Eigenwerte Ihrer ODE oder Ihres ODE-Systems innerhalb des stabilen Bereichs befinden müssen.λhλλh

Godric Seher
quelle
Danke, Godric. Können Sie bitte definieren und die Achsen der beiden Diagramme erklären? Ich gehe davon aus, dass die Schrittweite ist. Ich verstehe auch nicht, "die durchgezogene Linie in (b), die die imaginäre Achse ist, ist nicht sichtbar und die Region ist die linke Halbebene." λh
SimonSciComp
@SimonSciComp Ich habe unter der Handlung weitere Erklärungen hinzugefügt. Lassen Sie mich wissen, wenn noch etwas unklar ist.
Godric Seer
Die Adams-Moulton-Methode zweiter Ordnung ist also für alle st stabil , während die Methoden dritter und vierter Ordnung weitere Stabilitätsbeschränkungen aufweisen. Möglicherweise muss ich eine Methode fünfter Ordnung überdenken. λh(λh)<0
SimonSciComp
1
Ich gehe davon aus, dass Ihre Mathematik mit negativem Realteil sagt . In diesem Fall lautet die Antwort ja. Sie möchten wahrscheinlich die Methode mit der höchsten Ordnung verwenden, die Sie können, ohne Ihren Zeitschritt zu stark einzuschränken. λ
Godric Seer