- Runge-Kutta
-
Die s-stufigen Runge-Kutta-Verfahren (nach Carl Runge und Martin Wilhelm Kutta) sind Einschrittverfahren zur näherungsweisen Lösung von Anfangswertproblemen in der numerischen Mathematik. Wenn vom Runge-Kutta-Verfahren gesprochen wird, ist oft das populäre klassische Runge-Kutta-Verfahren gemeint. Dieses bildet jedoch nur einen Spezialfall dieser Familie von Verfahren.
Inhaltsverzeichnis
Allgemeine Formulierung
Gegeben sei ein Anfangswertproblem
mit exakter Lösung y(x). Die exakte Lösung kann im Allgemeinen nicht angegeben werden, weshalb man sich mit einer Näherung y(i) an diskreten Stellen x(i) begnügt. Es gibt verschiedene Methoden zur Berechnung dieser Näherung, z.B. Einschrittverfahren oder Mehrschrittverfahren.
Die s-stufigen Runge-Kutta-Verfahren sind Einschrittverfahren der Art:
h bezeichnet die Schrittweite zwischen den aufeinanderfolgenden Stützstellen x(i) und x(i+1). Die Koeffizienten bj sind charakteristisch für das jeweilige Verfahren. Die Koeffizienten kj bezeichnet man als Zwischenschritte. Sie werden bei jedem Berechnungsschritt neu berechnet:
mit
und
Die cj und ajl sind weitere für das Verfahren charakteristische Koeffizienten. Die Anzahl der Stufen s gibt an, wie viele Funktionsaufrufe pro Schritt benötigt werden.
Im Allgemeinen ist die Rekursionsformel zur Bestimmung der Zwischenschritte implizit. Gilt aber ajl = 0 für alle so ist das Verfahren explizit.
Die Steuerung der Schrittweite h ist auch von besonderem Interesse. Man kann sich leicht vorstellen, dass die Funktion in Bereichen, in denen nur geringe Änderungen zwischen y(i + 1) und y(i) vorliegen, mit weniger Rechenschritten auskommt, als in solchen, wo schnelle Änderungen vorliegen.
Beispiel
Ein Beispiel ist das dreistufige Runge-Kutta-Verfahren: mit den Zwischenstufen
Runge-Kutta-Tableau
Man kann die charakteristischen Koeffizienten cj, bj, ajl übersichtlich im sogenannten Runge-Kutta-Tableau (auch Butcher-Schema, -Tableau oder engl. Butcher array genannt) anordnen. Hierbei ist die Matrix A bei einem expliziten Verfahren eine strikte untere Dreiecksmatrix.
Konsistenzordnung und Konvergenzordnung
Eine wichtige Eigenschaft zum Vergleich von Verfahren ist die Konsistenzordnung, die auf dem Begriff des lokalen Diskretisierungsfehlers τ beruht. Ein Einschrittverfahren heißt konsistent von der Ordnung p (hat Konsistenzordnung p), falls gilt: (Zur Notation, siehe Landau-Symbole)
Je nach Definition des Diskretisierungsfehlers kann allerdings auch gefordert sein. Beide Definitionen sind sinnvoll und haben in verschiedenen Bereichen ihre Vorteile.
Ist definiert, so muss gelten. Wird hingegen τ = yi + 1 − y(xi + 1) definiert, so muss gelten.
Dabei ist yi + 1 die numerische Lösung nach einem Schritt und y(xi + 1) die exakte Lösung. Die Konsistenzordnung kann durch Taylorentwicklung von τ, oder durch Taylorentwicklung der exakten und numerischen Lösung bestimmt werden. Allgemein gilt:
- Konsistenzordnung p und Stabilität Konvergenzordnung p
Bei Einschrittverfahren, wie den Runge-Kutta-Verfahren gilt sogar, sofern f und die Verfahrensvorschrift Lipschitz-stetig sind:
- Konsistenzordnung p Konvergenzordnung p
Aus der Konsistenzbedingung (z.B. das Verfahren soll Ordnung 4 haben) ergeben sich Konsistenzgleichungen (engl. conditions) für die Koeffizienten des Runge-Kutta-Verfahrens. Die Gleichungen und ihre Anzahl können mit Hilfe von Taylorentwicklung oder der Theorie der Butcher-Bäume ermittelt werden. Mit zunehmender Ordnung wächst die Zahl der zu lösenden nicht-linearen Konsistenzgleichungen schnell an. Das Aufstellen der Konsistenzgleichungen ist bereits nicht einfach; kann jedoch mit Hilfe der Butcher-Bäume von Computeralgebrasystemen erledigt werden. Das Lösen ist allerdings noch schwieriger und bedarf Erfahrung und Fingerspitzengefühl, um „gute“ Koeffizienten zu erhalten.
Im allgemeinen kann ein explizites s-stufiges Runge-Kutta-Verfahren höchstens Konvergenzordnung s haben, dagegen ein implizites idealerweise Konvergenzordnung 2s.
Explizite Verfahren haben den Vorteil, dass die zu lösenden Gleichungssysteme wesentlich einfacher sind, da sie immer durch sukzessives Einsetzen lösbar sind. Daher kommen Implizite Runge-Kutta-Verfahren meist nur bei steifen Differentialgleichungen oder Differentiell-algebraischen Gleichungen zum Einsatz.
Um die Genauigkeit eines Ergebnisses zu verbessern gibt es im Grunde zwei Möglichkeiten.
- Man kann die Schrittweite verkleinern, das heißt man erhöht die Anzahl der Diskretisierungspunkte.
- Man kann Verfahren höherer Konvergenzordnung wählen
Welche Strategie die bessere ist, hängt von der konkreten Problemstellung ab, die Erhöhung der Konvergenzordnung ist allerdings nur bis zu einer bestimmten Grenze sinnvoll, da
- die Anzahl der zu lösenden Bestimmungsgleichungen exponentiell mit der Ordnung des Verfahrens wächst.
- Wegen der Butcher-Schranken die Stufenzahl s schneller wächst als die Ordnung p.
Beispiele
Das explizite Euler-Verfahren (Ordnung 1):
Das Heun-Verfahren (Ordnung 2):
Das Runge-Kutta-Verfahren der Ordnung 2:
Das Runge-Kutta-Verfahren der Ordnung 3 (vgl. Simpsonregel):
Das Heun-Verfahren 3. Ordnung:
Das klassische Runge-Kutta-Verfahren (Ordnung 4):
Das implizite Trapez-Verfahren der Ordnung 2:
Literatur
- J. C. Butcher: The Numerical Analysis of Ordinary Differential Equations: Runge-Kutta and General Linear Methods, 1987.
- E. Fehlberg: Klassische Runge-Kutta Formeln 5. und 7. Ordnung mit Schrittweitenkontrolle. Computing, 4(2), 93-106, 1969.
- Lambert Numerical Methods for Ordinary Differential Systems, The Initial Value Problem, 1991.
- Sofroniou Symbolic Derivation of Runge-Kutta Methods, 1994.
- M. Hermann: Numerik gewöhnlicher Differentialgleichungen, Anfangs- und Randwertprobleme. München und Wien: Oldenbourg, 2004. ISBN 3-486-27606-9
- Folkmar Bornemann Runge-Kutta Methods, Trees, and Maple Selçuk J. Appl. Math. 2, pp. 3-15 (2001). Version using Mathematica: E-print arXiv:math.NA/0211049
- Peter Deuflhard, Folkmar Bornemann: Numerische Mathematik 2. ISBN 3-11-017181-3
- Ernst Hairer, Gerhard Wanner: Solving Ordinary Differential Equations 1. Nonstiff Problems ISBN 3-540-56670-8
- P. Albrecht: The Runge-Kutta Theory in a Nutshell, SIAM J. Numer. Anal.33, 1712 - 1735, 1996.
Wikimedia Foundation.