Numerik gew¨ ohnlicher Differentialgleichungen Bernd Simeon
Skriptum zur Vorlesung im Wintersemester 2003/04 TU M¨unche...
319 downloads
991 Views
1MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Numerik gew¨ ohnlicher Differentialgleichungen Bernd Simeon
Skriptum zur Vorlesung im Wintersemester 2003/04 TU M¨unchen, Zentrum Mathematik
1. Differentialgleichungsmodelle in Naturwissenschaft und Technik 2. Exkurs in die Theorie gew¨ohnlicher Differentialgleichungen 3. Einschritt- und Extrapolationsverfahren 4. Mehrschrittverfahren 5. Numerik steifer Differentialgleichungen 6. Spezielle Anwendungen und Integratoren 7. Numerische L¨osung von Randwertproblemen Literatur: Deuflhard/Bornemann: Numerische Mathematik II, 3. Auflage; Walter de Gruyter, Berlin 2002 Hairer/Norsett/Wanner: Solving Ordinary Differential Equations I, 2. Auflage, Springer, Heidelberg 1993 Stoer/Bulirsch: Numerische Mathematik II, 4. Auflage, Springer, Berlin 2000 Strehmel/Weiner: Numerik gew¨ohnlicher Differentialgleichungen, Teubner, Stuttgart 1995
Vorwort Dieses Skriptum fasst den Stoff der Vorlesung Numerik gew¨ohnlicher Differentialgleichungen f¨ur Studierende der Mathematik, Technomathematik und Finanzmathematik zusammen. Es setzt die analog aufgebauten Skripten zur Numerischen Mathematik I und II fort und ist wiederum zum aktiven Arbeiten gedacht. Bei der Stoffauswahl liegt der Schwerpunkt auf Einschrittverfahren, wobei die Problematik steifer Differentialgleichungen einen breiten Raum einnimmt. Das Kapitel 6 geht gezielt auf neuere Entwicklungen ein und zeigt aktuelle Forschungsrichtungen auf. M¨unchen/Garching, im Oktober 2003
Bernd Simeon
Kapitel
1
Differentialgleichungsmodelle in Naturwissenschaft und Technik 1 Inhalt dieser Vorlesung ist die numerische L¨osung eines Systems gew¨ohnlicher Differentialgleichungen y 0 (x) = f (x, y(x)) (1.1) bzw. ausgeschrieben in Komponenten y10 (x) = f1 (x, y1 (x), . . . , yn (x)), y20 (x) = f2 (x, y1 (x), . . . , yn (x)), .. .. . . yn0 (x) = fn (x, y1 (x), . . . , yn (x)). Man unterscheidet dabei zwischen Anfangswertproblemen und Randwertproblemen. Bei ersteren fordert man y(x0 ) = y0 an einer Stelle x0 , bei letzteren dagegen r(y(a), y(b)) = 0 mit einer vorgegebenen Funktion r und einem Intervall [a, b]. Bevor wir die Problemklasse na¨her analysieren, wollen wir in diesem Kapitel einige Beispiele aus Naturwissenschaft und Technik kennenlernen. Als 1
erstes wird die chemische Reaktionskinetik behandelt, danach folgt die Mechanik starrer K¨orper, und abschließend werden elektrische Schaltkreise eingefu ¨hrt. In allen drei Beispielen verwendet man mathematische Modelle, um einen realen Vorgang zu beschreiben. Ohne Vereinfachungen und Modellannahmen ist dies im Allgemeinen nicht mo¨glich, doch wird man von einem vernu ¨nftigen Modell verlangen, dass es die interessierenden Ph¨anomene bzw. Effekte hinreichend gut widerspiegelt. 1.1
Chemische Reaktionskinetik
Die Reaktionskinetik beschreibt den zeitlichen Ablauf chemischer Reaktionen, und zwar auf einer Makroebene. Man interessiert sich nicht f u ¨r das Verhalten einzelner Moleku ¨le, sondern fu ¨r Stoffkonzentrationen in einem Reaktionsgef¨aß und nimmt an, dass sie dem Massenwirkungsgesetz (bzw. Vereinfachungen daraus) unterliegen. Betrachten wir dazu zwei Gase A und B unter den Annahmen konstanter Druck, konstantes Volumen und konstante Temperatur. Im Fall einer monomolekularen Reaktion k A −→ B
¨ mit Reaktionsgeschwindigkeit k gilt fu der Konzen¨r die zeitliche Anderung trationen [A] und [B] d ˙ = −k[A], [A] = [A] dt
˙ = k[A] [B]
Die Exponentialfunktion als Lo¨sung beschreibt also den zeitlichen Verlauf ˙ + [B] ˙ = 0 folgt [A] + [B] = konstant, was man als der Reaktion. Wegen [A] Massenerhaltung bezeichnet. Komplexer und in der Anwendung bedeutsamer sind bimolekulare Reaktionen. Das Reaktionsschema lautet hier k
A + B −→ C + D 2
mit Substanzen A, B, C, D. In diesem Fall ergeben sich die Differentialgleichungen fu ¨r die Konzentrationen zu ˙ = −k[A][B], [A] ˙ = k[A][B], [C]
˙ = −k[A][B], [B] ˙ = k[A][B]. [D]
(1.2)
Im allgemeinen Fall liegen insgesamt n Substanzen sowie m Reaktionen zwischen ihnen vor, n X i=1
kj
αij Ai −→
n X
γij Ai ,
j = 1, . . . , m.
i=1
Dabei bezeichnen die ganzen positiven Zahlen αij , γij die Anteile der Substanzen (st¨ochiometrische Konstanten) und die reellen Parameter kj die unterschiedlichen Reaktionsgeschwindigkeiten. Als Differentialgleichung f u ¨r die Konzentration der Substanz Ai hat man dann [A˙ i ] =
m X j=1
(γij − αij )kj
n Y
[Al ]αlj ,
i = 1, . . . , n.
(1.3)
l=1
Die Vorschrift (1.3) stellt ein allgemeines Schema dar, um Differentialgleichungsmodelle fu ¨r chemische Reaktionen zu erzeugen. Charakteristisch ist dabei die polynomiale rechte Seite. Beispiel 1.1: Brusselator (Lefever/Nicolis 1971) ¨ Gegeben sind n = 6 Substanzen A, B, D, E, X, Y und die m = 4 Uberg¨ ange k
1 A −→ X,
k
2 B + X −→ Y + D,
k
k
3 2X + Y −→ 3X,
4 X −→ E
mit Reaktionsgeschwindigkeiten k1 , . . . , k4 . Anwendung der Regeln f¨ ur mono- und bimolekulare Reaktionen ergibt (ohne [·] Notation) A˙ = −k1 A, B˙ = −k2 BX, Y˙ = k2 BX, X˙ = −k4 X,
X˙ = k1 A, X˙ = −k2 BX, D˙ = k2 BX, E˙ = k4 X.
Die dritte Reaktion ist autokatalytisch trimolekular und liefert nach der allgemeinen Regel (1.3) die Beitr¨age X˙ = k3 X 2 Y, Y˙ = −k3 X 2 Y.
3
Mit Sortieren nach Unbekannten und Aufsummieren der rechten Seiten folgen die gekoppelten Differentialgleichungen A˙ = −k1 A, B˙ = −k2 BX, D˙ = k2 BX,
(1.4)
E˙ = k4 X, X˙ = k1 A − k2 BX + k3 X 2 Y − k4 X, Y˙ = k2 BX − k3 X 2 Y. Fazit: Ein nichtlineares Differentialgleichungssystem mit polynomialer rechter Seite! Analytische L¨ osung? Als Vorbereitung f¨ ur die Diskussion als dynamisches System in Kapitel 2 werden die Gleichungen (1.4) vereinfacht: Die Differentialgleichungen f¨ ur D und E werden weggelassen (warum?), A und B werden als konstant angenommen. Wir setzen ki = 1, schreiben x statt t f¨ ur die unabh¨angige Variable sowie y1 (x) := X(x), y2 (x) := Y (x). d d (Notationsvereinbarung: y(t) mit Zeit t : dt y = y, ˙ y(x) mit unabh. Var. x : dx y = y0 ) ¨ Ubrig bleibt das sogenannte Brusselatormodell (woher stammt der Name?) y10 = A + y12 y2 − (B + 1)y1 , y20 = By1 − y12 y2 ,
(1.5)
das eine hochinteressante nichtlineare Dynamik aufweist, s.u.
1.2
Mechanische Mehrk¨ orpersysteme
Fahrzeuge, Roboter, Satelliten und eine Vielzahl weiterer Anwendungen aus der Mechanik lassen sich als sogenannte Mehrk¨orpersysteme modellieren. Man fasst dabei das System auf als einen Verbund starrer, massebehafteter K¨orper, die u ¨ber masselose Verbindungselemente in Wechselwirkung stehen. Verbindungselemente sind Federn, D¨ampfer, Gelenke und Stellglieder (Aktuatoren). Die Bewegung solcher Systeme wurde schon von Euler und Lagrange untersucht, und auf diese beiden beru ¨hmten Mathematiker geht auch der Kalku ¨l zuru ¨ck, mit dem man die zugeh¨origen Differentialgleichungen aufstellt. Sei 4
T (q, q) ˙ die kinetische Energie des Systems in den Koordinaten q und Geschwindigkeiten q, ˙ dann genu ¨gt die Bewegung den Lagrange-Gleichungen 2. Art µ ¶ ∂ d ∂ T − T = Q(q, q, ˙ t) (1.6) dt ∂ q˙ ∂q mit eingepra¨gten und angewandten Kra¨ften Q (Gravitation, Feder-Da¨mpfer, etc). Im Spezialfall eines konservativen Systems folgt Q aus der potentiellen ∂ Energie U (q) u U . (In diesem Fall k¨onnte man auch das dazu ¨ber Q = − ∂q Rd ¨aquivalente Hamiltonprinzip c (T − U )dt → station¨ar heranziehen).
Die Gleichung (1.6) stellt einen formalen Kalku ¨l dar, um die Bewegungsdifferentialgleichungen eines beliebigen Mehrk¨orpersystems (MKS) aufzustellen, und dieser Kalku ¨l kann in Form eines Computeralgebra-Programms implementiert werden. Nichts anderes machen sogenannte MKS-Formalismen, die die Grundlage moderner Simulationspakete bilden. Gew¨ohnlich schreibt man die Bewegungsgleichungen nicht in der Form (1.6) an, sondern als
∂2 M (q)¨ q = f (q, q, ˙ t), M (q) := 2 T (q, q), ˙ (1.7) ∂ q˙ mit Massenmatrix M und Kraftvektor f . Transformation in ein System 1. Ordnung und formale (nicht explizite!) Invertierung der Massenmatrix M fu ¨hren schließlich auf die Differentialgleichung à ! q y˙ = F (t, y), y = , q˙ in der vertrauten Form. Beispiel 1.2: Doppelpendel Das Doppelpendel ist ein System aus zwei starren K¨orpern mit konstantem Querschnitt. Die Modellierung geht in folgenden Schritten vor: Schritt 1: Kinetische Energie des Systems: Z Z 2 2 ˙ ˙ ρ1 (X1 + Y1 )dV1 + 1/2 T = 1/2 V1
5
V2
ρ2 (X˙ 22 + Y˙ 22 )dV2
Inertialsystem
Y
y2
Schwerkraft
φ2 x2
x1
y1
X
φ1
Abbildung 1: Ebenes Doppelpendel mit Koordinatensystemen mit materiellen Punkten (Xi (t), Yi (t)) f¨ ur K¨orper 1 und 2 sowie Massendichten ρi . Potentielle Energie: Z Z ρ2 γ Y2 dV2 . ρ1 γ Y1 dV1 + U= V2
V1
mit Gravitationskonstante γ. Schritt 2: Einf¨ uhrung von Koordinaten zur Lokalisierung der materiellen Punkte: Ã ! Ã ! Ã ! X1 x1 cos φ1 − sin φ1 = A(φ1 ) , A(φ1 ) := Drehmatrix, Y1 y1 sin φ1 cos φ1 und
Ã
X2 Y2
!
= l1
Ã
cos φ1 sin φ1
!
+ A(φ2 )
Ã
x2 y2
!
,
l1 L¨ange Pendel 1.
Daraus die Energien berechnen: ³ ´ T = 1/2 J1 φ˙ 21 + J2 φ˙ 22 + m2 l12 φ˙ 21 + l1 l2 m2 φ˙ 1 φ˙ 2 cos(φ1 − φ2 )
und
mit Massen mi :=
R
U = 1/2 (l1 (m1 + 2m2 )γ sin φ1 + l2 m2 γ sin φ2 ) R ρi dVi und Tr¨ agheitsmomenten Ji := ρi (x2i + yi2 ) dVi , i = 1, 2.
Schritt 3: Bewegungsgleichungen nach Lagrange (1.6) in den Koordinaten q = (φ 1 , φ2 )T . Ausrechnen und Einsetzen ergibt schließlich: ! ! Ã Ã −1/2 l1 (γ(m1 + 2m2 ) cos φ1 + l2 m2 φ˙ 22 sin(φ1 − φ2 )) φ¨1 (1.8) = M (φ1 , φ2 ) −1/2 l2 γm2 cos φ2 + 1/2 l1 l2 m2 φ˙ 21 sin(φ1 − φ2 ) φ¨2
6
mit der Massenmatrix M (φ1 , φ2 ) =
Ã
J1 + m2 l12 1/2 l1 l2 m2 cos(φ1 − φ2 ) 1/2 l1 l2 m2 cos(φ1 − φ2 ) J2
!
.
Als Sonderfall ist die Gleichung eines Einzelpendels J1 φ¨1 = −1/2l1 γ cos φ1
(1.9)
enthalten. Wie kommt man von dieser Gleichung auf die Schwingungsgleichung α ¨ = −ω 2 α?
1.3
Elektrische Schaltkreise
Die Beschreibung einer Schaltung als Netzwerk elektrischer Bauelemente bildet die Grundlage fu ¨r Modellbildung und numerische Simulation hochintegrierter Systeme (Speicherchips und Prozessoren). Auf diese Art und Weise kann das transiente Verhalten der Ausgangssignale als Reaktion auf die Eingangssignale ohne zeit- und konstenintensive experimentelle Untersuchungen analysiert werden. Wie bei der Reaktionskinetik und der Mehrk¨orperdynamik existiert auch hier ein auf physikalischen Gesetzm¨aßigkeiten basierender Kalku ¨l, mit dessen Hilfe die Netzwerkgleichungen aufgestellt werden. Wesentlich dabei sind die Kirchhoffschen Regeln ( ) Teilstr¨ome in jedem Knoten Die Summe der ist Null. Teilspannungen in jeder Masche Zusammen mit den Gleichungen fu ¨r die Bauelemente (Widerst¨ande, Kapazit¨aten, Induktivit¨aten, Transistoren, Strom- und Spannungsquellen) ergeben sich dann die Netzwerkgleichungen, die den gesamten Schaltkreis beschreiben. Die am weitesten verbreitete Technik, die modifizierte Knotenspannungsanalyse (MNA, Modified Nodal Analysis), fu ¨hrt auf Differentialgleichungen der Form C y˙ = f (y, t), 7
wobei die Unbekannten y aus Spannungen und Str¨omen zusammengesetzt sind. Die Eintr¨age in der Matrix C bestehen aus Kapazit¨aten. Falls keine solchen auftreten (und keine Induktivit¨aten), ist C ≡ 0, und die Gleichungen reduzieren sich auf den stationa¨ren Fall. In vielen Anwendungen ist die Matrix C singul¨ar, und es liegt somit keine gew¨ohnliche Differentialgleichung vor, sondern ein sogenanntes differentiellalgebraisches System. Einzelheiten dazu in Kapitel 6. Das folgende Beispiel dagegen enth¨alt neben einer Kapazit¨at noch eine Induktivit¨at und wird durch eine Differentialgleichung 2. Ordnung beschrieben. Beispiel 1.3: Elektrischer Schwingkreis Wir betrachten als einfaches Beispiel einen elektrischen Schwingkreis, der aus einer Spannungsquelle U (t), einer Kapazit¨ at C, einer Induktivit¨at L und einem Widerstand R besteht, siehe Abb. 2.
L U(t)
C R
Abbildung 2: Elektrischer Schwingkreis F¨ ur die Spannungsabf¨ alle UR , UC sowie UL gelten die Gesetze UR = RI,
UC = Q/C,
UL = LI˙
wobei I den fließenden Strom und Q die Ladung der Kapazit¨at bezeichnen. Die Kirchhoffschen Regeln (hier die Maschenregel) ergeben U = UR + UC + UL . Mit I = Q˙ und Einsetzen erh¨ alt man f¨ ur die an der Kapazit¨at anliegende Spannung UC die Differentialgleichung ¨C + RC U˙ C + UC = U. LC U (1.10) Insgesamt also eine u ¨ber U (t) gesteuerte Schwingung, die durch das Produkt RC ged¨ampft wird.
8
Kapitel
2
Exkurs in die Theorie gew¨ohnlicher Differentialgleichungen 2 Dieses Kapitel wiederholt zun¨achst die zentralen Ergebnisse aus der Analysis und besch¨aftigt sich dann vor allem mit der Kondition des Anfangswertproblems. Neben dem Einfluss der Anfangswerte spielt hier auch die Abh¨angigkeit von Parametern eine wichtige Rolle. Schließlich folgt eine kurze Einfu ¨hrung in die Dynamischen Systeme, um einige wesentliche Begriffe zur Charakterisierung von Lo¨sungen bereitzustellen. 2.1
Aussagen aus der Theorie gew¨ ohnlicher Differentialgleichungen
Als Einstieg und Wiederholung beginnen wir mit einem Blick auf lineare Differentialgleichungen. Fu ¨r das skalare lineare Anfangswertproblem (AWP) y 0 = a · y + b,
y(x0 ) = y0 ,
liefert der Lo¨sungsansatz z(x) = ea(x−x0 ) · z0 eine Lo¨sung des homogenen Falls z 0 = az. Durch Variation der Konstanten folgt µ ¶ b b y(x) = z(x)v(x) =⇒ y(x) = + y0 ea(x−x0 ) − . a a 9
Dieses Vorgehen verallgemeinert man schnell auf Systeme linearer Differentialgleichungen y 0 = A · y + b, A ∈ Rn×n , b ∈ Rn . Wir nehmen an, dass A diagonalisierbar ist (d.h. n l.u. EV besitzt). Mit z(x) = exp(A(x − x0 ))z0 hat man eine L¨osung des homogenen Systems z 0 = Az. Dabei stellen die Spalten der Matrix exp(Aτ ) =
∞ X (Aτ )k k=0
k!
Matrizenexponentielle
(2.1)
ein Fundamentalsystem dar. Die Variation der Konstanten fu ¨r den inhomogenen Fall ergibt sich hier zu y(x) = exp(A(x − x0 )) · v(x). Im Fall nichtlinearer rechter Seiten (bzw. Differentialgleichungen) kommt man mit analytischen L¨osungstechniken dagegen meist nicht mehr weiter. Beispiel 2.1: Van–der–Pol–Gleichung Wir betrachten zun¨ achst die lineare Differentialgleichung 2. Ordnung z¨(t) + αz(t) ˙ + z(t) = 0, vergleiche den Schwingkreis (1.10). F¨ ur α > 0 hat sie fallende (ged¨ampfte/stabile) L¨osungen, f¨ ur α > 0 wachsende (instabile) L¨ osungen, und f¨ ur α = 0 resultieren periodische L¨osungen. Setzt man α = α(z), so dass α < 0 f¨ ur kleine z und α > 0 f¨ ur große z, so kann man ein sich selbst regulierendes (steuerndes) Verhalten erwarten, das in eine periodische L¨osung hineinl¨auft. Die Wahl α(z) := µ(z 2 − 1) mit konstantem Parameter µ > 0 erf¨ ullt diese Erwartung und liefert die Van-der-Pol-Gleichung z¨ + µ(z 2 − 1)z˙ + z = 0. (2.2) Eine allgemeine geschlossene L¨ osung ist nicht bekannt! Es ist vorteilhaft, die Gleichung (2.2) auf die neue Zeit x = t/µ zu transformieren (die Periode h¨angt dann nicht mehr von µ ab). Mit u(x) = z(µx) = z(t(x)), u0 = µz, ˙ folgt 1 00 u + (u2 − 1)u0 + u = 0. µ2 Von besonderem Interesse ist der Fall µ À 1, bei dem wir ε := 1/µ2 ¿ 1 setzen (ein sogenanntes singul¨ar gest¨ ortes System, siehe Kapitel 5 und 6). In einem letzten Schritt f¨ uhren wir noch die Koordinaten nach Li´enhard ein, y2 (x) := u(x),
y1 (x) := εy20 + (y23 /3 − y2 ),
und erhalten so das System y10 = −y2 , εy20 = y1 − y23 /3 + y2 .
10
(2.3)
2.5 2 1.5 1
y2
0.5 0 −0.5 −1 −1.5 −2 −2.5 −1.5
−1
−0.5
0 y1
0.5
1
1.5
Abbildung 3: Richtungsfeld der Van-der-Pol-Gleichung Wie verlaufen die L¨ osungen von (2.3) im oben skizzierten Richtungsfeld?
Bevor wir zum Existenz- und Eindeutigkeitssatz kommen, seien noch drei oft hilfreiche Bemerkungen erw¨ahnt: (i) Differentialgleichungen h¨oherer Ordnung lassen sich durch Hilfsvariablen auf Differentialgleichungen erster Ordnung zuru ¨ckzufu ¨hren: y 00 = −ω 2 y
y 0 = v, v 0 = −ω 2 y.
⇔
(ii) Nichtautonome Gleichungen y 0 = f (x, y(x) transformiert man mittels yn+1 (x) := x und fn+1 (x, y) := 1 in ein autonomes System. (iii) Durch Integration u ¨berfu ¨hrt man y 0 = f (x, y) in y(x) = y0 +
Zx
f (t, y(t)) dt .
x0
Falls f = f (t), ist die Quadratur als Sonderfall enthalten! 11
Wir betrachten nun das allgemeine Anfangswertproblem y 0 (x) = f (x, y(x)),
y(x0 ) = y0 ,
(2.4)
wobei f : [a, b] × Rn → Rn und x0 ∈ [a, b], y0 ∈ Rn . Die rechte Seite f heißt (global) Lipschitz–stetig im Definitionsgebiet (oder “Streifen”) D := {(x, y) : a ≤ x ≤ b, y ∈ Rn }, falls kf (x, y) − f (x, z)k ≤ L · ky − zk ∀ (x, y), (x, z) ∈ D.
(2.5)
Einfaches Kriterium: Falls f sowie ∂f /∂y stetig auf dem Definitionsgebiet D sind und ∂f /∂y beschr¨ankt ist, k∂f /∂yk ≤ L, folgt daraus die Lipschitzstetigkeit. Beweisskizze: F¨ ur je zwei Punkte (x, y), (x, z) in D gilt (MWS der Differentialrechnung) kf (x, y) − f (x, z)k ≤ sup(t,v)∈D k∂f (t, v)/∂vk ky − zk.
Mit dem Begriff der Lipschitzstetigkeit zeigt man dann (Picard-Lindel ¨of, s. Analysis) Satz 2.1 Falls die rechte Seite f auf dem Definitionsgebiet D stetig ist und der Lipschitzbedingung (2.5) genu ¨gt, besitzt das Anfangswertproblem (2.4) eine eindeutige, stetig differenzierbare L¨osung y auf dem ganzen Intervall [a, b]. Eine h¨ohere Glattheit der L¨osung h¨angt von der Glattheit der rechten Seite f bzw. ihrer Ableitungen ∂ p f /∂y p ab. Falls alle partiellen Ableitungen bis zur Ordnung p stetig sind, ist auch y insgesamt p mal stetig differenzierbar. L¨asst man dagegen die Lipschitzstetigkeit als Voraussetzung weg und geht nur von einer stetigen rechten Seite f aus, kann man nur noch die Existenz einer L¨osung nachweisen, die Eindeutigkeit geht verloren (Existenzsatz von Peano). 12
Hinreichend fu ¨r Existenz und Eindeutigkeit ist im u ¨brigen bereits eine abgeschw¨achte Form der Lipschitz-Bedingung (2.5), die lokale LipschitzStetigkeit. Sie ist gegeben, falls es zu jeder kompakten Teilmenge K ⊂ D eine Lipschitzkonstante LK gibt mit kf (x, y) − f (x, z)k ≤ LK · ky − zk ∀ (x, y), (x, z) ∈ K.
(2.6)
Allerdings kann mit dieser schw¨acheren Voraussetzung nicht die Existenz auf dem ganzen Intervall [a, b] garantiert werden. Die folgenden zwei Beispiele beleuchten die Situation. Beispiel 2.2:
y 0 = −y −1/2 ,
y(0) = 1.
Die rechte Seite besitzt in y = 0 eine Singularit¨at, und die Voraussetzungen (2.5) wie auch (2.6) werden in einer Umgebung der Singularit¨at verletzt. Die exakte L¨osung lautet y(x) = (1 − 3x/2)2/3 und ist nur auf x ∈]−∞, 2/3[ definiert. F¨ ur x → 2/3 l¨auft sie in die Singularit¨at (sie ”kollabiert”). Beispiel 2.3:
y0 = y2,
y(0) = 1.
Aufgrund der stetigen Differenzierbarkeit der rechten Seite liegt lokale Lipschitzstetigkeit vor, aber keine globale (bei genauerem Hinsehen stellt man fest, dass die Ableitung ∂f /∂y nicht beschr¨ankt ist). Als L¨ osung findet man
y(x)
y(x) = 1/(1 − x), und daher limx↑1 = ∞. Diese Instabilit¨at der L¨osung bezeichnet man auch als ”blow up”; sie tritt insbesondere bei polynomialen rechten Seiten auf (vergleiche die Reaktionskinetik in Abschnitt 1.1). Die L¨ osung muss also in solchen F¨allen nicht auf ganz [a, b] existieren.
1
Als ersten Hinweis, dass sich ein Randwertproblem (RWP) g¨anzlich anders verhalten kann als ein AWP (mehr in Kapitel 7), behandeln wir noch das y 00 + y = 0 mit RB ¡ ¢ a) y(0) = 0, y Π2 = 1, b) y(0) = 0, y(Π) = 0,
Beispiel 2.4:
c) y(0) = 0, y(Π) = 1.
Was unterscheidet demnach ein RWP von einem AWP?
13
2.2
Einfluß von St¨ orungen
In diesem Abschnitt steht die Kondition des Anfangswertproblems im Mittelpunkt. Wie wirken sich St¨orungen in den Anfangswerten, in der rechten Seite und in m¨oglichen Parametern auf die L¨osung aus? Beginnen wir mit den Anfangswerten: Satz 2.2 St¨orung der Anfangswerte Falls die rechte Seite f der Lipschitzbedingung (2.5) gen u ¨gt, gilt fu ¨r zwei L¨osungen y(x) und z(x) mit Anfangswerten y(x0 ), z(x0 ) die Absch¨atzung ky(x) − z(x)k ≤ ky(x0 ) − z(x0 )keL|x−x0 | . Beweis: Aus y 0 = f (x, y) und z 0 = f (x, z) folgt mit Integration y(x) − z(x) = y(x0 ) − z(x0 ) +
Zx
x0
(f (t, y) − f (t, z)) dt
und damit ky(x) − z(x)k ≤ ky(x0 ) − z(x0 )k + L | {z } =:m(x)
bzw.
m(x) ≤ ky(x0 ) − z(x0 )k + L m(x) ist stetig und q(x) := e
−Lx
Zx
Zx
x0
ky(t) − z(t)k dt {z } | =m(t)
m(t) dt.
(∗)
x0
Zx
m(t) dt
x0
stetig differenzierbar. Also gilt ¡ ¢0 m(x) = eLx q(x) = LeLx q(x) + eLx q 0 (x).
(∗∗)
Eingesetzt in (∗):
LeLx q(x) + eLx q 0 (x) ≤ ky0 − z0 k + LeLx q(x)
=⇒ q 0 (x) ≤ ky0 − z0 ke−Lx Zx ¡ ¢ =⇒ q(x) = q 0 (t) dt ≤ ky0 − z0 k e−Lx0 − e−Lx /L x0
14
Absch¨atzungen eingesetzt in (∗∗): m(x) ≤ ky0 − z0 k(eL(x−x0 ) − 1 + 1) (Bei Integration in die “Vergangenheit” mit x0 ≥ x analoges Vorgehen).
z y
}
0 0
x0
L(x-x 0)
<e
¤
|y0 -z 0 |
x
Abbildung 4: Skizze zu Satz 2.2 Warum k¨onnen sich zwei L¨ osungskurven nicht schneiden?
Im Beweis von Satz 2.2 ist eine vereinfachte Fassung des Lemmas von Gronwall versteckt, das eine wichtige Rolle bei verschiedenen Absch¨atzungen spielt. In der vollst¨andigen Fassung lautet es: Lemma 2.3 Gronwall Sei m(x) eine positive, stetige Funktion sowie ρ ≥ 0, ε ≥ 0. Falls Z x m(x) ≤ ρ + ε(x − x0 ) + L m(t) dt, x0
gilt die Absch¨atzung m(x) ≤ ρe ¨ Beweis s. Ubung
L(x−x0 )
´ ε ³ L(x−x0 ) + e −1 . L
Mit dem Lemma von Gronwall kann man die Absch¨atzung u ¨ber die Auswirkung von St¨orungen in den Anfangswerten erweitern. Sei y eine exakte L¨osung und z eine approximative L¨osung, die einen Defekt δ(x) aufweist, z 0 (x) = f (x, z(x)) + δ(x), 15
kδ(x)k ≤ ε.
Mit m(x) := ky(x) − z(x)k und ρ := ky(x0 ) − z(x0 )k sind die obigen Voraussetzungen erfu ¨llt, denn Z x Z x (f (t, y) − f (t, z)) dt. δ(t) dt + y(x) − z(x) = y(x0 ) − z(x0 ) + x0
x0
Anwendung des Gronwallschen Lemmas liefert ky(x) − z(x)k ≤ ky(x0 ) − z(x0 )ke
L(x−x0 )
´ ε ³ L(x−x0 ) e −1 + L
(2.7)
als Verallgemeinerung von Satz 2.2. Der zweite Term beinhaltet dabei die Auswirkung des Defekts / der St¨orung δ(x). Auffallend ist die zentrale Rolle der Exponentialfunktion. Falls die Lipschitzkonstante L sehr groß ist, wird eLx sehr schnell wachsen, und (2.7) stellt dann eine sehr pessimistische Aussage dar. In den allermeisten F¨allen sind jedoch Anfangswertprobleme deutlich besser konditioniert als es (2.7) suggeriert, vergl. Kapitel 5 u ¨ber steife Anfangswertprobleme. Ableitung bezu ¨ glich einem Parameter Differentialgleichungsmodelle enthalten meist eine Reihe konstanter Para¨ meter, die problemspezifisch gew¨ahlt sind. Bei einer Anderung eines Para¨ meters wird sich die L¨osung ebenfalls ¨andern, doch h¨angt diese Anderung stetig differenzierbar vom Parameter ab? In vielen Anwendungen ist dies eine zentrale Frage, denn nur bei stetig differenzierbarer Abha¨ngigkeit machen die meisten Optimierungs- und Parameteridentifizierungsverfahren einen Sinn (vergl. Kapitel 7). Beispiel 2.5: Bei der Van-der-Pol Gleichung y¨ = µ(1−y 2 )y−y ˙ h¨angt die L¨osung vom Parameter µ ab, siehe Abb. 5. Mit wachsendem µ w¨achst auch die Periode der L¨osung, und es treten immer steilere Flanken auf.
16
Solution of van der Pol Equation, µ = 1
Solution of van der Pol Equation, µ = 3
2.5
2.5
2
2
1.5
1.5
solution y
solution y
1
1
0.5
1
1
0.5
0
−0.5
0
−0.5
−1
−1
−1.5
−1.5
−2
−2
−2.5
−2.5
0
2
4
6
8
10 time t
12
14
16
18
20
0
2
4
6
8
10 time t
12
14
16
18
20
Abbildung 5: L¨osungen der Van-der-Pol-Gleichung f¨ ur µ = 1, 3
Wir betrachten nun die parameterabh¨angige Differentialgleichung y 0 = f (x, y; p),
y(x0 ) = y0 ,
(2.8)
wobei p fu ¨r einen (oder mehrere) Parameter steht. Die partiellen Ableitungen ∂f /∂y sowie ∂f /∂p seien stetig in einer Umgebung der L¨osung y. Als Sensitivit¨at (bzw. Sensitivit¨atsmatrix ) bezeichnet man die Ableitung der L¨osung nach dem Parameter, ψ(x) :=
∂y(x; p) y(x; p + δp) − y(x; p) = lim . δp→0 ∂p δp
Die Sensitivit¨at kann als L¨osung einer speziellen Differentialgleichung charakterisiert werden. Dazu betrachten wir neben der L¨osung y zum Parameter p eine weitere L¨osung z zum Parameter q = p + δp, z 0 = f (x, z; q),
z(x0 ) = y0 .
Mit Subtraktion der beiden Differentialgleichungen gilt z 0 − y 0 = f (x, y; q) − f (x, z; p) ∂f ∂f = (x, y; p)(z − y) + (x, y; p)(q − p) + o(kz − yk) + o(|q − p|). (2.9) ∂y ∂p Der Defekt der gest¨orten L¨osung z erfu ¨llt kz 0 (x) − f (x, z(x); p)k = kf (x, z(x); q) − f (x, z(x); p)k ≤ A|q − p|, 17
falls wir A = max k∂f /∂pk setzen. Damit kann das Lemma von Gronwall angewandt werden (beachte ρ = kz(x0 ) − y(x0 )k = 0), und wir erhalten (vergl. die Absch¨atzung (2.7)) ³ ´ A L(x−x0 ) −1 . kz(x) − y(x)k ≤ |q − p| e L
Die Differenz der beiden L¨osungen kann also u ¨ber die Differenz der Parameter δp = q − p beliebig klein gemacht werden. Im Grenzu ¨bergang δp → 0 folgt so aus (2.9) die Differentialgleichung oder Sensitivit¨atengleichung ψ 0 (x) =
∂f ∂f (x, y(x); p) · ψ(x) + (x, y(x); p). ∂y ∂p
(2.10)
Da (2.10) bei gegebenem y ein System linearer Differentialgleichungen f u ¨r die Sensitivita¨t ψ darstellt, kann man die entsprechende Lo¨sungstheorie einsetzen, um eine expliziten Ausdruck fu ¨r ψ zu gewinnen. Exkurs: L¨ osung von y 0 (x) = A(x)y(x) + b(x), A(x) ∈ Rn × Rn , b(x) ∈ Rn stetig. Ein Fundamentalsystem linear unabh¨ angiger L¨osungen φ1 , . . . , φn der homogenen Gleichung 0 z = Az fassen wir zusammen als W (x) := (φ1 (x), . . . , φn (x))
Wronski-Matrix
und definieren P (x, x0 ) := W (x)W −1 (x0 )
Propagationsmatrix.
Im homogenen Fall hat man dann f¨ ur die L¨osung zum Anfangswert z0 die Darstellung z(x) = P (x, x0 )z0 ,
(2.11)
und im inhomogenen Fall y(x) = P (x, x0 )y0 +
Z
x
P (x, s)b(s) ds.
(2.12)
x0
(Folgt u ¨ber Variation der Konstanten.)
Anwendung von ( 2.12) auf die Gleichung (2.10) fu ¨r die Sensitivit¨at ergibt (beachte ψ0 = ψ(x0 ) = 0) Z x ∂f (s, y(s); p) ds (2.13) ψ(x) = P (x, s) · ∂p x0 18
mit der Propagationsmatrix P des linearen Systems z 0 = ∂f /∂y · z. Der ¨ Ubersichtlichkeit halber fassen wir alles nochmal zusammen: Satz 2.4 Abh¨angigkeit der L¨osung von einem Parameter Sei y(x) die L¨osung der parameterabh¨angigen Differentialgleichung (2.8). Die partiellen Ableitungen ∂f /∂y sowie ∂f /∂p seien stetig in einer Umgebung von y. Dann existiert die Sensitivit¨at ψ(x) = ∂y(x; p)/∂p, ist stetig und genu ¨gt der Differentialgleichung ψ 0 (x) =
∂f ∂f (x, y(x); p) · ψ(x) + (x, y(x); p). ∂y ∂p
Ferner besitzt ψ die explizite Darstellung Z x ∂f (s, y(s); p) ds P (x, s) · ψ(x) = ∂p x0
mit der Propagationsmatrix P des linearen Systems z 0 = ∂f /∂y · z. Wie wirken sich nun St¨orungen im Parameter auf die L¨osung aus? Wegen y(x; p + δp) = y(x; p) +
∂y (x; p)δp + o(|δp|) ∂p
gilt in linearer Theorie fu ¨r δy(x) = y(x; p + δp) − y(x; p) die Beziehung . δy(x) = ψ(x) · δp, (2.14) und kψ(x)k ist die zugeh¨orige (punktweise) Konditionszahl. Abh¨ angigkeit der L¨ osung von den Anfangswerten Die Anfangswerte kann man auch als Parameter interpretieren. Dazu betrachten wir die Differentialgleichung z 0 (x) = F (x, z(x); y0 ) := f (x, z(x) + y0 ),
z(x0 ) = 0.
Offensichtlich ha¨ngt z vom Parametervektor y0 ab, und y(x) := z(x) + y0 lo¨st das AWP y 0 (x) = f (x, y(x)), y(x0 ) = y0 . 19
Damit kann die obige Argumentation wiederholt werden. Definiere die Sensitivit¨atsmatrizen Φ(x) :=
∂z(x; y0 ) , ∂y0
Ψ(x) :=
∂y(x; y0 ) = Φ(x) + In×n . ∂y0
Die Differentialgleichung fu ¨r Φ kann von (2.10) u ¨bernommen werden und ergibt sich zu Φ0 (x) =
∂f ∂F ∂F (x, z(x); y0 ) = (x, z(x); y0 )·Φ(x)+ (x, z(x)+y0 )·(Φ(x)+I), ∂z ∂y0 ∂y
und wegen Φ0 (x) = Ψ0 (x) sowie Φ(x0 ) = 0n×n folgt: Satz 2.5 Abh¨angigkeit der L¨osung von den Anfangswerten Sei f stetig mit stetigen partiellen Ableitungen ∂f /∂y. Dann h¨angt die L¨osung y(x; y0 ) stetig differenzierbar von den Anfangswerten ab, und die Ableitung Ψ(x) = ∂y(x; y0 )/∂y0 genu ¨gt der Variationsgleichung Ψ0 (x) =
∂f (x, y(x; y0 )) · Ψ(x), ∂y
Ψ(x0 ) = In×n .
Eine St¨orung δy0 in den Anfangswerten fu ¨hrt auf die L¨osung y(x; y0 + δy0 ). Damit hat man in linearer Theorie fu ¨r δy(x) = y(x; y0 + δy0 ) − y(x; y0 ) die Aussage . δy(x) = Ψ(x) · δy0 , (2.15) und kΨ(x)k stellt die Konditionszahl dar. Wie in (2.14) bestimmt also das Fundamentalsystem der linearisierten Differentialgleichung z 0 = ∂f /∂y · z die Kondition. Mit anderen Worten: Die Stabilit¨at der Differentialgleichung z 0 = ∂f /∂y · z charakterisiert den Einfluß von St¨orungen. Die Aussagen von Satz 2.4 und Satz 2.5 komplettieren damit die in Satz 2.2 und (2.7) gegebenen quantitativen Absch¨atzungen.
20
2.3
Differentialgleichungen als Dynamische Systeme
Welche Pha¨nomene (welches Lo¨sungsverhalten) treten bei nichtlinearen Differentialgleichungen auf, und wie kann man sie qualitativ beschreiben? Anhand dieser Fragen wird im folgenden kurz in die Welt der Dynamischen Systeme eingefu ¨hrt (mehr dazu in Vorlesungen u ¨ber Dynamische Systeme). Wir beschr¨anken uns zun¨achst auf das Studium autonomer Differentialgleichungen in der Ebene, y 0 = f (y) mit y(x) ∈ R2 .
(2.16)
Ein Beispiel ist der Brusselator (1.5) aus Kapitel 1,
mit Parametern A, B.
y10 = A + y12 y2 − (B + 1)y1 , y20 = By1 − y12 y2 ,
Was kann man u ¨ber L¨osungen von (2.16) qualitativ aussagen? Als Ausgangspunkt der Analyse betrachtet man kritische Punkte y s mit f (ys ) = 0, d.h. ys0 (x) ≡ 0 . In kritischen Punkten verschwindet die rechte Seite f , die L ¨osung ist station¨ar (Abb. 6). Im n¨achsten Schritt wird um ys linearisiert. Setze y = ys + ∆y =⇒ y 0 = ys0 + ∆y 0 = ∆y 0 und weiter y 0 = f (y) = f (ys + ∆y) = f (ys ) +Df (ys )∆y + o(k∆yk) |{z} | {z } =∆y 0
=0
y
y
1
ys
ys
y
x
2
Abbildung 6: Station¨are L¨osung und Phasenportrait 21
Also beschreibt die lineare Differentialgleichung . ∆y 0 = Df (ys ) ∆y das Lo¨sungsverhalten in einer Umgebung von ys , oder anders gesagt: Die Eigenwerte von Df (ys ) charakterisieren das Lo¨sungsverhalten rund um den kritischen Punkt ys . Nehmen wir an, die Eigenwerte λ1,2 von Df (ys ) seien verschieden und ungleich Null. Die folgenden F¨alle/Ph¨anomene k¨onnen dann auftreten. a) EW von Df (ys ) reell, λ1 < λ2 < 0: Dann ist ys stabiler Knoten/Punkt, d.h. alle L¨osungen y laufen in ys hinein und sind stabile L¨osungen. y
2
y y(x) y
s
y y
x
1
Abbildung 7: Stabile L¨osungen und Phasenportrait
b) EW Df (ys ) reell, λ1 < 0 < λ2 : Dann ist ys Sattelpunkt, und es gibt instabile wie auch stabile L¨osungen.
y
y y y
s
~
y
~ y
x
Abbildung 8: Sattelpunkt, y˜ instabile, y stabile L¨osung
22
c) EW reell, 0 < λ1 < λ2 : Dann ist ys instabiler Knoten, alle L¨osungen y sind instabil. y
y
y y
s
x
Abbildung 9: Instabiler Knoten, y instabile L¨osung
d) EW imagin¨ar, λ1,2 = ±iω: Dann ist ys Zentrumsknoten, und L¨osungen y sind periodisch. y
y
y
s
x Abbildung 10: Zentrumsknoten, y periodische L¨osung
e) EW λ1,2 = α ± iω, α < 0: Dann ist ys stabiler Strudelpunkt.
y
y y
s
Abbildung 11: Stabiler Strudelpunkt
23
f ) EW λ1,2 = α ± iω, α > 0: Dann ist ys instabiler Strudelpunkt.
y
y
y
s
Abbildung 12: Instabiler Strudelpunkt
Die Sonderf¨alle der doppelten Eigenwerte und der Nulleigenwerte werden hier nicht weiter verfolgt. Wichtiger ist, dass neben den F¨allen a) - f) noch weitere Ph¨anomene existieren, die nicht durch Linearisierung erfassbar sind. Ein Beispiel sind Grenzzyklen, das sind periodische Bewegungen, in die die L¨osungen hineinlaufen (stabiler Grenzzyklus, Abb. 13) oder die L¨osungen abstoßen (instabiler Grenzzyklus).
y ~
y y
Abbildung 13: Stabiler Grenzzyklus, y startet außerhalb, y˜ innerhalb 24
Existenz von Grenzzyklen In der Ebene kann die Existenz von Grenzzyklen mithilfe des folgenden Satzes (ohne Beweis) nachgewiesen werden: Satz 2.6 Poincar´e–Bendixson Jede beschr¨ankte L¨osung von y 0 = f (y), y(x) ∈ R2 , muß (i) gegen einen kritischen Punkt ys streben oder (ii) periodisch sein oder (iii) gegen einen Grenzzyklus streben. Die Existenz von Grenzzyklen ist aber nicht auf die Ebene beschr ¨ankt. Im Rn erfolgt der praktische Nachweis eines Grenzzyklus u ¨ber die Technik des Poincar´e–Schnitts. Lege Hyperebene (Halbgerade) P in Phasenraum (Ebene). Betrachte Schnitt φ(y0 ) der L¨osung y zu AW y0 mit P , Abb. 14. Setze y1 := φ(y0 ) und ermittle Schnitt φ(y1 ), usw. Falls ein Fixpunkt y ∗ = φ(y ∗ ) existiert, liegt ein Grenzzyklus vor.
φ(y0 )
P
y0 Abbildung 14: Poincar´e–Schnitt 25
Beispiel 2.6: Anwendung der Aussagen auf den Brusselator (1.5) Bedingung f¨ ur kritische Punkte 0 = A + y12 y2 − (B + 1)y1 , 0 = By1 − y12 y2 . ³ ´ A Einziger kritischer Punkt ist ys = B/A . Die Eigenwertanalyse von DF (ys ) =
Ã
B − 1 A2 −B −A2
!
ergibt:
ur B < A2 + 1 stabiler Knoten f¨ ys : Zentrum f¨ ur B = A2 + 1 instabil f¨ ur B > A2 + 1
Fall B ≤ A2 + 1 damit klar.
Fall B > A2 + 1: Man kann zeigen, dass alle L¨osungen beschr¨ankt sind. Nach Poincar´e–Bendixson muß daher ein Grenzzyklus existieren! (Fall (i) im Satz 2.6 kann nicht zutreffen, Fall (ii) nur, wenn der AW bereits auf dem Grenzzyklus liegt. Ein Zentrumsknoten mit periodischer L¨osung kommt nicht in Frage.) Abbildung 15 zeigt qualitativ das Phasenportrait f¨ ur A = 1, B = 3, d.h. B > A2 + 1. y
2
3
y
~ s
y
^
y 1
y
1
Abbildung 15: Skizze des stabilen Grenzzyklus beim Brusselator. y˜ wird von ys abgestossen, l¨auft in Grenzzyklus hinein, dagegen l¨auft yˆ von außen in Grenzzyklus.
Bemerkungen: ¨ • Der Ubergang B ≤ A2 + 1 nach B > A2 + 1 markiert eine sogenannte Hopf–Bifurkation, eine Verzweigung, in der stabile Lo¨sungen in periodische L¨osungen u ¨bergehen. 26
• Ab Dimension n = 3 existieren noch komplexere Ph¨anomene, die meist nur durch numerische Studien zu entdecken sind. • Kritische Punkte und Grenzzyklen nennt man auch Attraktoren des dynamischen Systems. Es gibt daru ¨berhinaus “strange attractors”, die bei chaotischen Systemen auftreten. Ein beru ¨hmtes Beispiel ist die Lorenz– Differentialgleichung y10 = −by1 + y2 y3 , y20 = −σy2 + σy3 , y30 = −y1 y2 + ry2 − y3 . Eine numerische Lo¨sung mit σ = 10, r = 28, b = 8/3 ist in Abb. 16 dargestellt. Es liegt keine periodische Lo¨sung vor! Dagegen haben kleine ¨ Anderungen in den Anfangswerten dramatische Auswirkungen auf die L¨osung (der Schmetterlingseffekt).
40 30
y(3)
20 10 0 −10 −20 10
50 0
40 30
−10 y(2)
20 −20
10
y(1)
Abbildung 16: Numerische L¨osung der Lorenz-Differentialgleichung 27
Der Begriff der Evolution Wie oben gesehen, ko¨nnen Lo¨sungen gewo¨hnlicher Differentialgleichungen ein komplexes Verhalten an den Tag legen. Statt die Vielzahl der Ph ¨anomene im Detail zu analysieren, kann man aber auch nach u ¨bergeordneten Gesichtspunkten suchen, und diese Suche fu ¨hrt auf den sehr allgemein gefaßten, nicht auf gew. Differentialgleichungen beschr¨ankten Begriff der Evolution. Wir definieren dazu die Abbildung Φx,x0 y0 := y(x), die eine Auswertung der Lo¨sung y zum AW y(x0 ) = y0 an der Stelle x darstellt. Offensichtlich gilt Φb,a y0 = Φb,s Φs,a y0 ,
a ≤ s ≤ b,
Φx0 ,x0 y0 = y0 ,
was schon die grundlegenden Eigenschaften einer Evolution darstellt. Hinzu kommt in unserem Fall das Erfu ¨lltsein der gew. Differentialgleichung, d.h., d x+s,x Φ y|s=0 = f (x, y(x)). dx Im Fall autonomer Differentialgleichungen ist die Startzeit beliebig. Man schreibt daher kurz Φx statt Φx,x0 und bezeichnet Φx als Phasenfluß, der die Anfangswerte transportiert und die Gesamtheit der L¨osungen enth¨alt. Eine spezielle L¨osungskurve nennt man dann Trajektorie oder Orbit. Fu ¨r weitere Details siehe Deuflhard/Bornemann, Kap. 2.
28
Kapitel
3
Einschritt- und Extrapolationsverfahren 3 Dieses Kapitel stellt eine erste und sehr wichtige Verfahrensklasse zur L o¨sung von Anfangswertproblemen vor, die sogenannten Einschrittverfahren. Allgemein basieren numerische Verfahren fu ¨r AWPe auf folgendem Ansatz: Man fu ¨hrt ein Gitter auf dem betrachteten Intervall [a, b] ein, a = x0 < x1 < x2 < . . . < xn−1 < xn = b, d.h. man diskretisiert das Kontinuum [a, b]. Die Schrittweiten h i = xi+1 − x i mu ¨ssen nicht ¨aquidistant sein. Dann berechnet man, ausgehend von y0 , . sukzessive N¨ahrungen yi = y(xi ) an den diskreten Punkten, y0 −→ y1 −→ y2 −→ . . . −→ yn . Man spricht dabei allgemein von Diskretisierungsverfahren und unterscheidet speziell: a) Einschrittverfahren: Nur die Daten xi , yi , hi gehen in die Berechnung von yi+1 ein. b) Mehrschrittverfahren: Hier gehen Daten xk , yk , hk fu ¨r k = i−m, . . . , i aus der “Vergangenheit” in die Berechnung von yi+1 ein. Siehe Kap. 4.
29
y
yi
. yi+1 .y(xi+1)
. x
h
x
i
x i+1
Abbildung 17: Expliziter Euler (Eulerscher Polygonzug)
3.1
Beispiele fu ¨ r Einschrittverfahren
Zun¨achst betrachten wir einige elementare Beispiele (mit hi = h konstant), ¨ um einen ersten Eindruck von Einschrittverfahren zu bekommen. Altestes und in manchen Anwendungen immer noch gebra¨uchliches Verfahren ist das explizite Eulerverfahren y1 = y0 + hf (x0 , y0 ), y2 = y1 + hf (x1 , y1 ), .. .. . . yi+1 = yi + hf (xi , yi ).
(3.1)
Die wesentliche Idee besteht in der wiederholten Anwendung der Vorschrift, durch die man eine Folge von diskreten Approximationen erzeugt. Man spricht auch vom Eulerschen Polygonzugverfahren, da die diskreten Werte der yi aus einem immer l¨anger werdenden Polygonzug folgen. Damit liegt zusa¨tzlich ein linearer Interpolant vor, und man hat de facto auch eine kontinuierliche Approximation konstruiert. Drei Interpretationen des Eulerverfahrens ergeben sich direkt: (i) Geometrisch: Lege die Tangente in (xi , yi ) an. (ii) Vorw¨arts-Differenzenquotient
. (yi+1 − yi )/h = y 0 (xi ) = f (xi , yi ) 30
(iii) Quadraturformel
Zxi+1 y(xi+1 ) = y(xi ) + f (t, y(t)) dt x
|i
.
{z
=h·f (xi ,yi )
}
Als zweites Einschrittverfahren betrachten wir das Implizite Eulerverfahren yi+1 = yi + h(f (xi+1 , yi+1 ),
(3.2)
das sich als Ru ¨ckw¨arts-Differenzenquotient interpretieren l¨asst. W¨ahrend beim expliziten Euler nur eine Auswertung der rechten Seite f n ¨otig ist, um einen Integrationsschritt durchzufu ¨hren, erfordert der implizite Euler die L¨osung eines nichtlinearen Systems fu ¨r yi+1 ! Letztes Beispiel ist die Trapezregel yi+1 = yi +
h (f (xi , yi ) + f (xi+1 , yi+1 )), 2 {z } | xi+1 R . f (t,y(t)) dt =
(3.3)
xi
bei der man deutlich die Verwandschaft zur numerischen Quadratur sieht. Im Folgenden beschr¨anken wir uns auf explizite Einschrittverfahren; die impliziten werden aber im Kapitel 5 u ¨ber steife Differentialgleichungen noch eine gewichtige Rolle spielen. 3.2
Konsistenz und Konvergenz
Als Notation fu ¨r Einschrittverfahren (ESV) verwendet man das Schema yi+1 = yi + hi Φ(xi , yi , hi )
(3.4)
mit der Verfahrensfunktion oder Inkrementfunktion Φ. Beim expliziten Euler (3.1) ist Φ(xi , yi , hi ) = f (xi , yi ). 31
Wie gut approximiert yi+1 die exakte L¨osung y(xi+1 )? Zur Analyse der Verfahren fu ¨hrt man verschiedene Begriffe ein. Der erste ist eine lokale Eigenschaft: Definiton 3.1 Lokaler Diskretisierungsfehler Sei y(x) exakte L¨osung des Anfangswertproblems y 0 = f (x, y), y(x0 ) = y0 , und y1 = y0 + hΦ(x0 , y0 , h) die numerische Approximation nach einem Schritt. Der lokale Diskretisierungsfehler ist definiert als τ (h) :=
y(x0 + h) − y1 . h
(3.5)
Nach (3.5) gibt τ (h) die Differenz von exakter L¨osung und numerischer Approximation, skaliert mit h, an. Eine zweite Interpretation ist τ (h) =
y(x0 + h) − y0 y1 − y0 − . h h } | {z } | {z Sehnensteigung exakt
Steigung Approx.
Schließlich gibt es eine dritte Interpretation τ (h) =
y(x0 + h) − y0 − Φ(x0 , y0 , h) , h
die τ (h) als Defekt sieht, der beim Einsetzen der exakten Lo¨sung in die Verfahrensvorschrift entsteht. Formal schreibt man oft auch τ (x, y, h), um die Abh¨angigkeit von x sowie y st¨arker zu betonen. Beispiel 3.1: Lokaler Diskretisierungsfehler beim expliziten Euler
Taylorentw.
τ (h) = h1 (y(x0 + h) − y1 ) = h1 (y(x0 + h) − y0 − hf (x0 , y0 )) y(x0 + h) = y(x0 ) + hy 0 (x0 ) + 12 h2 y 00 (x0 ) + . . . = y0 + hf (x0 , y0 ) + 21 h2 (fx + fy f )(x0 , y0 ) + . . . =⇒ τ (h) = h · 21 (fx + fy f )(x0 , y0 ) + O(h2 )
Man spricht beim Euler von einem Verfahren der Konsistenzordnung 1.
Nach dem lokalen Diskretisierungsfehler fu ¨hren wir einen weiteren Begriff ein, die Konsistenz: 32
Definition 3.2 Konsistenzordnung Ein Verfahren heißt konsistent, falls der lokale Diskretisierungsfehler f u ¨r h → 0 ebenfalls gegen 0 strebt: kτ (h)k ≤ γ(h) mit lim γ(h) = 0 . h→0
Das Verfahren hat die Konsistenzordnung p, falls kτ (h)k = O(hp ) . Die Konsistenzordnung beschreibt die Qualit¨at der numerischen Approximation in einem Schritt. Eigentlich interessiert man sich aber fu ¨r die Qualit¨at nach n Schritten. Dazu definiert man drittens Definition 3.3 Globaler Diskretisierungsfehler Der globale Diskretisierungsfehler eines Verfahrens ist die Differenz en (X) = y(X) − yn
mit X = xn fest, n variabel.
Ein Verfahren ist konvergent, falls lim ken (X)k = 0 .
n→∞
Konvergenz bedeutet also: Fu ¨r feiner werdendes Gitter strebt der globale Fehler gegen 0. Wie h¨angen Konsistenz und Konvergenz zusammen? Die Analysetechnik ist in Abb. 18 skizziert. Zum diskreten Wert yi sei ui (x) die exakte L¨osung der Differentialgleichung mit Anfangswert ui (xi ) = yi fu ¨r i = 0, . . . , n. Insbesondere ist u0 = y die exakte Lo¨sung zum Anfangswert y0 . Der globale Fehler lautet dann y(xn ) − yn = u0 (xn ) − yn
33
y
y2 y0
. x0
y
1
. u 2 (xn ) . u 1 (x n )
.
. u 0 (x n )
. x1
x2
xn =X
x
Abbildung 18: Analyse des globalen Fehlers
und l¨asst sich durch die Differenzen ui − ui+1 ausdru ¨cken: u0 (xn ) − yn = u0 (xn ) − u1 (xn ) + u1 (xn ) − u2 (xn ) + . . . . . . − un−1 (xn ) + un−1 (xn ) − yn n−2 P = [ui (xn ) − ui+1 (xn )] + un−1 (xn ) − yn . i=0
Damit folgt
ku0 (xn ) − yn k ≤ kun−1 (xn ) − yn k + ≤ kun−1 (xn ) − yn k +
n−2 P
i=0 n−2 P i=0
kui (xn ) − ui+1 (xn )k kui (xi+1 ) − ui+1 (xi+1 )keL|xn −xi+1 | .
Bei der letzten Absch¨atzung wurde Satz 2.2 angewandt, um die Differenz kui (xn ) − ui+1 (xn )k auf die Differenz der Anfangswerte kui (xi+1 ) − ui+1 (xi+1 )k zuru ¨ckzuspielen. Wegen yi+1 = ui+1 (xi+1 ) hat man nun ku0 (xn ) − yn k ≤
n−1 X i=0
kui (xi+1 ) − yi+1 keL|xn −xi+1 | .
Die k·k–Beitr¨age auf der rechten Seite sind lokale Fehler nach einem Schritt. Fu ¨r ein konsistentes Verfahren ist demnach kui (xi+1 ) − yi+1 k ≤ c · hp+1 ≤ c · hpmax · hi i 34
mit hmax = max hi . Schließlich bekommen wir fu ¨r den globalen Fehler i
ku0 (xn ) − yn k ≤ c ·
hpmax
n−1 X
hi eL|xn −xi+1 |
i=0
≤ c · hpmax
Zxn
eL(xn −t) dt
x0
unter der Annahme xn > x0 . Mit Ausintegrieren lautet das Resultat: Satz 3.1 Konvergenz von Einschrittverfahren Sei f stetig sowie Lipschitzstetig mit Konstante L nach (2.5). Weiter habe das Einschrittverfahren Konsistenzordnung p, d.h. kτ (h)k = O(hp ) . Dann gilt fu ¨r den globalen Diskretisierungsfehler ken (X)k ≤ chpmax
eL|X−x0 | − 1 L
wobei hmax = max hi . i
Diskussion von Satz 3.1 1) Ordnung globaler Diskretisierungsfehler = Ordnung lokaler Diskretisierungsfehler. Man sagt bei ESV auch kurz: Konsistenz =⇒ Konvergenz 2) Variable Schrittweiten sind zugelassen. Der Verst¨arkungsfaktor 1 L(x−x0 ) − 1) ist jedoch von den Schrittweiten unabh¨angig. L (e 4) Manchmal findet man die Schreibweise e(h, x) statt en (x) fu ¨r den globalen Diskretisierungsfehler, um die Abh¨angigkeit von der Schrittweite zu betonen. Oft besitzt e(h, x) eine asymptotische Entwicklung in h. Einschrittverfahren sind demnach einfach zu analysieren: Man ermittelt den lokalen Fehler (durch Taylorreihenentwicklung) und bekommt aus der Konsistenz bereits globale Konvergenz. 35
3.3
Runge–Kutta–Verfahren
Runge–Kutta–Verfahren sind spezielle ESV, die in jedem Schritt die rechte Seite mehrmals “ausloten” und die daraus gewonnenen Zwischenergebnisse oder Zuw¨achse / Korrekturen linear kombinieren. Beispiel 3.2:
Heun–Verfahren
K2 y
1
K1
y0 x
x
0
1
Abbildung 19: Ansatz f¨ ur das Verfahren nach Heun Diskretisierungsvorschrift mit Korrekturen
y1 = y0 + 21 h(K1 + K2 ) K1 = f (x0 , y0 ), K2 = f (x1 , y0 + h · K1 ),
bzw. mit Verfahrensfunktion Φ: y1 = y0 + h · Φ(x0 , y0 , h) , Φ(x, y, h) = 12 [f (x, y) + f (x + h, y + hf (x, y))] = 21 (K1 + K2 )
Das allgemeine Diskretisierungsschema fu ¨r einen Schritt eines Runge–Kutta– Verfahrens lautet y1 = y0 + h(b1 K1 + b2 K2 + . . . + bs Ks ) mit Korrekturen / Zuwa¨chsen à Ki = f
x0 + ci h, y0 + h
i−1 X j=1
36
aij Kj
!
,
i = 1, . . . , s.
(3.6)
(3.7)
Die Verfahrenskoeffizienten bi , ci fu ¨r i = 1, . . . , s sowie aij fu ¨r i = 1, . . . , s und j ≤ i − 1 legen die Methode fest, zusammen mit der Stufenzahl s. Beispiel 3.3: Heun–Verfahren Stufenzahl s = 2 und Koeffizienten 1 1 b1 = , b2 = , c1 = 0, c2 = 1, a21 = 1. 2 2 Beispiel 3.4: Modifiziertes Euler–Verfahren
mit
y1 = y 0 + h · K 2 K1 = f (x0 , y0 ), ¡ K2 = f x0 + h2 , y0 +
h 2
¢ · K1 .
Also s = 2 Stufen und Koeffizienten b1 = 0, b2 = 1, c1 = 0, c2 = 12 , a21 = 12 .
Praktischerweise fasst man die Koeffizienten in einem Tableau, dem sogenannten Butcher–Tableau, zusammen: c1 0 c2 a21 .. .. . . cs as1 b1
... ...
0 ...
bzw.
. . . ass−1 0 b2 . . . b s
c
A bT
Die Verfahren sind dann gegeben u ¨ber z.B. die Koeffizienten 0
0 1 1
Heun
1 2
1 2
1 2
1 2
mod. Euler
0 1
0 1 2 1 2
1 2
“klassisches Runge–Kutta–Verfahren” (Runge 1895, Kutta 1901)
0 12 1 0 0 1 1 6
2 6
2 6
1 6
37
Koeffizientenbestimmung Wie kommt man auf die Koeffizienten? Die Koeffizienten sind zuna¨chst freie Parameter des Verfahrens. Sie werden so bestimmt, dass das Verfahren “m¨oglichst gut” ist, d.h. eine m¨oglichst hohe Ordnung erreicht. Wesentliches Hilfsmittel bei der Bestimmung sind Taylorreihenentwicklungen der exakten L¨osung und der numerischen N¨aherung. Als Beispiel fu ¨r eine Koeffizientenbestimmung (den sogenannten Abgleich) betrachte man den Fall s = 2: Das Runge–Kutta–Verfahren lautet y1 = y0 + h(b1 K1 + b2 K2 ) , K1 = f (x0 + c1 h, y0 ) ,
K2 = f (x0 + c2 h, y0 + ha21 K1 ).
Taylorentwicklung liefert K1 = f (x0 , y0 ) + fx (x0 , y0 ) · c1 · h + O(h2 ) K2 = f (x0 , y0 ) + fx (x0 , y0 ) · c2 · h + fy (x0 , y0 )ha21 K1 + O(h2 ) = f (x0 , y0 ) + fx (x0 , y0 ) · c2 · h + fy f (x0 , y0 )ha21 + O(h2 ) =⇒ y1 = y0 +h(b1 + b2 )f (x0 , y0 ) +h2 (b1 c1 + b2 c2 )fx (x0 , y0 ) +h2 b2 a21 fy f (x0 , y0 ) + O(h3 ) Exakte L¨osung im Vergleich (s. Beispiel 3.1) 1 y(x0 + h) = y0 + hf (x0 , y0 ) + h2 (fx + fy f )(x0 , y0 ) + O(h3 ) 2 Als Bedingungsgleichungen fu ¨r Konsistenzordnung p = 2 ergeben sich demnach 1 1 b1 + b2 = 1, b1 c1 + b2 c2 = , b2 a21 = . (3.8) 2 2 Als spezielle Lo¨sungen von (3.8) hat man u.a. das Heun–Verfahren und den modifizierten Euler. Mit s = 2 Stufen ist jedoch die Ordnung p = 3 nicht erreichbar! 38
Offensichtlich wird bereits bei s = 3 Stufen der Abgleich sehr aufw¨andig. Das Vorgehen vereinfacht sich etwas, falls man nur autonome Differentialgleichungen betrachtet. Man wird von einem fu ¨r autonome Differentialgleichungen hergeleiteten Verfahren natu ¨rlich verlangen, dass es auch im nichtautonomen Fall wohldefiniert ist (d.h. invariant unter Autonomisierung ist). Wir vergleichen dazu y 0 = f (x, y) mit der autonomisierten Gleichung à ! à ! y f (x, y) Y 0 = F (Y ), Y := , F (Y ) := . x 1 Der Runge–Kutta–Ansatz ist fu ¨r beide Gleichungen nur dann ¨aquivalent, falls i−1 X ci = aij , (3.9) j=1
denn wegen der letzten Zeile in F ergibt sich x0 + ci h = x0 + h
i−1 P
j=1
Forderung.
aij · 1 als
Damit genu ¨gt es, den Abgleich nur im autonomen Fall durchzufu ¨hren und nachtra¨glich mit den Koeffizienten aij die Zwischenstu ¨tzstellen oder Knoten ci mittels (3.9) zu definieren. Aber diese Erleichterung hilft nicht allzuviel, um Verfahren mit s ≥ 3 Stufen und entsprechend h¨oherer Ordnung zu gewinnen. Auch wenn die einzelnen Schritte nur aus wiederholter Taylorentwicklung bestehen, ist der Abgleich auf diese Art und Weise schnell nicht mehr handhabbar. Der folgende Satz gibt die Bedingungsgleichungen bis Ordnung 4 an. Satz 3.2 Ordnungsbedingungen Seien f ∈ C p (D) und A, b, c die Koeffizienten des Runge-Kutta-Verfahrens. Das Verfahren hat die Ordnung p, falls die Bedingung (3.9) und die folgen-
39
den Bedingungsgleichungen erfu ¨llt sind: p=1:
s X
bi = 1
(1)
bi ci = 1/2
(2)
i=1
p=2: p=3: p=4:
s X
i=1 s X
bi c2i
i=1 s X
= 1/3,
bi c3i = 1/4,
i=1
s X
i,j=1
bi aij c2j = 1/12,
s X
i,j=1 s X
sowie (1)
bi aij cj = 1/6 (3) sowie (1) − (2) bi ci aij cj = 1/8,
i,j=1 s X
i,j,k=1
bi aij ajk ck = 1/24 sowie (1) − (3)
Fu ¨r Ordnungen p ≥ 5 hat Butcher ab 1963 ein graphentheoretische Hilfsmittel eingefu ¨hrt, die sogenannten Butcher–B¨aume, um die auftretenden elementaren Differentiale systematisch zu beschreiben. Beispielsweise ist (autonomer Fall) 1 1 y(x0 + h) = y(x0 ) + hf (y0 ) + h2 f 0 f (y0 ) + h3 (f 00 (f, f ) + f 0 f 0 f ) (y0 ) + . . . 2 3! Die Darstellung u ¨ber Butcher–B¨aume sieht dann folgendermaßen aus:
1 3 + h 3!
1 y(x0 + h) = y(x0 ) + h · • + h2 2
+
+ ...
Auf diese Art und Weise gelingt es, die fortgesetzte Taylorentwicklung systematisch und elegant darzustellen, und zwar sowohl fu ¨r die exakte Lo¨sung als auch fu ¨r die numerische Approximation. (Na¨heres in Deuflhard/Bornemann und Hairer/Wanner) 40
Verfahrenskonstruktion Die in Satz 3.2 angegebenen Bedingungsgleichungen sind nichtlinear, und deswegen stellt die Bestimmung geeigneter Koeffizienten, die sogenannte Verfahrenskonstruktion, eine schwierige Aufgabe dar. Wir wollen im folgenden die Situation bei s = 4 Stufen n¨aher betrachten und Verfahren der Ordnung p = 4 konstruieren. (Zeige: Ordnung p = 4 ist mit s = 3 Stufen nicht erreichbar!) P Insgesamt hat man mit der Konvention ci = aij die 10 Koeffizienten b1 , b2 , b3 , b4 , a21 , a31 , a32 , a41 , a42 , a43 zu bestimmen, so dass sa¨mtliche Bedingungen erfu ¨llt sind. P Die Bedingung bi = 1 erinnert sofort an die Quadratur und legt nahe, b1 , . . . , b4 als Gewichte einer Quadraturformel zu interpretieren. Fassen wir die ci zus¨atzlich als Stu ¨tzstellen im Intervall [0, 1] auf, so folgt aus den Bedingungen X X X bi ci = 1/2, bi c2i = 1/3, bi c3i = 1/4, dass diese Quadraturformel exakt fu ¨r alle Polynome in P3 sein muss.
Zwei Quadraturformeln k¨onnen wir nun heranziehen: a) Die Newtonsche 3/8-Regel mit c = (0, 1/3, 2/3, 1)T , b = (1/8, 3/8, 3/8, 1/8)T . P P Mit dieser Festlegung liefern bi aij cj = 1/6, bi ci aij cj = 1/8 sowie P bi aij ajk ck = 1/24 die Beziehungen a32 = 1,
a42 c2 + a43 c3 = 1/3,
b4 a43 a32 c2 = 1/24.
Damit ist a43 = 1 und a42 = −1. Aus der Definition der ci ergeben sich schließlich noch a21 = 1/3, a31 = −1/3, a41 = 1. 41
Resultat ist die Kuttasche 3/8-Regel 0 1 3 2 3
1 3
− 13 1 1 1 −1 1 1 8
3 8
3 8
1 8
(Zu u ¨berpru ¨fen ist noch die u ¨briggebliebene Bedingung die von diesen Koeffizienten tatsa¨chlich erfu ¨llt wird.)
P
bi aij c2j = 1/12,
b) Die Simpson-Regel mit c = (0, 1/2, 1/2, 1)T ,
b = (1/6, 2/6, 2/6, 1/6)T ,
wobei diese eigentlich nur 3 Knoten besitzt und deswegen der mittlere verdoppelt wurde. Ein analoges Vorgehen wie unter a) fu ¨hrt dann auf das “klassische” Runge-Kutta-Verfahren auf S. 37. Wie oben erw¨ahnt kann man mit Hilfe des Abgleichs u ¨ber die ButcherReihen die Bedingungsgleichungen fu ¨r Verfahren hoher Ordnung (≥ 5) zwar elegant aufstellen, die Zahl der Bedingungsgleichungen nimmt jedoch stark zu: Ordnung p 1 2 Mindeststufen s 1 2 # Bed.gleich. 1 2 # Zahl Koeff. 1 3
3 4 5 6 7 3 4 6 7 9 4 8 17 37 85 6 10 21 28 45
Die Koeffizientenbestimmung ist dann nur noch mit weiteren vereinfachenden Annahmen (vergl. den Zugang u ¨ber die Quadratur) und mit Computer– Algebra–Unterstu ¨tzung (Maple, Mathematica) m¨oglich. In der folgenden Tabelle ist aufgefu ¨hrt, wieviele Stufen notwendig sind, um eine bestimmte Ordnung zu erreichen. Offensichtlich gilt die Ungleichung s ≥ p. Stufenzahl s 1 2 3 4 5 6 7 8 max. Ordnung p 1 2 3 4 4 5 6 6 42
3.4
Ru artsanalyse des globalen Diskretisierungsfehlers ¨ ckw¨
Nachdem wir nun mit den Runge-Kutta-Verfahren eine große Klasse von Methoden zur Verfu ¨gung haben, soll die in Abschnitt 3.2 gemachte Konvergenzaussage um eine relativ neue Sichtweise erg¨anzt werden. Ziel ist eine Interpretation des globalen Fehlers im Sinne der Ru ¨ckw¨artsanalyse. Wir stellen uns dazu die folgende Frage: Kann man die numerische L¨osung yn nach n Schritten als exakte L¨osung zu einer gest¨orten Differentialgleichung auffassen? Und wie sieht diese Differentialgleichung aus? Wir betrachten dazu den autonomen Fall mit konstanter Schrittweite. Die Verfahrensvorschrift eines expliziten ESV lautet dann yi+1 = yi + hΦ(yi , h), wobei das Verfahren in eine Reihe entwickelt werden kann, Φ(y, h) = f (y) + hd2 (y) + h2 d3 (y) + . . . Die Funktionen di sind aus dem Abgleich bekannt und setzen sich aus elementaren Differentialen zusammen. Beispiel 3.5: Beim expliziten Euler ist d2 = d3 = 0 da Φ(y, h) = f (y). Beim Verfahren von Heun dagegen ist Φ(y, h) =
1 1 (f (y) + f (y + hf (y))) = (f (y) + f (y) + hf 0 f (y) + O(h2 )) 2 2
und damit d2 (y) = fy f (y)/2.
Zu den diskreten Werten yi suchen wir nun eine kontinuierliche Funktion y˜ mit y˜(xi ) = yi fu ¨r i = 0, . . . , n, und diese Funktion soll einer gest¨orten Differentialgleichung genu ¨gen, die wir ansetzen als Reihe y˜0 = f (˜ y ) + hf2 (˜ y ) + h2 f3 (˜ y) + . . . Unter der Voraussetzung y˜(xi ) = yi fu ¨r ein festes i k¨onnen wir y˜(xi + h)
43
u ¨ber Taylorentwicklung darstellen als y˜(xi + h) = yi + h(f (yi ) + hf2 (yi ) + h2 f3 (yi ) + . . .) h2 0 + (f (yi ) + hf20 (yi ) + . . .)(f (yi ) + hf2 (yi ) + . . .) + . . (3.10) . 2 Auf der anderen Seite ist yi+1 u ¨ber yi+1 = yi + hf (yi ) + h2 d2 (yi ) + h3 d3 (yi ) + . . .
(3.11)
gegeben, so dass aus der Forderung yi+1 = y˜(xi + h) durch Vergleich der Reihenentwicklungen die unbekannten Funktionen fi folgen. So ist z.B. 1 f2 (y) = d2 (y) − f 0 f (y). (3.12) 2 Bei einem Verfahren der Ordnung p ist nun yi+1 = y(xi + h) + hp+1 δp+1 (y(xi )) + O(hp+2 ), so dass die fu ¨hrenden Terme in der Differenz beider Entwicklungen bis zum Index p herausfallen: fi = 0 fu ¨r i = 2, . . . , p. Zusammenfassend folgt Satz 3.3 Ru ¨ckw¨artsanalyse bei ESV Gegeben sei ein ESV mit Konsistenzordnung p und fu ¨hrendem Fehlerterm δp+1 (y). Dann kann die numerische L¨osung {yi } des autonomen AWP y 0 = f (y) interpretiert werden als exakte L¨osung des gest¨orten AWP y˜0 = f (˜ y ) + hp fp+1 (˜ y ) + hp+1 fp+2 (˜ y) + . . . ,
y˜0 = y0 ,
wobei fp+1 (y) = δp+1 (y) und y˜(xi ) = yi , i = 0, . . . , n. Diskussion von Satz 3.3 1) Die in Satz 3.1 mithilfe einer Vorw¨artsanalyse und dem Lemma von Gronwall gegebene Absch¨atzung fu ¨r den globalen Diskretisierungsfehp L|X−x0 | ler lautete ken (X)k ≤ chmax (e − 1)/L. Fu ¨r große Lipschitzkonstanten und lange Integrationsintervalle ist diese Abscha¨tzung nicht besonders aussagekra¨ftig und oft viel zu pessimistisch. Die Ru ¨ckwa¨rtsanalyse erlaubt dagegen eine qualitative Interpretation. 44
2) Dieses relativ neue Resultat entfaltet seine ganze Wirkung erst im Zusammenhang mit den sogenannten geometrischen Integratoren, siehe Kap. 6. Literatur dazu: Hairer/Lubich/Wanner, Geometric Numerical Integration, Springer 2002 3) Die Reihendarstellung des gest¨orten AWP muß nicht konvergieren, vergl. die Problematik der asymptotischen Entwicklung. Sie kann aber als Ausgangspunkt fu ¨r den Nachweis einer solchen Entwicklung des globalen Fehlers herangezogen werden. 3.5
Fehlersch¨ atzung und Schrittweitensteuerung
Die bisher vorgestellten Verfahren wurden fu ¨r ein gegebenes Gitter x0 < x1 < . . . < xn−1 < xn formuliert. Das einfachste Gitter ist das ¨aquidistante, doch diese Wahl ist in den meisten Anwendungen wenig effizient. Ziel sollte es vielmehr sein, das Gitter so zu w¨ahlen, dass (i) eine vorgegebene Genauigkeit der numerischen L¨osung erreicht wird, (ii) der dazu notwendige Rechenaufwand m¨oglichst minimal wird. Im folgenden wollen wir die Grundlagen fu ¨r eine adaptive Gittersteuerung kennenlernen, vergleiche dazu den Algorithmus des adaptiven Simpson bei der numerischen Quadratur. Verschiedene Faktoren sind bei der Gittersteuerung zu ber u ¨cksichtigen. Bild 20 gibt eine qualitative Darstellung des Gesamtfehlers im ¨aquidistanten Fall. Bei Vergr¨oßern der Schrittweite verringert sich der Aufwand, m¨oglicherweise steigt aber der Fehler an (vgl. Satz 3.1). Zu kleine Schrittweiten bedeuten dagegen mehr Aufwand und gro¨ßeren Einfluss von Rundungsfehlern. Insbesondere gibt es eine untere Schranke, die die Schrittweite nicht unterschreiten sollte. 45
Gesamtfehler
p
e (x) = O(h ) n
Rundungsfehler h Abbildung 20: Verhalten des globalen Fehlers mit Rundungsfehlern
Schauen wir uns nun eine spezielle L¨osungskurve an, so wird man offensicht¨ lich fordern, dass starke Anderungen in der L¨osung ein lokal feines Gitter verlangen, w¨ahrend ann¨ahernd konstante Abschnitte mit großen Schritten durchlaufen werden k¨onnen, Abb. 21. y
x große Schrittweiten kleine Schrittweiten Abbildung 21: Nicht ¨aquidistantes Gitter
Da das Lo¨sungsverhalten aber a priori nicht bekannt ist (im gewissen Gegensatz zur Quadratur, bei der man den Integranden kennt), kann die Gitterstruktur nicht zu Beginn der numerischen Integration festgelegt werden. Stattdessen wird man die Gitterpunkte w¨ahrend des L¨osungsprozesses schrittweise anpassen, d.h. ausgehend von (xi , yi ) wird eine neue Schrittweite hi bestimmt und damit xi+1 festgelegt. Man spricht deswegen von einer Schrittweitensteuerung, kurz SWS. 46
Das Ziel der SWS kann nun so formuliert werden: W¨ahle hi so, dass die n¨achste N¨aherung yi+1 eine vorgegebene Fehlertoleranz erfu ¨llt. Allerdings steuern alle g¨angigen Verfahren nur den lokalen Fehler und nicht den globalen! D.h., die Schrittweite hi wird so gew¨ahlt, dass fu ¨r den aktuellen Schritt gilt ku(xi+1 )|u(xi )=yi − yi+1 k ≤ ² (3.13) mit vorgegebener Toleranz ². Die exakte L¨osung u(x) zum AW u(xi ) = yi ist im Kriterium (3.13) natu ¨rlich nicht bekannt und muss durch eine Approximation yˆi+1 ersetzt werden. Man spricht deswegen von der Fehlersch¨atzung, vergleiche das Vorgehen beim adaptiven Simpson. Bei Runge–Kutta–Verfahren ist die folgende Technik am weitesten verbreitet: Kombiniere ein Verfahren der Ordnung p (fu ¨r yi+1 ) mit einem der Ordnung p+1 (fu ¨r yˆi+1 ). Man bezeichnet das Verfahren fu ¨r yˆi+1 als eingebettetes Verfahren. Formal im Butcher–Tableau c
A b
T
ˆbT
−→ y1 = y0 + h −→ yˆ1 = y0 + h
s P
i=1 sˆ P
b i Ki ˆbi Ki
i=1
Die Idee der Einbettung geht auf Fehlberg zuru ¨ck, und die von ihm entwickelten adaptiven Verfahren nennt man deswegen Runge–Kutta–Fehlberg– Verfahren. Details dazu und eine moderne Implementierung werden weiter unten besprochen. Im folgenden konzentrieren wir uns auf die Grundidee der Schrittweitensteuerung und nehmen an, eine zweite Approximation yˆi+1 der Ordnung p + 1 stehe zur Verfu ¨gung.
47
Mit den N¨aherungen yi+1 und yˆi+1 setzt man nun folgendermaßen an, um eine “optimale” Schrittweite hopt. zu bestimmen: Es gilt . kˆ yi+1 − yi+1 k = c · hp+1
(yi+1 Konsistenzord. p).
Die Wunschschrittweite hopt. ist dagegen u ¨ber c · hp+1 =² opt. gegeben. Durch Division folgt
bzw.
hp+1 = hp+1 opt.
² kˆ yi+1 − yi+1 k
r
² . kˆ yi+1 − yi+1 k
hopt. = h p+1
(3.14)
Die Vorschrift (3.14) bildet die Grundlage fu ¨r die Schrittweitensteuerung bei Einschrittverfahren. Wichtig dabei ist, dass die Idee der Herleitung eigentlich nur fu ¨r kleine Schrittweiten gu ¨ltig ist, denn nur dann macht die p+1 Darstellung des Fehlersch¨atzers als ch Sinn. Fu ¨r den Einsatz in der Praxis sind zahlreiche Heuristiken notwendig, um die Leistungsf¨ahigkeit der SWS zu optimieren und Sonderf¨alle abzufangen. Wesentlich sind z.B. die Begrenzung der neuen Schrittweite nach oben/unten und die Einfu ¨hrung eines Sicherheitsfaktors. Im folgenden Algorithmus ist diese Heuristik in den Grundzu ¨gen beru ¨cksichtigt. Die einzelnen Schritte sind allgemein gehalten und greifen mit Φ auf ein ˆ auf eines der Ordnung p + 1. Verfahren der Ordnung p zuru ¨ck sowie mit Φ
48
Algorithmus 3.1 Einschrittverfahren adaptiv Start: x0 , y0 , h0 , ², xend gegeben; i = 0; while xi < xend x = x i + hi ; y = yi + hi Φ(xi , yi , hi ); ˆ i , yi , hi ); yˆ = yi + hi Φ(x e = kˆ y − yk; r ² hopt. = h p+1 · ρ; % Sicherheitsf. ρ e hopt. = min(α · hi , max(βhi , hopt. )); % Schranken α, β if e ≤ ² xi+1 = x; yi+1 = y; hi+1 = min(hopt. , xend − xi+1 ); i = i + 1; else hi = hopt. ; % Wiederhole Schritt end end Bemerkungen: 1) Die Konstanten ρ, α, β sind abh¨angig vom konkreten Verfahren. Bei ¨ einem Verfahren ho¨herer Ordnung kann eine gro¨ßere Anderung von hopt. zugelassen werden als bei einem Verfahren niedriger Ordnung. 2) Geeignete Norm zur Fehlersch¨atzung: v u X µ ¶2 u1 n y ˆ − y j j , W T = |ˆ y| ERR = t n j=1 AT OL + RT OL · W Tj
mit absoluter/relativer Toleranz AT OL, RT OL. Statt e ≤ ² vergleicht man dann den Fehler gegen 1, ERR ≤ 1. 49
In Algorithmus 3.1 wird die weniger genaue L¨osung als neue Approximation herangezogen, denn fu ¨r sie liegt mit der Differenz yˆ − y ein Fehlersch¨atzer vor. Diese Argumentation gilt heute als u ¨berholt, und man rechnet in den ga¨ngigen Verfahren mit der besseren L¨osung weiter, ein Vorgehen, das man auch als lokale Extrapolation bezeichnet. Begru ¨ndung: Der Fehlerscha¨tzer bezieht sich auf den lokalen Fehler und liefert kaum Information u ¨ber den eigentlich wichtigeren globalen Fehler. Stattdessen wird u ¨ber die SWS das Gitter an den lokalen L¨osungsverlauf angepasst, und diese Anpassung funktioniert, wie die Erfahrung zeigt, mit der lokalen Extrapolation genauso gut, mit dem zus¨atzlichen Plus der h¨oheren Ordnung. Damit fu ¨hren wir die folgende Verbesserung im Algorithmus 3.1 ein: Φ ist ein ˆ eines der Ordnung p. Dann arbeitet der Verfahren der Ordnung p + 1 und Φ Algorithmus automatisch im Modus der lokalen Extrapolation; alle anderen Schritte bleiben wie gehabt. Eingebettete Verfahren Wie oben bereits erwa¨hnt, stellt die Einbettung eines zweiten RK-Verfahrens, das m¨oglichst wenig zus¨atzlichen Aufwand erfordert, die g¨angige Technik zur SWS dar. Am Beispiel des klassischen RK-Verfahrens mit p = 4 wollen wir die prinzipielle Vorgehensweise studieren. Im Tableau haben wir also eine zus¨atzliche Zeile 0 1 2 1 2
1 2
1 2
0 1 0
0
1
1 6
2 6
2 6
1 6
ˆb1 ˆb2 ˆb3 . . .
50
ˆbsˆ
Erster Ansatz: Wir nehmen sˆ = 4 an und versuchen, die vier Koeffizienten ˆb1 , . . . , ˆb4 so zu bestimmen, dass yˆ1 = y0 + h(ˆb1 K1 + . . . + ˆb4 K4 ) eine Approximation der Ordnung 3 darstellt. (Vergleiche die Diskussion oben: Wir sehen das gegebene Verfahren als das bessere an und suchen dazu ein zweites, das Information fu ¨r die SWS liefert.) Aus den Bedingungsgleichungen fu ¨r Ordnung p = 3 folgt (Satz 3.2) ˆb1 + ˆb2 + ˆb3 + ˆb4 = 1, ˆb2 /4 + ˆb3 /4 + ˆb4 = 1/3,
ˆb2 /2 + ˆb3 /2 + ˆb4 = 1/2, ˆb3 /4 + ˆb4 /2 = 1/6,
wobei die Koeffizienten aij und ci bereits eingesetzt wurden. Einzige L¨osung des linearen Gleichungssystems ist ˆb = b, d.h. mit sˆ = 4 ist es nicht m¨oglich, solch ein eingebettetes Verfahren zu konstruieren! Zweiter Ansatz: Mit sˆ = 5 bekommt man mehr Freiheitsgrade, dies sollte aber nicht zu einem h¨oheren Aufwand fu ¨hren. Eine weitere Auswertung einer Korrektur K5 stellt einen solchen Aufwand dar, dieser f¨allt aber durch den Fehlberg-Trick nicht ins Gewicht: Wir bestimmen die neu ins Spiel kommenden Koeffizienten c5 , a51 , . . . , a54 so, dass K5 (alter Schritt) = K1 (neuer Schritt).
(3.15)
Man nennt diese Technik auch FSAL (FirstSameAsLast). Konkret bedeutet dies X X K5 (a.S.) = f (x0 +c5 h, y0 +h a5j Kj ) = f (x0 +h, y0 +h bi Ki ) = K1 (n.S.).
Also ist c5 = 1 und a5j = bj fu ¨r j = 1 : 4. Mit diesen Koeffizienten geht man nochmals in die Bedingungsgleichungen fu ¨r die Ordnung p = 3. Es zeigt sich: Nun existiert eine ganze Familie von Gewichten ˆb, die die Ordnung 3
51
liefern. Ein Beispiel zeigt das folgende Butcher-Tableau: 0 1 2 1 2
1 2
0 12 1 0 0 1 1 16 26 26 1 6 1 6
2 6 2 6
2 6 2 6
1 6 1 6
0
0 1 6
Die Auswertung der Differenz yˆ − y reduziert sich hier auf die einfache Formel yˆ − y = (K1 (n.S.) − K4 (a.S.))/6, d.h. die Gr¨oße yˆ muss gar nicht explizit berechnet werden. Bemerkung: Eine in der Herleitung einfache, aber in der Auswertung teure Alternative zu den eingebetteten Verfahren ist die Richardson-Extrapolation, bei der ein Schritt y1 = y0 + 2hΦ(x0 , y0 , 2h) mit doppelter Schrittweite und zwei Schritte y˜1/2 = y0 +hΦ(x0 , y0 , h), y˜1 = y˜1/2 +hΦ(x0 +h, y˜1/2 , h) mit einfacher Schrittweite miteinander kombiniert werden, um mittels Extrapolation eine Approximation h¨oherer Ordnung zu erhalten. Siehe dazu den Abschnitt u ¨ber Extrapolation unten. Das Dormand-Prince-Verfahren DOPRI5(4) Das zur Zeit wohl am weitesten verbreitete und fu ¨r mittlere Genauigkeitsanforderungen effizienteste explizite Runge-Kutta-Verfahren geht auf Dormand und Prince (1980) zuru ¨ck. Das Verfahren hat die Ordnung 5 mit einem eingebetteten Verfahren der Ordnung 4, daher stammt die Namensgebung DOPRI5(4). Erreicht wird dies mit s = 6 und sˆ = 7 Stufen, wobei durch den FSAL-Ansatz die zus¨atzliche Stufe nicht ins Gewicht f¨allt. Man hat also effektiv nur 6 Stufen 52
pro Schritt auszuwerten. Der Koeffizientensatz lautet 0 1 5 3 10 4 5 8 9
1 1
1 5 3 40 44 45 19372 6561 9017 3168 35 384 35 384 5179 57600
9 40 −56 15 −25360 2187 −355 33
0 0 0
32 9 64448 6561 46732 5247 500 1113 500 1113 7571 16695
−212 729 49 176 125 192 125 192 393 640
−5103 18656 −2187 6784 −2187 6784 −92097 339200
11 84 11 84 187 2100
0 1 40
Die Bestimmung der Koeffizienten erfolgte nach mehreren Kriterien: (i) Der fu ¨hrende Fehlerterm δ6 (y) des Verfahrens 5. Ordnung soll m¨oglichst klein sein, der fu ¨hrende Fehlerterm δˆ5 (y) des Verfahrens 4. Ordnung dagegen soll mo¨glichst dominant sein im Vergleich zu den weiteren Termen der zugeh¨origen Fehlerentwicklung. (ii) Der Term δˆ5 (y), der sich ja aus elementaren Differentialen von f zusammensetzt, soll im Sonderfall der Quadratur f = f (x) nicht verschwinden. (iii) Die Koeffizienten ci sollen in [0, 1] liegen und verschieden sein. In die Bestimmung gehen daneben auch viel Erfahrung und Fingerspitzengefu ¨hl ein! Einen guten Integrationscode zeichnen aber nicht nur die Koeffizienten aus. Zwei weitere Aspekte sind von besonderer Bedeutung: Kontinuierliche L¨ osungsdarstellung oder Dense Output: Die SWS sorgt dafu ¨r, dass der Integrator m¨oglichst große Schritte macht, um eine vorgegebene Genauigkeit einzuhalten. Oft will man aber die L¨osung zu sehr vielen Zeitpunkten auswerten, und dies ohne die Integration mit entsprechend verkleinerten Schritten durchfu ¨hren zu mu ¨ssen. Hilfsmittel dazu ist eine kontinuierliche L¨osungsdarstellung (engl. Dense Output), d.h. ein Interpolant, der die diskreten Daten (xi , yi ) interpoliert und dazwischen die 53
exakte L¨osung m¨oglichst gut approximiert. Grunds¨atzlich geht man dabei intervallweise vor und konstruiert nach jedem Schritt den Interpolanten auf [xi , xi+1 ]. Die einfachste Methode bei ESV verwendet die Daten yi , fi sowie yi+1 , fi+1 und konstruiert das Hermite–Interpolationspolynom vom Grad 3 u(θ) = (1 − θ)yi + θyi+1 + θ(θ − 1) ((1 − 2θ)(yi+1 − yi ) + (θ − 1)hfi + θhfi+1 ) mit 0 ≤ θ ≤ 1.
Probe: u(0) = yi , u0 (0) = yi0 = fi , u(1) = yi+1 , u0 (1) = fi+1
Falls das Verfahren Ordnung p ≥ 3 hat, stellt der Hermite-Interpolant eine stetige Erweiterung des Runge-Kutta-Verfahrens dar, die die exakte L ¨osung im aktuellen Intervall mit Ordnung 3 approximiert und global C 1 ist. Damit kann der Integrator nach jedem Schritt u ¨berpru ¨fen, ob Ausgabepunkte erreicht wurden und nachtr¨aglich an diesen Stellen das Polynom u auswerten. Zu DOPRI5(4) wurde eine stetige Erweiterung der Ordnung 4 entwickelt, die auf einem Polynom vom Grad 5 basiert. Verbesserte SWS mit PI-Regler: Die Steuerung der Schrittweite wurde im Jahre 1988 durch eine regelungstheoretische Analyse (Gustafsson / Lundh / S¨oderlind) auf ein solideres Fundament gestellt. Insbesondere verbesserte man die Formel (3.14) fu ¨r die neue Schrittweite um einen Korrekturterm, der fu ¨r glattere Schrittweitenverl¨aufe und weniger Schrittverwerfungen sorgt. Die Formel (3.14) ist in diesem Zusammenhang ein I-Regler , d.h. sie beru ¨cksichtigt die Summe der bisherigen Abweichungen vom Sollwert (das Integral). Ein PI-Regler ist zus¨atzlich Proportional zur letzten Abweichung vom Sollwert und aus regelungstechnischer Sicht besser. Man kommt so auf die Schrittweitenformel ¶α µ ¶β µ kˆ y i − yi k ² (3.16) hi+1 = hi kˆ yi+1 − yi+1 k ² mit Konstanten α = 0.7/p, β = 0.4/p. Speziell fu ¨r DOPRI5(4) in der Im54
plementierung von Hairer kann wahlweise die PI-Steuerung (3.16) oder die klassische Variante (3.14) eingesetzt werden, mit zus¨atzlichen Sicherheitsfaktoren. Numerische Software Es existiert eine Vielzahl von expliziten Runge-Kutta-Verfahren und zugeh¨origen Implementierungen. Hier eine Auswahl: Klassische Verfahren nach Fehlberg: RKF2(3), RKF4(5), RKF7(8) Hier wurde noch die urspru ¨ngliche Idee der SWS verfolgt, das eingebettete Verfahren hat eine Ordnung mehr. DOPRI5(4) Dormand/Prince 1980, Ordnung p = 5 DOPRI8(53) Dormand/Prince 1981, Hairer 1996, p = 8 In MATLAB steht das Dormand/Prince–Verfahren der Ordnung 5 als ode45 zur Verfu ¨gung. Daneben bietet MATLAB noch ein RK-Verfahren ode23 an, das aber nur bei geringen Genauigkeitsanforderungen oder nicht glatter rechter Seite f zu empfehlen ist. FORTRAN–Codes findet man unter ftp://ftp.unige.ch/pub/doc/math (Codes zum Buch Hairer/Norsett/Wanner) Beispiel 3.6:
In Abbildung 22 sieht man die numerische L¨osung der Van-der-Pol-Gleichung in
der Fassung (2.2) mit µ = 2, AW y0 = (3, 0)T und Intervall [0, 14]. Der Integrator ode45 aus MATLAB l¨ost die Differentialgleichung mit der Standardeinstellung ATOL=1.e−6 und RTOL=1.e−3. Mit ∗ markiert sind die diskreten Approximationen, so dass man sich einen Eindruck von den Schrittweiten¨ anderungen und der Gitteranpassung machen kann. Integrationsstatistik: NST = 58 (Gesamtzahl Schritte), NEF = 8 (verworfene Schritte).
55
4
3
2
y2
1
0
−1
−2
−3
−4 −3
−2
−1
0 y1
1
2
3
Abbildung 22: Numerische L¨osung der Van-der-Pol-Gleichung mit ode45
3.6
Extrapolationsverfahren
Das Prinzip der Extrapolation hatten wir schon in Numerik II bei der Rombergquadratur kennengelernt. Grundlage jeder Extrapolationstechnik ist die Existenz einer asymptotischen Entwicklung. Fu ¨r die Klasse der ESV reicht dafu ¨r bereits eine Darstellung des lokalen Fehlers als Reihe y(x) + hΦ(x, y(x), h) = y(x + h) + hp+1 δp+1 (y(x)) + hp+2 δp+2 (y(x)) + . . . + hN +1 δN +1 (y(x)) + O(hN +2 ) (3.17) aus. Es gilt der folgende Satz: Satz 3.4 Asymptotische Entwicklung des globalen Fehlers bei ESV Seien f und die Verfahrensfunktion Φ hinreichend oft stetig differenzierbar, und Φ besitze eine Darstellung des lokalen Fehlers nach (3.17). Dann besitzt der globale Fehler nach n Schritten mit Schrittweite h in X = x 0 + nh eine Entwicklung der Form y(X) − yn = hp ep (X) + hp+1 ep+1 (X) + . . . + hN eN (X) + hN +1 E(X, h), 56
wobei das Restglied E(X, h) fu ¨r 0 ≤ h ≤ h0 beschr¨ankt ist. Beweis: Wir schreiben yh (X) = yn f¨ ur die numerische Approximation und suchen im ersten Schritt eine Funktion ep mit y(x) − yh (x) = hp ep (x) + o(hp ). Die Summe yˆh (x) := yh (x) + hp ep (x) interpretieren wir als neues Verfahren mit der diskreten ˆ i , yˆi , h). Es folgt f¨ ˆ die Beziehung Vorschrift yˆi+1 = yˆi + hΦ(x ur die Inkrementfunktion Φ ˆ Φ(x, yˆ, h) = Φ(x, yˆ − hp ep (x), h) + hp−1 (ep (x + h) − ep (x)), ˆ ein Verfahren der Ordnung p + 1 definiert. Die Inkrementund wir wollen nun erreichen, dass Φ ˆ wird entwickelt zu funktion Φ ∂Φ ˆ Φ(x, y(x), h) = Φ(x, y(x), h) − hp (x, y(x), h)ep (x) + hp e0p (x) + O(hp+1 ), ∂y wobei zudem gilt
∂Φ ∂f ∂Φ (x, y, h) = (x, y, 0) + O(h) = (x, y) + O(h) ∂y ∂y ∂y
ˆ und (3.17) folgt wegen Φ(x, y(x), 0) = y 0 (x) = f (x, y(x)). Mit Einsetzen der Entwicklung f¨ ur Φ ˆ der lokale Fehler von Φ zu µ ¶ ∂ p+1 0 ˆ y(x) + hΦ(x, y(x), h) = y(x + h) + h δp+1 (y(x)) − f (x, y(x))ep (x) + ep (x) + O(hp+2 ). ∂y Falls also die gesuchte Funktion ep die Differentialgleichung e0p (x) =
∂ f (x, y(x))ep (x) − δp+1 (y(x)) ∂y
ˆ ein Verfahren der Ordnung p + 1. F¨ mit Anfangswert ep (x0 ) = 0 erf¨ ullt, ist Φ ur den globalen ˆ Fehler von Φ gilt mit Satz 3.1 y(X) − yˆh (X) = O(hp+1 )
⇒
y(X) − yh (X) = hp ep (X) + O(hp+1 ).
Die n¨achste Koeffizientenfunktionen ep+1 bestimmt man analog, ausgehend vom neuen ’gedachˆ ten’ Verfahren Φ.
¤
Satz 3.4 schafft die Grundlage fu ¨r eine neue Art der Verfahrenskonstruktion, die auf der Extrapolation basiert. Beispielsweise kann man zum expliziten Eulerverfahren als Basisalgorithmus mit Ordnung p = 1 folgendes Verfahren der Ordnung k konstruieren: 57
1) W¨ahle Mikroschrittweiten hi = H/ni mit der Makroschrittweite H und z.B. ni ∈ {1, 2, 3, 4, 5, . . .} (Harmonische Folge) oder ni ∈ {1, 2, 3, 4, 6, 8, 12 . . .} (Bulirsch-Folge). 2) Berechne Ti,1 := yhi (x0 + H) fu ¨r i = 1, . . . , k. 3) Das Polynom P (h) vom Grad k − 1 wird so gew¨ahlt, dass es die diskreten Approximationen interpoliert, P (hi ) = Ti,1 fu ¨r i = 1, . . . , k. Die Extrapolation zum Grenzwert h = 0 eliminiert alle Terme der Expansion und liefert P (0) =: yˆ = y(x0 + H) + O(H k+1 )
(3.18)
(Begru ¨ndung s.u.). Damit liegt ein Einschrittverfahren der Ordnung k vor. 4) Praktische Durchfu ¨hrung: Mit dem Aitken-Neville-Schema Tj,l = Tj,l−1 +
Tj,l−1 − Tj−1,l−1 nj /nj−l+1 − 1
wird das Extrapolationstableau T1,1 T2,1 T2,2 T3,1 T3,2 T3,3 .. .. .. .. . . . . Tk,1 Tk,2 Tk,3 . . . Tk,k aufgebaut. Die Spalte l entha¨lt dann Approximationen der Ordnung l, und Tkk = yˆ = P (0). Jeder Eintrag im Extrapolationstableau l¨aßt sich als ein spezielles expli¨ zites Runge-Kutta-Verfahren interpretieren (s. Ubung). Damit liefert das Tableau neben einem Verfahren der Ordnung k automatisch weitere Verfahren, die sich zur Fehlersch¨atzung eignen (Steuerung der Makroschrittweite H). Mehr noch: Die Ordnung k kann sogar von Schritt zu Schritt erh o¨ht oder erniedrigt werden, indem man weitere Mikroschrittweiten hinzu- oder wegnimmt. 58
Begru ¨ ndung fu ¨ r (3.18): Nach Satz 3.4 ist Ti,1 = y(x0 + H) − hi e1 − h2i e2 − . . . − hik−1 ek−1 − hki E(x0 + H, hi ) Wir gehen nun analog zur Rombergquadratur vor (dort allerdings war eine h 2 -Entwicklung die Basis). Das Polynom P hat die Lagrange-Darstellung P (h) =
k X
Ti,1 li (h) = y(x0 + H)
i=1
h0i li (h)
i=1
− ek−1 Da hl sich selbst interpoliert, gilt
k X
P
k X i=1
hik−1 li (h) −
− e1
k X
k X i=1
hi li (h) − . . .
E(x0 + H, hi )hki li (h).
i=1
hli li (h) = hl f¨ ur l = 0, . . . , k − 1, und daher
P (0) = y(x0 + H) −
k X
E(x0 + H, hi )hki li (0)
i=1
= y(x0 + H) + (−1)k
k Y
hi
i=1
k X i=1
E(x0 + H, hi )
Y l6=i
Weil der letzte Term durch eine Konstante abgesch¨atzt werden kann, E(x0 + H, hi ) = O(H), bekommt man schließlich die Aussage (3.18).
hi hi − h l
Q
hi /(hi − hl ) ≤ ck , und
Der GBS-Algorithmus Der Aufwand der Extrapolation lohnt im Vergleich zu den Runge-KuttaVerfahren nur, wenn eine h2 -Entwicklung (und nicht eine h-Entwicklung wie oben) vorliegt. Das Standardverfahren in diesem Fall ist die GBS–Methode nach Gragg/Bulirsch/Stoer (1966). Betrachte das Intervall [x0 , X] mit X = x0 + H und Makroschrittweite H. Der Grundalgorithmus zur Berechnung einer N¨aherung fu ¨r y(X) sieht dann folgendermaßen aus: hi = H/ni ; y1 = y0 + hi f (x0 , y0 ) j = 1, . . . , ni − 1 xj = xj−1 + hi ; yj+1 = yj−1 + 2hi f (xj , yj );
[Mikroschrittweite] [Expl. Euler als Start] [Mittelpunktregel]
Nach dem Startschritt werden ni − 1 Schritte mit der expliziten Mittelpunktregel (Mehrschrittverfahren der Ordnung p = 2) durchgef u ¨hrt. Man 59
erh¨alt so yni (hi ) als N¨aherung fu ¨r y(X). Fu ¨r genu ¨gend glattes f und ni gerade besitzt yn (h) eine asymptotische Entwicklung analog der Trapezsumme in der Rombergquadratur (siehe Stoer-Bulirsch, Kap. 7.2) y(X) − yn (h) = h2 γ1 (X) + . . . + h2N γN (X) + h2N +2 γ(X, h).
(3.19)
Wiederum ist das Restglied γ(x, h) beschr¨ankt. Aufgrund der h2 -Entwicklung kann man mit wenigen Extrapolationsschritten eine sehr hohe Ordnung realisieren! Deswegen ist das auf dieser Entwicklung basierende Extrapolationsverfahren, der GBS-Algorithmus, eine etablierte Methode zur L ¨osung gew¨ohnlicher Differentialgleichungen, vor allem bei hohen Genauigkeitsanforderungen. Details siehe Deuflhard/Bornemann und Hairer/Wanner. Bemerkungen: 1) Die explizite Mittelpunktregel ist ein 2–Schritt–Verfahren, siehe n ¨achstes Kapitel. Das aus ihr abgeleitete Extrapolations–Verfahren kann dagegen wie oben als Runge–Kutta–Verfahren interpretiert werden! 2) Oft wird ein sogenannter Gl¨attungsschritt nach Gragg durchgefu ¨hrt. Statt yni nimmt man 1 y˜ni := [yni −1 + 2yni + yni +1 ] 4 Die Bedeutung in der Praxis ist umstritten. 3) Da die Entwicklung (3.19) nur fu ¨r ni gerade gilt, muss die Schrittweitenfolge ebenfalls auf geraden Unterteilungen von H basieren: Romberg–Folge Bulirsch–Folge
{6 1, 2, 4, 8, . . .} {6 1, 2, 6 3, 4, 6, 8, . . .}
4) Codes mit variabler Makroschrittweite H und variabler Ordnung: ftp.unige.ch/pub/doc/math Code ODEX (Hairer / Wanner) zib-berlin.de Code DIFEX (Deuflhard) www-m3.mathematik.tu-muenchen.de/m3/software.html Matlab-Interfaces von Ch. Ludwig 60
Kapitel
4
Mehrschrittverfahren 4 Mehrschrittverfahren (MSV) bilden neben den ESV die zweite große Verfahrensklasse. Bei ihnen fließen Daten / Lo¨sungspunkte aus der Vergangenheit in die Berechnungvorschrift mit ein. Genauer: . In einem k–Schrittverfahren berechnet man die Approximation y i+1 = y(xi+1 ) aus den Daten (xi−k+1 , yi−k+1 ), (xi−k+2 , yi−k+2 ), . . . , (xi−1 , yi−1 ), (xi , yi ). Die Daten stammen aus den vorherigen Schritten oder einer Anlaufrechnung. Neben der Konsistenz ist die Eigenschaft der Stabilit¨at bei MSV notwendig, um die Konvergenz zu zeigen. Insofern zeigt sich hier ein wesentlicher Unterschied zu den ESV. 4.1
Verfahrensklassen
Adams–Verfahren. Zur Herleitung der Adams–Verfahren integriert man die Differentialgleichung y 0 = f (x, y) von xi bis xi+1 und erh¨alt Zxi+1 f (x, y(x)) dx . y(xi+1 ) = y(xi ) + xi
61
(4.1)
Der Integrand in (4.1) h¨angt von der (unbekannten) L¨osung y ab und wird nun durch ein Interpolationspolynom p ersetzt. Zwei F¨alle werden unterschieden: a) Das Polynom p interpoliert fi−k+j = f (xi−k+j , yi−k+j ) , j = 1, . . . , k f fi−k+1 f i−1
x i−k+1
f i
x i−1
xi
p(x) Integration x
y
i+1
x
i+1
Abbildung 23: Idee der Adams-Bashforth-Verfahren
¨ Uber die Lagrange-Interpolation hat man die Darstellung p(x) =
k X j=1
fi−k+j · li,j (x) mit li,j (x) =
k Y ν=1 ν6=j
x − xi−k+ν . xi−k+j − xi−k+ν
Mit Einsetzen von p(x) im Integral in (4.1) folgt yi+1 = yi + hi
k X
βi,j fi−k+j ,
βi,j
j=1
Zxi+1 1 := li,j (x) dx. hi xi
Fu ¨r ¨aquidistantes Gitter xi = x0 + i · h sind die Koeffizienten βi,j =: βj−1 , j = 1, . . . , k unabh¨angig vom Schritt i, Zxi+1 Z1 Y k li,j (x) dx = h
xi
0
= h
ν=1 ν6=j
Z1 Y k 0
|
ν=1 ν6=j
x0 + ih + sh − (x0 + (i − k + ν)h) ds x0 + (i − k + j)h − (x0 + (i − k + ν)h) k−ν+s ds. j−ν {z }
=:βj−1
62
Die Verfahrensvorschrift schreibt sich dann folgendermaßen: yi+1 = yi + h(β0 fi−k+1 + β1 fi−k+2 + . . . + βk−1 fi )
(4.2)
As spezielle Verfahren hat man k=1 k=2 k=3
yi+1 = yi + hfi , ¢ ¡ yi+1 = yi + h − 21 fi−1 + 32 fi , ¡5 fi−2 − 16 yi+1 = yi + h 12 12 fi−1 +
23 12 fi
¢
.
Die so gewonnenen expliziten MSV nennt man Adams–Bashforth–Verfahren. b) Ein alternativer Zugang fordert, dass das Polynom p die Werte fi−k+j fu ¨r j = 1, . . . , k, k + 1 interpoliert. Da p damit von yi+1 abh¨angt, liegt ein implizites Verfahren vor. f
p(x)
fi f i+1
x i−k+1
xi
x i+1
x
Abbildung 24: Idee der Adams-Moulton-Verfahren
Analoge Konstruktion des Interpolanten wie unter a) liefert p(x) =
k+1 X j≡1
fi−k+j ·
∗ li,j (x),
∗ li,j (x)
=
k+1 Y ν=1 ν6=j
x − xi−k+ν . xi−k+j − xi−k+ν
Bei ¨aquidistantem Gitter erh¨alt man die Koeffizienten ∗ βj−1 =
Z1 Y k+1 0
ν=1 ν6=j
k−ν+s ds, j−ν 63
j = 1, . . . , k + 1
und als Verfahren ∗ fi + βk∗ fi+1 ). yi+1 = yi + h(β0∗ fi−k+1 + . . . + βk−1
(4.3)
Spezielle Vertreter sind ¢ ¡ Trapezregel, yi+1 = yi + h 21 fi + 12 fi+1 ¡ 1 ¢ 8 5 yi+1 = yi + h − 12 fi−1 +, 12 fi + 12 fi+1 .
k=1 k=2
Diese Klasse von impliziten MSV bezeichnet man als Adams–Moulton– Verfahren. Der Fall k = 0 macht auch Sinn, daraus ergibt sich yi+1 = yi + hfi+1
Impliziter Euler.
Adams–Verfahren sind in der Praxis von großer Bedeutung und werden meist als Pr¨adiktor–Korrektor–Schema implementiert: (0)
(i) yi+1 = yi + h(β0 fi−k+1 + . . . + βk−1 fi ) (Startschritt mit explizitem Adams–Bashforth–Verfahren) (l+1)
(l)
(ii) yi+1 = Ψ(yi+1 ), l = 0, 1, . . . Fixpunktiteration Korrektorschritt; mit implizitem Adams–Moulton– Verfahren, wobei ∗ fi ). Ψ(y) := hβk∗ f (xi+1 , y) + yi + h(β0∗ fi−k+1 + . . . + βk−1
Die Integration im Korrektor konvergiert fu ¨r h hinreichend klein gegen einen Fixpunkt mit y = Ψ(y), da dann kΨ0 (y)k = h|βk∗ | kfy (xi+1 , y)k ≤ M < 1 gezeigt werden kann (vgl. Banachscher Fixpunktsatz). Verfahren nach Nystr¨ om und Milne. Analog zur Herleitung der Adams– Verfahren kann man weitere MSV konstruieren, indem man y 0 = f (x, y) von xi−1 bis xi+1 integriert, d.h. u ¨ber 2 Intervalle. Der Fall a) mit explizit gegebenem Interpolanten p fu ¨hrt dann auf die Nystr¨om–Verfahren. Ein Beispiel ist der Fall k=2 yi+1 = yi−1 + 2hfi , 64
der die beim GBS-Algorithmus in Abschnitt 3.6 eingesetzte Mittelpunktregel liefert. Der Fall b) mit implizitem Ansatz definiert die Verfahren nach Milne. Als Beispiel betrachte k=2
yi+1 = yi−1 + h/3(fi−1 + 4fi + fi+1 ),
eine Verallgemeinerung der Keplerschen Fassregel aus der Quadratur (Verfahren von Milne–Simpson). BDF–Verfahren. Die Herleitung der BDF (Backward Difference Formulas)– Verfahren basiert auf der Differentation (und nicht der Integration wie bei Adams). Man konstruiert einen Interpolanten q(x) durch (xi−k+1 , yi−k+1 ), . . . , (xi , yi ), (xi+1 , yi+1 ) und fordert, dass q(xi+1 ) die Differentialgleichung erfu ¨llt, d.h. q 0 (xi+1 ) = f (xi+1 , q(xi+1 )) = f (xi+1 , yi+1 ). In der Lagrange-Darstellung ist q(x) =
k+1 X j=1
∗ (x) yi−k+j li,j
⇒
0
q (xi+1 ) =
k+1 X
∗,0 (xi+1 ). yi−k+j li,j
j=1
Im Fall ¨aquidistanter Schrittweiten gilt weiter k+1 1 d Y k − ν + s d ∗ l (x)|x=xi+1 = |s=1 dx i,j h ds ν=1 j − ν ν6=j | {z } =:αj−1
Die Koeffizienten α0 , . . . , αk sind wiederum unabh¨angig vom Schritt i, und allgemein lautet das k-Schritt-BDF-Verfahren dann α0 yi−k+1 + . . . + αk−1 yi + αk yi+1 = hfi+1 . 65
(4.4)
BDF–Verfahren sind implizit und finden vor allem bei steifen Differentialgleichungen Anwendung (s. Kapitel 5). Beispiele sind k=1 k=2 k=3
yi+1 − yi = hf (xi+1 , yi+1 )
1 3 2 yi+1 − 2yi + 2 yi−1 = hfi+1 11 3 1 6 yi+1 − 3yi + 2 yi−1 − 3 yi−2
(Impliziter Euler) (BDF-2) = hfi+1
(BDF-3)
Im Folgenden werden alle bisher eingefu ¨hrten Verfahren unter einer einheitlichen Notation zusammengefaßt und analysiert. Statt α0 yi−k+1 + . . . + αk yi+1 = h(β0 fi−k+1 + . . . + βk−1 fi + βk fi+1 ) schreibt man ein lineares k-Schritt-Verfahren bequemer als α0 yi + α1 yi+1 + . . . + αk yi+k = h(β0 fi + . . . + βk fi+k ) bzw. kurz
k X
αl yi+l = h
k X
βl fi+l
(4.5)
l=0
l=0
mit zun¨achst beliebigen reellen Verfahrenskoeffizienten αl und βl . 4.2
Konsistenz von MSV
Analog zu den ESV untersuchen wir nun den Fehler eines MSV in einem Schritt. Dazu gibt es verschiedene Ans¨atze, die im Wesentlichen ¨aquivalent sind. Wir verwenden hier den Defekt als lokale Fehlerdefinition, vgl. Definition 3.1. Definition 4.1 Lokaler Diskretisierungsfehler MSV Sei y(x) exakte L¨osung des AWP y 0 = f (x, y), y(x0 ) = y0 . Der lokale Diskretisierungsfehler des MSV (4.5) mit konstanter Schrittweite h ist definiert als Defekt à k ! k X X 1 τ (h) := αl y(xi+l ) − h βl f (xi+l , y(xi+l )) . h l=0
l=0
66
Das Fehlermaß τ (h) ergibt sich also durch Einsetzen der exakten L ¨osung in die Differenzengleichung (4.5). Im Sonderfall exakter Daten yi = y(xi ), . . . , yi+k−1 = y(xi+k−1 ) hat man fu ¨r die numerische Lo¨sung unter der Annahme βk = 0 (explizites Verfahren) k−1 k−1 X X βl fi+l αl yi+l = h αk yi+k + l=0
l=0
und fu ¨r die exakte L¨osung αk y(xi+k ) +
k−1 X l=0
αl y(xi+l ) = h
k−1 X l=0
βl fi+l + h · τ (h)
αk (y(xi+k ) − yi+k ) . =⇒ τ (h) = h
(4.6)
Die Darstellung (4.6) ist analog zur Definition 3.1 des lokalen Fehlers bei ESV. Oft normiert man das MSV noch durch αk := 1, so dass (4.6) unabh¨angig von Verfahrenskoeffizienten geschrieben werden kann. Definition 4.2 Konsistenzordnung MSV Ein MSV heisst konsistent, falls der lokale Diskretisierungsfehler τ (h) f u ¨r h → 0 ebenfalls gegen 0 strebt: kτ (h)k ≤ γ(h) mit lim γ(h) = 0 . h→0
Das MSV hat Konsistenzordnung p, falls kτ (h)k = O(hp ) . Zur Bestimmung der Konsistenzordnung eines MSV fu ¨hrt man ¨ahnlich den RK–Verfahren einen Abgleich durch und ermittelt Bedingungsgleichungen fu ¨r die Koeffizienten αl , βl . Man setzt an à k ! k X X 1 αl y(x + lh) − h βl y 0 (x + lh) = τ (h) h l=0
l=0
67
mit
1 y(x + lh)) = y(x) + y 0 (x)lh + y 00 (x)(lh)2 + . . . 2 1 y 0 (x + lh)) = y 0 (x) + y 00 (x)lh + y 000 (x)(lh)2 + . . . 2
Sortieren nach h–Potenzen ergibt k
k
l=0
l=0
X X 1 0 (αl · l − βl ) αl + y (x) τ (h) = y(x) h k
X h + y 00 (x) (αl · l2 − 2βl l) 2 l=0 .. . k X hp−1 (p) (αl · lp − p · βl lp−1 ) y (x) + p!
(4.7)
l=0
p
+ O(h )
Ein MSV ist demnach konsistent, falls k X
αl = 0 und
k X l=0
l=0
(αl · l − βl ) = 0.
(4.8)
Fu ¨r die Ordnung p ≥ 1 mu ¨ssen auch die ho¨heren Terme in der Entwicklung (4.7) herausfallen, d.h. k X
q
αl l = q
l=0
k X
βl lq−1 fu ¨r q = 1, . . . , p.
l=0
Beispiel 4.1: Gegeben ist das MSV yi+2 + 4yi+1 − 5yi = h(4fi+1 + 2fi ). Die Verfahrenskoeffizienten sind also α2 = 1, α1 = 4, α0 = −5, β1 = 4, β0 = 2 X X Konsistent: αl = 0, αl · l − βl = (−5 · 0 − 2) + (4 · 1 − 4) + (1 · 2) = 0 X p=2: αl · l2 − 2βl l = (−5 · 0 − 2 · 0) + (4 · 1 − 8) + (1 · 4) = 0 X p=3: αl · l3 − 3βl l2 = (−5 · 0 − 2 · 0) + (4 · 1 − 12) + (1 · 8) = 0
68
(4.9)
Also liegt ein 2–Schritt–Verfahren der Konsistenzordnung p = 3 vor.
Alternativ zu den Bedingungsgleichungen (4.8) und (4.9) benutzt man die erzeugenden Polynome ρ(ζ) : = αk ζ k + . . . + α1 ζ + α0 ,
(4.10)
σ(ζ) : = βk ζ k + . . . + β1 ζ + β0 ,
(4.11)
um die Konsistenzordnung zu charakterisieren. Es folgt unmittelbar die ¨ Aquivalenz der Konsistenzbedingung (4.8) mit ρ(1) = 0 und ρ0 (1) = σ(1).
(4.12)
Die weiteren Bedingungen erh¨alt man u ¨ber den Ansatz h
ρ(e ) = σ(eh ) =
k X
l=0 k X
αl e
lh
=
βl elh =
l=0
k X
l=0 k X l=0
1 αl (1 + lh + (lh)2 + . . .) 2 1 βl (1 + lh + (lh)2 + . . .) 2
Daraus schließt man auf h
h
ρ(e ) − hσ(e ) =
k X
αl + h
l=0
k X l=0
k
(αl · l − βl )
1 X + h2 (αl · l2 − 2βl · l) 2 l=0 .. . k hp X + (αl · lp − pβl · lp−1 ) + O(hp+1 ). p!
(4.13)
l=0
D.h., die Entwicklung (4.7) l¨asst sich auch u ¨ber die Exponentialfunktion kompakt darstellen. Setzt man noch h = ln µ, dann ist h = 0 ⇔ µ = 1 und ρ(eh )−hσ(eh ) = O(hp+1 ) ⇔ ρ(µ)−ln µ·σ(µ) hat µ = 1 als p+1–fache NST 69
Satz 4.1 Konsistenzordnung MSV P P Das MSV αl yi+l = h βl fi+l hat die Konsistenzordnung p, falls eine der drei ¨aquivalenten Bedingungen erfu ¨llt ist: (i)
k P
αl = 0 und
l=0
(ii) (iii)
k P
q
αl l = q
l=0
k P
βl lq−1 fu ¨r q = 1, . . . , p
l=0
ρ(eh ) − hσ(eh ) = O(hp+1 ) fu ¨r h → 0. ρ(µ) − ln µ · σ(µ) hat µ = 1 als p + 1–fache Nullstelle
Bemerkungen 1) In der Literatur schreibt man oft τ (x, y, h) statt τ (h), um die Abh ¨angigkeit vom Gitter und der L¨osung zu betonen. Bedingung (ii) oben bedeutet dann τ (x, exp, h) = O(hp ) . Ein anderer Ansatz verwendet statt τ (x, y, h) den Differenzenoperator L(x, y, h) :=
k X l=0
αl y(x + lh) − h
k X
βl y 0 (x + lh) = hτ (x, y, h).
l=0
2) Einordnung Verfahrensklassen: k–Schritt–Adams–Bashforth Adams–Moulton BDF p k k+1 k Was ist die maximal erreichbare Konsistenzordnung? Insgesamt hat man 2k + 2 Parameter α0 , . . . , αk , β0 , . . . , βk . Nach Normierung αk = 1 stehen noch 2k + 1 Parameter zur Verfu ¨gung. Wie man zeigen kann, existiert ein implizites MSV der Ordnung p = 2k und ein explizites mit p = 2k − 1. Die maximal erreichbare Ordnung ist also deutlich h¨oher als bei Adams- oder BDF–Verfahren. Allerdings sind solche Verfahren nicht mehr stabil, siehe den n¨achsten Abschnitt. Vor der Stabilit¨atsanalyse noch die Definition des globalen Fehlers: 70
Definition 4.3 Globaler Diskretisierungsfehler Der globale Diskretisierungsfehler eines MSV ist die Differenz en (X) = y(X) − yn mit X = xn fest, n variabel. Exkurs: MSV — der abstrakte Zugang Sei E der Vorw¨arts–Shift–Operator, Eyi = yi+1 , so dass ρ(E) = ρ(E)yi =
k X
l=0 k X
αl E l , αl yi+l .
l=0
Mit der Abku ¨rzung ρ = ρ(E) und σ = σ(E) schreibt sich ein MSV dann kompakt (autonomer Fall) ρyi = hσf (yi ).
(4.14)
Die erzeugenden Polynome ρ, σ definieren also Differenzenoperatoren ρyi =
k X
αl yi+l ,
σf (yi ) =
l=0
k X
βl fi+l .
l=0
In manchen Bu ¨chern findet man diese auf Dahlquist zuru ¨ckgehende elegante Darstellung (4.14) von Mehrschrittverfahren. 4.3
Stabilit¨ at von MSV
Wie h¨angen lokaler Fehler (d.h. die Konsistenz) und globaler Fehler (d.h. Konvergenz) zusammen? Anders als bei ESV braucht man bei MSV eine zus¨atzliche Stabilit¨atsbedingung, um Konvergenz zu zeigen. 71
Beispiel 4.2 Beispiel 4.1,
Als Beispiel f¨ ur die Problematik betrachte das MSV mit k = 2 und p = 3 aus yi+2 + 4yi+1 − 5yi = h(4fi+1 + 2fi ).
Erzeugende Polynome sind ρ(ζ) = ζ 2 + 4ζ − 5 sowie σ(ζ) = 4ζ + 2. Das MSV wird angewendet auf die triviale (!) Differentialgleichung y 0 = 0 , AW y0 = 1 , sowie y1 = 1 + h².
(4.15)
Daraus ergibt sich die 3–Term–Rekursion yi+2 + 4yi+1 − 5yi = 0,
Start y0 = 1, y1 = 1 + h².
(4.16)
Ansatz zur L¨ osung: ρ(ζ) = (ζ − 1)(ζ + 5) = (ζ − ζ1 )(ζ − ζ2 ) mit NST ζ1 = 1, ζ2 = −5. Aus yi = ζ1i folgt ζ1i+2 + 4ζ1i+1 − 5ζ1i = 0 ⇐⇒ ζ1i · ρ(ζ1 ) = 0.
ζ1i ist also spezielle L¨ osung der Differenzengleichung (4.16), genauso ζ2i . Als allgemeine L¨osung setzen wir an yi = Aζ1i + Bζ2i , und damit gilt yi+2 + 4yi+1 − 5yi = 0
Aζ1i ρ(ζ1 ) + Bζ2i ρ(ζ2 ) = 0.
⇐⇒
Die noch freien Parameter A, B ergeben sich aus den AW y0 = Aζ10 + Bζ20 =A+B B= =⇒ A = 1 + h² 6 ,
−h² 6 .
y1 = Aζ11 + Bζ21 = A − 5B
Die allgemeine L¨ osung der Rekursion (4.16) lautet somit yi = (1 +
h² −h² ) · 1i + · (−5)i . 6 6
(4.17)
Diskussion: Im Fall ² = 0 liegen die Startwerte auf der exakten L¨osung y(x) ≡ 1 von (4.15). Die numerische L¨ osung yi ≡ 1 stimmt dann mit der exakten u ¨berein. Im Fall ² 6= 0 ist y1 leicht gest¨ort. Diese St¨ orung wird duch den Faktor (−5)i dramatisch verst¨ arkt – das MSV ist instabil!
Die im Beispiel diskutierte Problematik tritt bei vielen MSV auf. Verfahren mit scheinbar guten Eigenschaften wie hoher Konsistenzordnung und kleiner Fehlerkonstante liefern schon bei einfachsten Testbeispielen extrem schlecht Resultate. Zur Analyse des Stabilit¨atsproblems wird wie im Beispiel 4.2 die triviale Testgleichung y 0 = 0, y(x0 ) = 1 betrachtet. Ein darauf angewandtes MSV liefert die homogene Rekursion oder Differenzengleichung α0 yi + α1 yi+1 + . . . + αk yi+k = 0 72
(4.18)
mit Startwerten y0 , . . . , yk−1 . Offensichtlich ist die Folge der yi u ¨ber die Rekursion eindeutig festgelegt. Man kann aber noch mehr aussagen, und zwar mit Hife der Theorie der Differenzengleichungen. Beachte die Analogie zu linearen Differentialgleichungen k-ter Ordnung! Satz 4.2 Sei λ eine m-fache Nullstelle des charakteristischen Polynoms ρ(ζ) aus (4.10), d.h. ρ(λ) = ρ0 (λ) = . . . = ρ(m−1) (λ) = 0. Dann gilt: (1)
(2)
(3)
(i) yi = λi , yi = Dλi = iλi−1 , yi = D2 λi = i(i − 1)λi−2 , . . . , (m) yi = Dm−1 λi = i(i − 1)(i − 2) · . . . · (i − m + 2)λi−m+1 sind spezielle L¨osungen der homogenen Rekursion (4.18). (ii) Die allgemeine L¨osung der homogenen Rekursion (4.18) ist eine Linearkombination der insgesamt k speziellen L¨osungen nach (i). (j)
Beweis:
Betrachte spezielle L¨ osung yi
(j)
α 0 yi
(j)
mit 1 ≤ j ≤ m,
(j)
+ α1 yi+1 + . . . + αk yi+k = Dj−1 (α0 λi + α1 λi+1 + . . . + αk λi+k ) = Dj−1 (ρ(λ) · λi ).
Mit der Produktregel nach Leibniz l
D (f · g) =
l µ ¶ X l
s
s=0
Ds f Dl−s g
folgt D
j−1
i
(ρ(λ)λ ) = ρ(λ) D |{z} =0
j−1 i
λ + ... +
µ
j−1 s
¶
Ds ρ(λ) Dj−1−s λi + . . . + D j−1 ρ(λ) λi = 0. | {z } | {z } =0
=0
Damit ist (i) gezeigt. Offensichtlich gibt es insgesamt k spezielle L¨osungen entsprechend dem Grad von ρ, und jede Linearkombination ist ebenfalls L¨osung der homogenen Rekursion. Zu zeigen bleibt, dass solch eine Linearkombination durch die Startwerte y0 , . . . , yk−1 eindeutig festgelegt ist. Beweis dazu ist “elementar, aber m¨ uhselig” (Stoer/Bulirsch, S. 148, vergl. Bsp. 4.2).
Welche Folgerung erlaubt Satz 4.2? Wir haben die Fallunterscheidung: 73
¤
Falls λ eine NST von ρ ist mit |λ| > 1: {yi } = {λi } w¨achst exponentiell! Falls λ eine NST von ρ ist mit |λ| < 1: {yi } = {λi } f¨allt exponentiell! Falls λ eine NST ist mit |λ| = 1: (1)
yi = λi liefert |yi | = 1, (j)
yi = i(i − 1)(i − 2) · . . . · (i − j + 2)λi w¨achst polynomiell! (nur falls λ eine j-fache NST mit j > 1) Die homogene Rekursion wird also vollst¨andig durch die Nullstellen des charakteristischen oder erzeugenden Polynoms ρ bestimmt. Dies motiviert Definition 4.4 Stabilit¨atsbedingung MSV Ein MSV erfu ¨llt die Stabilit¨atsbedingung, falls alle NST des charakteristischen Polynoms ρ(ζ) = αk ζ k +. . .+α1 ζ+α0 im abgeschlossenen Einheitskreis von C liegen und diejenigen auf dem Rand nur einfach sind: Falls ρ(λ) = 0 =⇒ |λ| ≤ 1. ) ρ(λ) = 0 Falls =⇒ λ ist einfache NST. und |λ| = 1
(4.19)
Das MSV heißt stark stabil: Fu ¨r alle NST gilt |λ| < 1 außer fu ¨r λ = 1, ansonsten schwach stabil. Aufgrund der Testgleichung y 0 = 0 spricht man manchmal auch von 0– Stabilit¨at oder, zu Ehren von Dahlquist, von D-Stabilit¨at. Abb. 25 illustriert die Lage der Nullstellen bei Erfu ¨lltsein der Stabilit¨atsbedingung. Bei konsistenten MSV ist λ = 1 immer eine NST von ρ, denn ρ(1) = α0 + α1 + . . . + αk = 0
(nach Satz 4.1).
Was bedeutet die Stabilit¨atsbedingung fu ¨r die oben eingefu ¨hrten Verfahrensklassen? Bei Adams–Bashforth und Adams–Moulton ist αk = 1 , αk−1 = −1 , αk−2 = . . . = α0 = 0 74
Im
x einfache NST ρ x
evt. mehrfache NST
x x x
Re
Abbildung 25: Nullstellen des ρ-Polynoms bei Erf¨ ulltsein der Stabilit¨atsbed.
und damit ρ(ζ) = ζ k −ζ k−1 = ζ k−1 (ζ−1) mit NST λ = 1 einfach , λ = 0 k − 1-fach. Die Adams-Verfahren sind demnach stark stabil. Die Verfahren nach Nystr¨om und Milne haben Koeffizienten αk = 1, αk−1 = 0, αk−2 = −1, αk−3 = · · · = α0 = 0. Daher ρ(ζ) = ζ k − ζ k−2 = ζ k−2 (ζ 2 − 1) = ζ k−2 (ζ − 1)(ζ + 1) mit NST ζ1 = 0, ζ2 = 1, ζ3 = −1. Diese MSV sind nur schwach stabil. Die BDF-Verfahren sind stark stabil nur fu ¨r k ≤ 6, ansonsten instabil (s. Hairer/Norsett/Wanner, Kap. III.3). Die bisherige Analyse des Stabilita¨tsproblems kann wie folgt zusammengefasst werden: Die Konsistenz eines MSV reicht nicht aus, um Konvergenz fu ¨r die Testgleichung y 0 = 0 zu erzielen. Zus¨atzlich notwendig ist die Stabilit¨atsbedingung (4.19)! Welche maximale Konsistenzordnung kann ein stabiles MSV haben? Ohne Beru ¨cksichtigung der Stabilit¨atsbedingung war die maximale Ordnung 2k 75
bzw. 2k−1, s.o. Diese Verfahren sind aber instabil, und es zeigt sich, dass die in Abschnitt 4.1 eingefu ¨hrten Verfahrensklassen (Adams, Milne/Simpson) bereits optimal sind. Es gilt der beru ¨hmte Satz 4.3
1. Dahlquist–Barriere (1956/59) k k P P Ein lineares k-Schritt–Verfahren αl yi+l = h βl fi+l , das die Stabilit¨atsl=0
l=0
bedingung (4.19) erfu ¨llt, hat maximale Konsistenzordnung k + 2, k + 1, k,
falls k gerade falls k ungerade falls βk /αk ≤ 0 (insbesondere falls MSV explizit).
Die Ordnung k+2 kann nur erzielt werden, wenn alle Nullstellen des charakteristischen Polynoms ρ auf dem Rand des Einheitskreises liegen (schwach stabiles Verfahren). Der Beweis der Dahlquist–Barriere ist sehr aufwendig und verlangt einige funktionentheoretische Hilfsmittel, s. Hairer/Norsett/Wanner, Kap. III.3. Im Fall k = 1 haben wir also maximale Ordnung p = 2, wird erreicht vom Adams-Moulton-Verfahren yi+1 − yi = h2 (fi+1 + fi ) (Trapezformel). Im Fall k = 2 ist p = 4 maximal erreichbar, wird erreicht vom MilneSimpson-Verfahren yi+1 = yi−1 + h/3(fi−1 + 4fi + fi+1 ), dieses ist aber nur schwach stabil. Wie sieht nun der allgemeine Fall, d.h. die Konvergenz fu ¨r y 0 = f (x, y), aus? Es zeigt sich, dass die anhand von y 0 = 0 ermittelte Stabilita¨tsbedingung (4.19) hinreichend ist, um die Konvergenz fu ¨r ein konsistentes Verfahren zu zeigen.
76
4.4
Konvergenz von MSV
Wie bei den Einschrittverfahren setzen wir im folgenden voraus, dass die rechte Seite f der Differentialgleichung global Lipschitzstetig ist und zudem genu ¨gend glatt, damit der Begriff der Konsistenzordnung Sinn macht. Im Unterschied zu den ESV muss fu ¨r die Konvergenz auch der Fehler in den Startdaten y0 , . . . , yk−1 beru ¨cksichtigt werden: Definition 4.5 Konvergenz und Konvergenzordnung Sei y(x) exakte L¨osung des AWP y 0 = f (x, y), y(x0 ) = y0 . Weiter gelte fu ¨r die Startdaten y(x0 + jh) − yj → 0 fu ¨r h → 0,
j = 0, . . . , k − 1.
Das MSV ist konvergent, falls dann y(X) − yn → 0
fu ¨r h → 0,
X = x0 + nh fest.
Gilt fu ¨r die Startdaten ky(x0 + jh) − yj k ≤ c0 hp mit h ≤ h0 , dann ist das MSV konvergent von der Ordnung p, falls ky(X) − yn k ≤ chp fu ¨r Schrittweiten h ≤ h0 . Aus der Stabilit¨atsanalyse des vorangegangenen Abschnitts schließt man, dass Konsistenz und Stabilit¨at des MSV notwendig sind, um Konvergenz zu erhalten. (i) Angenommen, das MSV ist nicht stabil. Betrachte das AWP y 0 = 0, y(0) = 0 und st¨ ore √ den Startwert y0 mit h. Falls das erzeugende Polynom ρ eine NST ζ1 mit |ζ1 | > 1 hat, ist √ X/h yn = hζ1 , also Divergenz f¨ ur h → 0. Falls eine mehrfache NST ζ2 mit |ζ2 | = 1 vorliegt, ist √ X/h yn = X/ hζ1 ebenfalls divergent. Also muss ρ die Stabilit¨atsbedingung (4.19) erf¨ ullen. (ii) Betrachte das AWP y 0 = 0, y(0) = 1 mit Startdaten y0 = . . . = yk−1 = 1. Wegen αk yk + P αk−1 + . . . + α0 = 0 f¨ ur alle h folgt aus der Konvergenz yk → 1 die Forderung ρ(1) = αj = 0. (iii) Betrachte das AWP y 0 = 1, y(0) = 0 mit exakter L¨osung y(x) = x. Das MSV mit Startdaten
77
yj = jh f¨ ur j = 0 : k − 1 lautet α k yk + h
k−1 X
jαj = h
k X
βj
j=0
j=0
αk (yk − hk) + hρ0 (1) = hσ(1)
⇒
und aus der Konvergenz yk → kh ergibt sich ρ0 (1) = σ(1). Zusammen mit ρ(1) = 0 impliziert dies die Konsistenz als notwendige Voraussetzung.
Stabilit¨at und Konsistenz sind also notwendig, aber sind sie auch hinreichend fu ¨r die Konvergenz? Es heisst nun ’tief Luft holen’, um den formalen Rahmen fu ¨r den Konvergenzbeweis bereit zu stellen. Wir schreiben das MSV als yi+k = −
k−1 X
αj0 yi+j
+h
k−1 X
βj0 f (xi + jh, yi+j ) + hβk0 f (xi + kh, yi+k )
j=0
j=0
mit Koeffizienten αj0 = αj /αk , βj0 = βj /αk . Die letzten beiden Terme auf der rechten Seite fassen wir zusammen zur implizit definierten Gr o¨ße ψ = ψ(xi , yi , . . . , yi+k−1 , h) mit à ! k−1 k−1 X X ψ := βj0 f (xi + jh, yi+j ) + βk0 f xi + kh, hψ − αj0 yi+j (4.20) j=0
j=0
Das MSV lautet nun kurz yi+k = −
k−1 X
αj0 yi+j + hψ.
j=0
Weiter definieren wir den m · k-Vektor (m =Dimension f ) Yi := (yi+k−1 , yi+k−2 , . . . , yi )T , der alle Daten, die aus der Vergangenheit in die Berechnung von y i+k eingehen, entha¨lt (die sog. ’Schleppe’ des MSV). Die Grundidee fu ¨r die Konvergenzanalyse besteht nun darin, das MSV auf ein Einschrittverfahren bez. Y zuru ¨ckzufu ¨hren. Ideal w¨are eine Formulie78
rung des MSV in der Gestalt Yi+1 = Yi + hΦ(xi , Yi , h) mit einer Verfahrensfunktion Φ, doch dies ist nicht zu erreichen. Es gilt aber Pk−1 0 − j=0 αj yi+j + hψ(xi , Yi , h) yi+k y i+k−1 yi+k−1 Yi+1 = .. = .. . . yi+1 yi+1 Im Fall m = 1 kann man dies neu schreiben als
Yi+1 = AYi + hΦ(xi , Yi , h)
(4.21)
mit
A :=
0 −αk−1
1
0 −αk−2
0 1
... ... ...
−α10 . . .. . 1
−α00
0 0 , .. . 0
Φ(x, Yi , h) :=
ψ(xi , Yi , h) 0 0 .. . 0
.
Der Fall m > 1: Dann liefert das Kronecker-Produkt A ⊗ B zweier Matrizen A, B die passende Schreibweise. Es ist A ⊗ B die aus Bl¨ ocken ajl B zusammengesetzte Matrix, a11 B . . . a1k B .. A ⊗ B = ... . ak1 B . . . akk B
A und B m¨ ussen dabei nicht unbedingt quadratische Matrizen sein. Die Verfahrensvorschrift (4.21) lautet dann f¨ ur m > 1 Yi+1 = (A ⊗ Im×m )Yi + h(e1 ⊗ Im×m )ψ(xi , Yi , h).
(4.22)
Im folgenden wollen wir uns der Einfachheit halber auf den Fall m = 1 zur¨ uckziehen und uns mit dem Hinweis begn¨ ugen, dass f¨ ur m > 1 die ganze Argumentation mithilfe des Kroneckerproduktes ganz analog abl¨ auft.
Die Rekursion (4.21) charakterisiert also das Mehrschrittverfahren. H a¨tten wir A = I, dann l¨age ein ESV in der u ¨blichen Notation vor, und wir w¨aren 79
praktisch fertig. Aber: Die Matrix A enth¨alt mit den αj die Koeffizienten, die die Stabilit¨at des Verfahrens festlegen. Es gilt nun: Falls die Stabilit¨atsbedingung (4.19) vom MSV erfu ¨llt wird, dann gibt es eine Vektornorm k k · k auf dem R , so dass kAxk ≤ 1. (4.23) kAk = sup x6=0 kxk Man rechnet schnell aus, dass die Eigenwerte von A genau die Wurzeln des erzeugenden Polynoms ρ sind. Aufgrund der Stabilit¨ atsbedingung (4.19) erf¨ ullen alle EW |λj | ≤ 1, und die JordanNormalform von A ist λl+1 δl+1 .. T −1 AT = diag λ1 , . . . , λl , . . δ k−1
λk
Die mehrfachen EW seien dabei λl+1 , . . . , λk mit δj = 0 oder δj = 1 je nach Vielfachheit. Es gibt nun ein ε > 0 mit 1 − |λj | > ε f¨ ur j = l + 1 : k (mehrfache EW liegen im Innern des Einheitskreises). Setze ´ ³ Dε := diag 1, ε, ε2 , . . . , εk−1 .
Mit einer weiteren Transformation ergibt sich
λl+1 εδl+1 .. Dε−1 JDε = diag λ1 , . . . , λl , . εδk−1 , λk P und in der Maximumnorm kBk∞ = maxj l |Bjl | ist kDε−1 JDε k∞ ≤ 1.
Nun definieren wir als Vektornorm kxk := kDε−1 T −1 xk∞ , womit folgt kAxk = kDε−1 T −1 AT Dε Dε−1 T −1 xk∞ = kDε−1 JDε Dε−1 T −1 xk∞ ≤ kxk. Diese Argumentation kann auch auf die Matrix A ⊗ I verallgemeinert werden, um kA ⊗ Ik ≤ 1 in einer geeigneten Norm zu zeigen.
Nach diesen Vorbereitungen kann das folgende Resultat gezeigt werden: Satz 4.4
Konvergenz von MSV
Falls das lineare k-Schritt–Verfahren
k P
l=0
αl yi+l = h
k P
l=0
βl fi+l die Konsistenz-
ordnung p besitzt und die Stabilit¨atsbedingung (4.19) erfu ¨llt, dann ist es auch konvergent von der Ordnung p. 80
Beweis: Wir betrachten das MSV als ESV in der Vorschrift(4.21). F¨ ur zwei diskrete Approximationen Yi und Zi ist Yi+1 = AYi + hΦ(xi , Yi , h),
Zi+1 = AZi + hΦ(xi , Zi , h)
und somit kYi+1 − Zi+1 k ≤ kAkkYi − Zi k + hkΦ(xi , Yi , h) − Φ(xi , Zi , h)k. Falls f Lipschitzstetig ist, so auch ψ aus (4.20) und folglich Φ (bez¨ uglich Y ), und zwar mit Lipschitzkonstante L∗ . Wir nehmen die Norm mit kAk ≤ 1, falls die Stabilit¨atsbedingung (4.19) erf¨ ullt ist, und folgern kYi+1 − Zi+1 k ≤ (1 + hL∗ )kYi − Zi k. (4.24) Abb. 26 zeigt die weitere Vorgehensweise, die ¨ahnlich der beim Satz 3.1 u ¨ber die Konvergenz von ESV ist. Allerdings wird hier nicht eine Folge exakter L¨osungen mit Gronwall abgesch¨atzt, sondern umgekehrt eine Folge numerischer Approximationen mit (4.24).
Y(x0 )
Y(xn )
Y0 Y1 Y2
x1
x2
Yn Y3 x3
Y4 x4
xn
Abbildung 26: Vorgehen beim Konvergenzbeweis (i)
Betrachte die exakte L¨ osung Y (xi ) f¨ ur i = 0 : n − 1. Wir nehmen sie als Startwert Yi := Y (xi ) (i) (i) f¨ ur das MSV, das dann die Folge Yi+1 , . . . , Yn von Approximationen liefert. Im ersten Schritt ist (i)
Y (xi+1 ) − Yi+1 = hτ (h) (i+1)
mit dem lokalen Diskretisierungsfehler kτ (h)k = O(hp ). Starten wir in Yi+1
weiteres MSV, das dann die Folge mit (4.24)
(i+1) (i+1) Yi+2 , . . . , Yn
(i+1)
kYn(i+1) − Yn(i) k ≤ (1 + hL∗ )n−i−1 kYi+1
(0)
:= Y (xi+1 ) ein
liefert, so gilt f¨ ur die Differenz am Endpunkt (i)
− Yi+1 k ≤ (1 + hL∗ )n−i−1 chp+1 .
Die Fortpflanzung der Differenz Y (x0 ) − Y0 = Y0 − Y0 in den Startdaten ergibt sich mit (4.24) zu (0) kYn(0) − Yn k ≤ (1 + hL∗ )n kY0 − Y0 k.
81
Jetzt muss nur noch aufsummiert werden: kY (xn ) − Yn k = kY (xn ) − Yn(n−1) + Yn(n−1) − Yn(n−2) + . . . + Yn(1) − Yn(0) + Yn(0) − Yn k n−1 X (0) p+1 ∗ n ≤ (1 + hL ) kY0 − Y0 k + ch (1 + hL∗ )i (0)
≤ exp(nhL∗ )kY0
(0)
≤ exp(nhL∗ )kY0 = exp(nhL (0)
F¨ ur Startdaten kY0
∗
(0) )kY0
− Y0 k + chp+1 − Y0 k + chp+1
i=0 n−1 X
Zi=0n
exp(ihL∗ ) exp(shL∗ )ds
s=0
hp − Y0 k + c ∗ (exp(nhL∗ ) − 1) . L
− Y0 k = kY (x0 ) − Y0 k = O(hp ) folgt Konvergenz der Ordnung p.
¤
Bemerkungen 1. Die Konvergenztheorie zu MSV kurz und pr¨agnant zusammengefasst: Stabilit¨at + Konsistenz
⇐⇒
Konvergenz
2. Die gesamte hier diskutierte Theorie ist auf den Fall konstanter Schrittweiten beschra¨nkt. Die Erweiterung auf variable Schrittweiten ist mo¨glich, verlangt aber erheblichen zusa¨tzlichen Aufwand. Alle drei Punkte Konsistenz, Stabilit¨at und Konvergenz mu ¨ssen dazu neu aufgerollt werden! 4.5
Implementierung von MSV
Zum Abschluss des Kapitels u ¨ber MSV noch ein paar Worte zur Implementierung. Im Gegensatz zu den Runge-Kutta-Verfahren ist diese sehr komplex und l¨asst viel Spielraum fu ¨r Heuristiken. Die heute verfu ¨gbaren Codes gleichen in gewisser Hinsicht “ nerv¨osen Rennpferden”. Die Adams-Verfahren, implementiert als Pra¨diktor-Korrektor-Paar mit variabler Ordnung und variabler Schrittweite, sind die großen Konkurrenten der expliziten Runge-Kutta-Verfahren. 82
Ein Integrationsschritt von xi nach xi+1 verl¨auft nach dem Schema: Algorithmus 4.1 Predict:
P (EC)m E–Verfahren
(0)
yi+1 := yi + h(β0 fi−k+1 + . . . + βk−1 fi )
% k–Schritt–Adams–Bashforth–Verfahren, bei variablem Gitter % h¨angen β0 , . . . , βk−1 von den vorherigen Schrittweiten ab und % werden u ¨ber dividierte Differenzen ermittelt. Evaluate: Auswertung
(0)
(0)
f (xi+1 , yi+1 ) =: fi+1
For l = 0 : m − 1 Correct: Fixpunktiteration (l+1)
(l)
∗ yi+1 := hβk∗ fi+1 + yi + h(β0∗ fi−k+1 + . . . + βk−1 fi )
% k–Schritt–Adams–Moulton, % Koeffizientenber. verwendet Information des Adams–Bashforth-Verf. Evaluate: Auswertung
(l+1)
(l+1)
f (xi+1 , yi+1 ) =: fi+1
% (Abbruchkriterium oder feste Anzahl m von Iterationen) (0)
(m)
Die Schrittweitensteuerung erfolgt mit yi+1 − yi+1 als Fehlersch¨atzer: (0)
ky(xi+1 ) − yi+1 k = O(hk+1 ) Adams–Bashforth Ordnung k, (m) ky(xi+1 ) − yi+1 k = O(hk+2 ) Adams–Moulton Ordnung k + 1 (m) (0) =⇒ kyi+1 − yi+1 k = O(hk+1 ) fu ¨r Schrittweitensteuerung Alle g¨angigen Codes haben zudem die M¨oglichkeit, die Ordnung von Schritt zu Schritt zu ver¨andern. Numerische Software: LSODE, VODE, siehe elib.zib-berlin.de. In MATLAB ist das Adams-Verfahren als ode113 implementiert, mit Ordnung 1 ≤ k ≤ 13. Der erste Schritt ist ein Eulerschritt, dann wird w¨ahrend der Anlaufrechnung sukzessive die Ordnung erho¨ht. 83
Vergleich der MATLAB-Integratoren ode45 und ode113 Was ist nun vorzuziehen, ein Runge-Kutta-Integrator wie ode45 oder ein Adams-Verfahren wie ode113? Wir testen die MATLAB-Implementierungen am Beispiel des Arenstorf-Problems, einer Differentialgleichung zweiter Ordnung aus der Himmelsmechanik (3-K¨orper-Problem). Das folgende m-file wertet die Differentialgleichung aus. function yprime = aren(x,y) % % Arenstorf orbit ode % take xend = 17.06521656015796255 % and y0 = [ 0.994; 0; 0; -2.001585106379082522] % to get a periodic trajectory mu = 0.012277471; mup = 1-mu; D1 = ((y(1)+mu)^2 + y(2)^2)^(3/2); D2 = ((y(1)-mup)^2 + y(2)^2)^(3/2); yprime = [ y(3); y(4); y(1)+2*y(4)-mup*(y(1)+mu)/D1-mu*(y(1)-mup)/D2; y(2)-2*y(3)-mup*y(2)/D1-mu*y(2)/D2 ]; end
1
10
ode23
−10
ode45
10
CPU
RelTol
0
ode113
10
ode113
ode45 −5
10
−1
10 0
10
−5
10 Fehler
−10
0
10
10
−5
10 Fehler
Abbildung 27: Vergleich der MATLAB-Integratoren
84
−10
10
Zum Zeitpunkt xend ist die L¨osung in den Komponenten y1 , y2 periodisch. Wir bestimmen dort den absoluten Fehler der Integratoren (2-Norm), und zwar fu ¨r immer genauer werdende Toleranzvorgaben. Zudem wird die Rechenzeit gemessen (auf einem Siemens-Fujitsu S6010 Notebook mit Pentium III 1 GHz Prozessor). rt(1) = 1.e-3; at(1) = 1.e-6; for i = 1:20 options = odeset(’RelTol’,rt(i),’AbsTol’,at(i)); tic,[x,y] = ode45(@aren,[0,xend],y0,options);c=toc % tic,[x,y] = ode113(@aren,[0,xend],y0,options);c=toc cpu(i) = c; err(i) = sqrt((y0(1)-y(length(y),1))^2+(y0(2)-y(length(y),2))^2); rt(i+1) = rt(i)/2; at(i+1) = at(i)/2; end
Abb. 27 zeigt die so gewonnenen Ergebnisse. Links ist der tats¨achliche Fehler gegen die Vorgabe RelTol aufgetragen, in doppelt logarithmischer Skalierung. Offensichtlich liegt der globale Fehler in der Gr¨oßenordnung von RelTol, die Integratoren arbeiten zuverl¨assig. Rechts ist ein Aufwandsdiagramm oder Work-Precision-Diagram zu sehen, mit dem Fehler gegen die Rechenzeit. Bei niedriger Genauigkeit ist ode45 am effizientesten, bei hoher dagegen ode113. Zum Vergleich ist auch der Runge-Kutta-Integrator ode23 mit Ordnung 2(3) eingetragen; er ist bei diesem glatten Problem chancenlos. Bei der Analyse von ode113 fa¨llt auf, dass dieses Verfahren sehr wenige Funktionsauswertungen beno¨tigt, aber durch die Koeffizientenberechnung zus¨atzlicher Aufwand entsteht, so dass ode45 bei niedriger Genauigkeit im Vorteil ist. Das ’Zittern’ der Werte von ode113 ist auf die komplexere Heuristik mit simultaner Ordnungs- und Schrittweitensteuerung zur u ¨ckzufu ¨hren. Dadurch verh¨alt sich das MSV nicht so vorhersehbar - eine h¨ohere Toleranzforderung resultiert nicht unbedingt in einer besseren numerischen Approximation. 85
Kapitel
5
Numerik steifer Differentialgleichungen 5 Nachdem wir mit den expliziten Ein- und Mehrschrittverfahren zwei große Klassen von Integratoren fu ¨r gewo¨hnliche Differentialgleichungen kennengelernt haben, wenden wir uns nun den sogenannten steifen Differentialgleichungen zu. Steife Differentialgleichungen treten in vielen Anwendungen auf und sind im Prinzip mit den bereits eingefu ¨hrten Methoden l¨osbar. Allerdings mu ¨ssen explizite Verfahren die Schrittweiten bei dieser Problemklasse sehr klein w¨ahlen und sind nicht mehr effizient. Warum das so ist, soll zun¨achst gekl¨art werden, bevor Alternativen in Form von impliziten bzw. semi-impliziten Ein- und Mehrschrittverfahren eingefu ¨hrt werden. 5.1
Das Ph¨ anomen der Steifheit (’Stiffness’)
Als Motivation betrachten wir den Van-der-Pol-Oszillator in den Koordinaten von Li´enhart (2.3) y10 = −y2 ,
1 y20 = (y1 − y23 /3 + y2 ) ε
mit Anfangswert y1 (0) = 1, y2 (0) = 2. Die Anwendung des Runge-KuttaVerfahrens ode45 aus MATLAB liefert dann zum Parameterwert ε = 10−3 die in Abb. 28 dargestellte numerische L¨osung bei 1204 erfolgreichen und 86
Van der Pol, ε = 1.e−3, ode45
Ausschnitt −1.99
2 −1.995
0
y
y
1
−2
−1 −2.005 −2 0
0.5
1 x
1.5
2
0.994 0.996 0.998 x
1
1.002 1.004
Abbildung 28: Integration der Van-der-Pol-Gleichung mit ode45
288 verworfenen Schritten. Bei genauem Hinsehen erkennt man, dass der Integrator extrem kleine Schrittweiten wa¨hlt, obwohl sich die Lo¨sung kaum ¨andert. Im Ausschnitt rechts sieht man ein “Zittern” der L¨osung, was auf ein Stabilit¨atsproblem hindeutet. Andere Toleranzvorgaben beeinflussen dieses Verhalten nur wenig, und auch die Anwendung des Adams-Verfahrens ode113 fu ¨hrt auf ¨ahnliche Effekte (bei 2471 bzw. 339 erfolgreichen / verworfenen Schritten). Um die Problematik na¨her zu analysieren, nehmen wir ein einfacheres Testproblem, dessen exakte Lo¨sung eine fallende Exponentialfunktion ist: y 0 = λy
mit λ < 0.
(5.1)
D.h., y(x) = eλx · y0 soll durch ein numerisches Verfahren approximiert werden. In der Abb. 29 sieht man das Ergebnis zu λ = −10 fu ¨r den expliziten Euler als einfachstem numerischen Verfahren. Nur wenn die Schrittweite h klein genug gew¨ahlt wird, erh¨alt man eine gute Approximation. Andernfalls oszilliert die numerische Lo¨sung (Fall h = 0.2) oder sie explodiert gar (Fall h > 0.2). Dagegen liefert der implizite Euler unabh¨angig von der Schrittweite eine gute Approximation! Mit anderen Worten: Die Schrittweite h kann bei 87
diesem Beispiel fu ¨r den impliziten Euler beliebig groß gew¨ahlt werden, beim expliziten Euler dagegen nicht. Expliziter Euler 1 0
h = 0.1
−1 −1
0
1
2
3
4
5
0
1
2
3
4
5
0
1
2
3
4
5
1 0
h = 0.2
−1 −1
1 0
h=1
−1 −1
x Impliziter Euler 1 0
h=0.1
−1 −1
0
1
2
3
4
5
0
1
2
3
4
5
0
1
2
3
4
5
1 0
h=0.2
−1 −1
1 0
h=1
−1 −1
x
Abbildung 29: Anwendung des expliziten u. impliziten Eulers auf (5.1)
88
Sowohl bei der Van-der-Pol-Gleichung (2.3) als auch bei der Testgleichung (5.1) spricht man von einer steifen Differentialgleichung (wobei der Grad der Steifheit von den Parametern ε bzw. λ abh¨angt). Bevor der Begriff “steif” na¨her erla¨utert wird, eine Analyse der Diskretisierung von (5.1): (i) Expliziter Euler y1 = y0 +h·λ·y0 , d.h. yi+1 = (1+hλ)yi = (1+hλ)i+1 y0 ¡ 1 ¢i+1 1 (ii) Impliziter Euler y1 = y0 + h · λ · y1 , d.h. yi+1 = 1−hλ yi = 1−hλ y0
Damit im Fall (i) die fallende L¨osung eλx approximiert wird, muß mindestens gelten |1 + h · λ| ≤ 1. Erfu ¨llt h zu geg. λ diese Restriktion nicht, w¨achst die L¨osung, also Divergenz. Im Fall (ii) ist wegen λ < 0 die Ungleichung ¯ ¯ ¯ 1 ¯ ¯ ¯ ¯ 1 − hλ ¯ ≤ 1
fu ¨r alle h > 0 erfu ¨llt, d.h. die numerische L¨osung f¨allt stets! Das implizite Verfahren ist hier also u ¨berlegen. ¨ Ahnliche Beobachtungen machten Curtiss/Hirschfelder 1952 an Beispielen aus der chemische Reaktionskinetik, und sie fu ¨hrten den Begriff der steifen Differentialgleichung ein (“stiff equation”): Stiff equations are equations where certain implicit methods perform better, usually tremendously better, than explicit ones. Dies ist natu ¨rlich keine Definition im mathematischen Sinn. Bis heute tut man sich jedoch sehr schwer, den Begriff der Steifheit formal zu erfassen. Einige Definitionsversuche: 89
1) Implizit besser als Explizit (s.o.) Ein System gew¨ohnlicher Differentialgleichungen ist steif, wenn explizite Verfahren aus Stabilit¨atsgru ¨nden extrem kleine Schrittweiten verwenden, obwohl sich die Lo¨sung kaum a¨ndert; implizite Verfahren dagegen große Schrittweiten einsetzen ko¨nnen. 2) Eigenwertansatz Ein lineares System y 0 = Ay ist steif, wenn A einige Eigenwerte λj mit stark negativem Realteil besitzt und einige mit schwach negativem Realteil, d.h. das Verh¨altnis max |Re(λj )|/ min |Re(λj )| j
j
ist sehr groß. Im nichtlinearen Fall y 0 = f (y) betrachtet man die Jacobimatrix Df (y). 3) Singul¨ ar gest¨ orte Systeme Differentialgleichungen der Form y 0 = f (y, z) ²z 0 = g(y, z)
(vgl. Van-der-Pol)
mit reellem Parameter ² ¿ 1 sind singul¨ar gest¨ort und fu ¨hren typischerweise auf steife Differentialgleichungen. Man unterscheidet beim L¨osungsverhalten Grenzschichten und asymptotische Phasen, Abb.30. y,z Grenzschicht
x asymptotische Phasen
Abbildung 30: L¨osungsverhalten singul¨ar gest¨orter Systeme
90
Zur Aufl¨osung einer Grenzschicht ben¨otigt jedes numerische Verfahren kleine Schrittweiten. In der asymptotischen Phase jedoch sind große Schrittweiten von Vorteil, und hier sind implizite Verfahren im steifen Fall u ¨berlegen. Im Abschnitt 5.4 werden wir ru ¨ckblickend diese verschiedenen Interpretationen von Steifheit nochmals diskutieren und eine weitere Sichtweise, die auf dem Begriff der Kondition basiert, kennenlernen. Steifheit ist demnach nicht klar definiert. Dieses Manko spielt aber keine große Rolle, wichtiger ist vielmehr, dass steife Differentialgleichungen in einer Vielzahl von Anwendungen auftreten. Alle bisher eingefu ¨hrten Verfahren versagen dort kl¨aglich! Warum das so ist, la¨sst sich auch zeichnerisch veranschaulichen. Betrachte nach Prothero/Robinson (1973) y 0 = λ · (y − ϕ) + ϕ0
(5.2)
mit λ ¿ 0 und exakter L¨osung y(x) = (y0 − ϕ(x0 ))eλ(x−x0 ) + ϕ(x). Die gegebene Funktion ϕ sei langsam variierend.
y
0
y
*
y *
*
y
ϕ
0
ϕ
* *
*
*
x
0
x1 x 2 *
x
x
0
x
1
x2
Impliziter Euler
Expliziter Euler
Abbildung 31: Modellproblem nach Prothero-Robinson 91
x
Obwohl das Modellproblem (5.2) (und allgemein steife Differentialgleichungen) extrem gut konditioniert ist, zeigt ein Verfahren wie der explizite Euler ein katastrophales Verhalten. Um Verfahren fu ¨r steife Differentialgleichungen zu bewerten und zu analysieren, fu ¨hrt man nach Dahlquist (1963) die Testgleichung y0 = λ · y
mit λ ∈ C, Re λ ≤ 0,
(5.3)
ein. Eine Mindestforderung ist nun Definition 5.1 A-stabil (Absolut stabil) Ein numerisches Verfahren heißt A-stabil, falls seine Anwendung auf (5.3) fu ¨r jede Schrittweite h > 0 stets eine nicht wachsende Folge von Approximationen {yi } produziert, |yi | ≤ |y0 | fu ¨r alle i. Auch im Fall Re λ = 0 fordert man also nichtwachsende L¨osungen. Konkret bedeutet dies, dass die Schwingungsgleichung q¨ = −ω 2 q, die wir komplexwertig als y 0 = ±iω·y schreiben k¨onnen, auch bei beliebig großer Schrittweite eine nicht wachsende numerische L¨osung haben soll. Welche Verfahren sind A-stabil? Im folgenden untersuchen wir die bereits bekannten Klassen der Ein- und Mehrschrittverfahren unter diesem Gesichtspunkt. 5.2
Einschrittverfahren
Zun¨achst betrachten wir nochmals den expliziten Euler. Anwendung auf die Testgleichung (5.3) liefert y1 = y0 + h · λ · y0 = R(z) · y0 mit R(z) := 1 + z, z = h · λ. Die Stabilit¨atsfunktion R des Euler-Verfahrens charakterisiert das Verhalten. Sei λ ∈ C fest mit Re λ ≤ 0. Dann gibt es Schrittweiten h > 0 mit |R(z)| = |R(h · λ)| = |1 + hλ| > 1 92
und demnach y0 < y1 < y2 < y3 < . . ., also nicht A-stabil! Wu ¨rde stattdessen |R(z)| ≤ 1 ∀z ∈ C− := {z ∈ C : Re z ≤ 0} gelten, so w¨are das Verfahren A-stabil. Fu ¨r alle ga¨ngigen Einschrittverfahren y1 = y0 + hΦ(x0 , y0 , h) fu ¨hrt die Anwendung auf die Testgleichung (5.3) auf eine Vorschrift y1 = R(z) · y0 mit der zum Verfahren geh¨origen Stabilit¨atsfunktion R. Beim expliziten Euler ist R(z) := 1 + z, beim impliziten Euler dagegen R(z) = 1/(1 − z), weitere Beispiele s.u. Mit Hilfe der Stabilit¨atsfunktion kann man nun die Stabilit¨atseigenschaften des Verfahrens noch genauer beschreiben: Definition 5.2 Stabilit¨atsgebiet eines ESV Das Stabilit¨atsgebiet eines ESV ist die Menge S := {z ∈ C : |R(z)| ≤ 1}. ¨ Man hat die Aquivalenz A–stabil
⇐⇒ |R(z)| ≤ 1 ∀z ∈ C− ⇐⇒ C− ⊂ S
Das Stabilit¨atsgebiet des expliziten Euler ist eine Kreisscheibe mit Radius 1 und Mittelpunkt −1, siehe Abb. 32. Falls z = h · λ ∈ S, arbeitet das Verfahren stabil, ansonsten aber instabil! Man kann schnell zeigen, dass alle expliziten Runge-Kutta-Verfahren nicht A-stabil sind: Die Stabilit¨atsfunktion ist ein Polynom in z vom Grad ≤ s mit der Stufenzahl s. Fu ¨r ein Polynom R kann |R(z)| ≤ 1 in C− nicht erfu ¨llt werden – also kann das Verfahren nicht A–stabil sein! 93
Im
S
i Re
−2 −i
Abbildung 32: Stabilit¨atsgebiet expliziter Euler
Das Stabilit¨atsgebiet von DOPRI5 (bzw. ode45 in Matlab) ist in Abb. 33 dargestellt. Es umfasst, im Gegensatz zum expliziten Euler, einen Teil der imagin¨aren Achse.
Im
S 2i
Re
Abbildung 33: Stabilit¨atsgebiet DOPRI5 94
Aus der Kenntnis des Stabilit¨atsgebietes kann man Aussagen u ¨ber die maximal m¨oglichen Schrittweiten des Verfahrens zu einer gegebenen Differentialgleichung treffen, vorausgesetzt man hat eine zumindest grobe N ¨aherung fu ¨r die Eigenwerte. Beispiel 5.1:
Wir betrachten das lineare System à ! 998 1998 y 0 = Ay mit A = . −999 −1999
A hat die Eigenwerte λ1 = −1 und λ2 = −1000. Zum Anfangswert y0 = (1, 0)T findet man als exakte L¨osung à ! à ! 2 −1 y(x) = e−x + e−1000x . −1 1 Die L¨osung besteht also aus einem langsamen und einem sehr schnell abklingenden Term. Der letztere ist f¨ ur die Steifheit verantwortlich. Diagonalisierung von A auf T −1 AT = diag (λ1 , λ2 ) und Transformation auf neue Variable u = T −1 y f¨ uhrt auf die entkoppelten Gleichungen u0i = λi ui ,
i = 1, 2.
Ein Runge-Kutta-Verfahren ist invariant unter einer solchen linearen Transformation. D.h., es spielt keine Rolle, ob man das urspr¨ ungliche System direkt diskretisiert oder das transformierte und dann das Ergebnis zur¨ ucktransformiert, das Ergebnis ist dasselbe. Im transformierten System erkennen wir die Testgleichung (5.3), und entsprechend k¨onnen wir nun die Schrittweiteneinschr¨ ankungen f¨ ur numerische Verfahren u ¨ber die Stabilit¨atsfunktion bzw. direkt u atsgebiet bestimmen. Der betragsgr¨oßte Eigenwert λ2 ist entscheidend. ¨ber das Stabilit¨ Im Fall expliziter Euler muß h so gew¨ ahlt werden, dass |R(hλ2 )| ≤ 1
⇒
h ≤ 2/|λ2 | = 0.002,
denn −2 markiert den linken Rand des Stabilit¨atsgebietes S. Bei DOPRI5 liegt der linke Rand bei ca. −3.3, daher folgt f¨ ur dieses Verfahren die Einschr¨ankung h ≤ 3.3/|λ2 | = 0.0033.
Im Fall nichtlinearer Differentialgleichungen y 0 = f (y) erh¨alt man u ¨ber die Eigenwerte der Jacobimatrix Df (y) entlang einer L¨osung Information u ¨ber die Steifheit. (Betrachte u = y + ∆y zur bekannten L¨osung y. Dann folgt u0 = f (u) = f (y + ∆y) = y 0 + ∆y 0 und mit Linearisierung ∆y 0 = Df (y)∆y.)
Eine Bestimmung der Eigenwerte ist im allgemeinen aber zu aufwa¨ndig und auch nicht unbedingt notwendig. Steifheit zeigt sich bei expliziten Verfahren 95
mit Schrittweitensteuerung direkt u ¨ber die Reaktion der Schrittweitensteuerung, denn diese erkennt die m¨ogliche Instabilit¨at und arbeitet hart an der Stabilit¨atsgrenze, es sei denn, die Genauigkeitsanforderungen verlangen per se kleinere Schrittweiten. Ha¨ufig kommt es dabei zu sehr vielen Schrittverwerfungen und einem ’Zittern’ der Schrittweiten (vergl. Hausaufgabe H18). Grundlage der Schrittweitensteuerung ist die Differenz y1 − yˆ1 mit dem eingebetteten Verfahren yˆ1 . Bei Anwendung auf die Testgleichung (5.3) lautet ˆ ˆ nur der Fehlersch¨atzer (R(z) − R(z))y atsfunktion R 0 , wobei die Stabilit¨ innerhalb von S mit R bis auf O(hp+1 ) u ¨bereinstimmt. Außerhalb von S ist h nicht mehr ’klein genug’, und die beiden Stabilit¨atsfunktionen laufen aufgrund ihrer polynomiellen Struktur schnell auseinander. Implizite Runge-Kutta-Verfahren Der implizite Euler wurde bereits oben analysiert. Angewandt auf die Testgleichung (5.3) erhalten wir 1 y1 = y0 + h · λy1 =⇒ y1 = R(z) · y0 mit R(z) := . 1−z Die Stabilita¨tsfunktion ist rational und hat fu ¨r z → −∞ das gleiche asymptotische Verhalten wie exp. Wegen |R(z)| ≤ 1 fu ¨r alle z ∈ C− ist dieses Verfahren A-stabil. (F¨ ur z ∈ C− hat man |R(z)|2 = 1/((1 − z)(1 − z¯)) = 1/((1 − x − iy)(1 − x + iy)) = 1/(1 + x 2 + y 2 − 2x) ≤ 1/(1 + x2 + y 2 ), da x ≤ 0, und somit |R(z)| ≤ 1.)
Das Stabilit¨atsgebiet des impliziten Eulers ist in Abb. 34 skizziert. Es gilt C− ⊂ S, und auch der Großteil von C+ ist in S enhalten, weswegen man manchmal von einem ’superstabilen’ Verfahren spricht. Gibt es weitere implizite Verfahren, die wie der implizite Euler A-stabil sind und damit fu ¨r steife Differentialgleichungen geeignet? 96
C
S i 1 −i
Abbildung 34: Stabilit¨atsgebiet des impliziten Eulerverfahrens
Ein Beispiel ist die Trapezregel aus (3.3) µ ¶ 1 1 h K1 + K2 y1 = y0 + (f (x0 , y0 ) + f (x1 , y1 )) = y0 + h 2 2 2 mit K1 = f (x0 , y0 ), K2 = f (x1 , y1 ) = f (x1 , y0 + h (K1 /2 + K2 /2)). Dieses Verfahren ist von der Ordnung p = 2 (Herleitung z.B. als Sonderfall k = 1 der Adams-Moulton-Verfahren). Seine Stabilit¨atsfunktion ergibt sich zu h y1 = y0 + (λy0 + λy1 ) 2
⇒
y1 =
1 + hλ/2 1 + z/2 y0 , , d.h. R(z) = . 1 − hλ/2 1 − z/2
Wiederum ist R eine rationale Funktion und das Verfahren A-stabil: Betrachte die imagin¨are Achse z = iy. Dort ist ¯ ¯ ¯ 1 + iy/2 ¯ 2 2 ¯ ¯ ¯ 1 − iy/2 ¯ ≤ 1 ⇔ |1 + iy/2| ≤ |1 − iy/2|
und wegen |1 + iy/2|2 = (1 + iy/2)(1 − iy/2) = |1 − iy/2|2 ist diese Ungleichung fu ¨r alle y ∈ R erfu ¨llt. Die Funktion R ist also auf dem Rand von − C dem Betrage nach kleiner gleich 1. Zugleich ist sie im Innern von C− analytisch, und nach dem Maximumprinzip folgt |R(z)| ≤ 1 fu ¨r alle z ∈ C− . Genauer: Das Maximumprinzip besagt: Ist f : G → C holomorph (analytisch) im beschr¨ ankten Gebiet G, dann nimmt f sein Maximum auf dem Rande ∂G an. Das Innere von C − ist ein Gebiet,
97
aber nicht beschr¨ ankt! Deswegen muss man die Kompaktifizierung C− ∪{∞} betrachten und deren Rand ∂(C− ∪ {∞}) = {z ∈ C : Re z = 0} ∪ {∞} Auf dem Rand ist |R(z)| ≤ 1, denn |R(iy)| ≤ 1 und |R(∞)| = 1.
Ein weiteres implizites Verfahren ist die implizite Mittelpunktregel y1 = y0 + hK1 ,
K1 = f (x0 + h/2, y0 + h/2K1 ).
(5.4)
Sie besitzt diesselbe Stabilita¨tsfunktion wie die Trapezregel und ist damit auch A-stabil. (Zu unterscheiden von der expliziten Mittelpunktregel, einem 2-Schritt-Verfahren.) Wie sieht das Stabilit¨atsgebiet S dieser beiden Verfahren aus? Die Beispiele der Trapez- und Mittelpunktregel legen nahe, die bereits eingefu ¨hrte Klasse der Runge-Kutta-Verfahren geeignet zu erweitern, um weitere A-stabile Verfahren zu gewinnen. Butcher (1964) fu ¨hrte dazu die impliziten Runge–Kutta–Verfahren ein, kurz IRK-Verfahren. Das allgemeine Diskretisierungsschema fu ¨r einen Schritt lautet y1 = y0 + h(b1 K1 + b2 K2 + . . . + bs Ks ) mit Korrekturen / Zuw¨achsen à Ki = f
x0 + ci h, y0 + h
s X j=1
aij Kj
!
,
(5.5)
i = 1, . . . , s.
(5.6)
Wie im expliziten Fall legen die Verfahrenskoeffizienten bi , ci fu ¨r i = 1, . . . , s sowie aij fu ¨r i, j = 1, . . . , s die Methode fest. Erste Beispiele mit zugeh¨origem Butcher-Tableau sind c A bT
1 1 1 Impl. Euler
1/2 1/2 1 Mittelpunktregel
0 0 0 1 1/2 1/2 1/2 1/2 Trapezregel
Im Vergleich zum expliziten Ansatz hat man durch die insgesamt 2s+s2 Verfahrenskoeffizienten nun noch mehr Freiheitsgrade, um Ordnung, aber auch 98
Stabilit¨atseigenschaften festzulegen. Falls die Koeffizienten auf der Diagonalen und im rechten oberen Dreieck verschwinden, aij = 0 fu ¨r j ≥ i, liegt der bekannte explizite Fall vor. Aufgrund der impliziten Definition ist nicht klar, ob solche Verfahren wohldefiniert sind, d.h., ob das nichtlineare Gleichungssystem fu ¨r die Stufen K1 , . . . , K s u ¨berhaupt eine eindeutige L¨osung besitzt. Wir verschieben diese Frage aber auf sp¨ater und bleiben vorerst bei der Frage der Stabilit¨at. Satz 5.1 Stabilit¨atsfunktion von IRK-Verfahren Die Stabilit¨atsfunktion des IRK-Verfahrens (5.5)-(5.6) hat die Darstellungen (i) R(z) = 1 + zbT (I − zA)−1 1l mit 1l = (1, . . . , 1)T und
det(I − zA + z1lbT ) (ii) R(z) = . det(I − zA) Ferner ist R eine rationale Funktion P (z) , R(z) = Q(z) wobei die Polynome P und Q vom Grad ≤ s sind. Beweis:
Aus der Definition der Ki in (5.6) folgt f¨ ur die Testgleichung y 0 = λy K1 K1 K1 .. . . . = λy0 1l + λhA .. ⇒ (I − λhA) .. = λy0 1l. Ks
Also ist y1 = y 0 + h
s X i=1
Ks
Ks
K1 bi Ki = y0 + hbT ... = y0 + hbT (I − λhA)−1 λy0 1l = y0 (1 + zbT (I − λhA)−1 1l), Ks
womit (i) gezeigt ist. Die zweite Darstellung gewinnt man aus dem linearen System K1 Ã ! Ã ! .. λy 1 l I − λhA 0 0 . = . y0 −hbT 1 Ks y1
99
Die Cramersche Regel liefert y1 = det
Ã
I − λhA λy0 1l −hbT y0
!
/ det
Ã
I − λhA 0 −hbT 1
!
Der Nenner reduziert sich auf det(I − zA), der Z¨ahler auf ! ! Ã Ã I − λhA + λh1lbT 0 I − λhA λy0 1l = y0 det(I − λhA + λh1lbT ). = det det −hbT y0 −hbT y0 Aus der Determinantendarstellung folgt schließlich die behauptete Struktur als rationale Funktion in z.
¤
Die Stabilita¨tsfunktion eines IRK-Verfahrens ist demnach eine rationale Funktion R(z) = P (z)/Q(z), die von den Verfahrenskoeffizienten abh a¨ngt. Welche Eigenschaften soll R(z) haben? Exakte L¨osung und numerische Approximation der Testgleichung sollten m¨oglichst gut sowohl fu ¨r z → 0 (klassische Approximation bei kleinen Schrittweiten) als auch fu ¨r z → ∞ (gleiches asymptotisches Verhalten bei großen Schrittweiten) u ¨bereinstimmen. D.h., wu ¨nschenswert ist R(z) mit ( z→0 y(h) − y1 = (ez − R(z))y0 → 0 fu ¨r z ∈ C− und z→∞ Im Fall z → 0 erh¨alt man die optimale Approximation der Exponentialfunktion durch die Pad´e-Approximation: Definition 5.3 Sei g(z) analytisch in einer Umgebung von z = 0. Dann heißt die rationale Funktion Rjk (z) =
Pjk (z) Qjk (z)
mit Pjk (z) = a0 + a1 z + . . . + ak z k und Qjk (z) = 1 + b1 z + . . . + bj z j die Pad´e-Approximation vom Index (j, k), falls (l)
Rjk (0) = g (l) (0)
fu ¨r l = 0, . . . , j + k. 100
Mit anderen Worten, Rjk (z) = g(z) + O(z j+k+1 ) fu ¨r z → 0. Man kann zei¨ gen (Ubung H21), dass zu g(z) = exp(z) eindeutige Pad´e-Approximationen existieren, die in der Pad´e-Tafel, Tab. 1, zusammengefasst sind. Die erste Zeile in der Tafel (Nennergrad j = 0) entha¨lt die Stabilita¨tsfunktionen der expliziten Runge-Kutta-Verfahren mit p = s = 1, 2, 3 und ist daher uninteressant. Ferner erkennt man als (1, 0)-Approximation die Stabilit ¨atsfunktion des impliziten Euler, als (1, 1)-Approximation in der Diagonalen die Stabilit¨atsfunktion der Trapezregel (bzw. Mittelpunktregel). 1 1 1 1−z 1 1−z+z 2 /2
1+z 1 1+z/2 1−z/2 1+z/3 1−2z/3+z 2 /6
1+z+z 2 /2 1 1+2z/3+z 2 /6 1−z/3 1+z/2+z 2 /12 1−z/2+z 2 /12
Tabelle 1: Pad´e-Tafel f¨ ur j, k = 0, 1, 2
Fu ¨r den steifen Fall wichtig: • Die Diagonaleintr¨age (j, j) liefern bestm¨ogliche Approximationsordnung 2j an die Exponentialfunktion fu ¨r z → 0. Gleichzeitig hat man immer ein Astabiles Verfahren, allerdings mit |R(∞)| = 1 (zeigt man mit Argumentation analog zur A-Stabilit¨at der Trapezregel oben). Falls Re λ < 0, ist dieses Verhalten fu ¨r große Schrittweiten nicht optimal. Sinnvoll kann es aber im Fall Re λ = 0 sein, d.h. bei Schwingungsproblemen. • Die erste und zweite Subdiagonale enthalten Stabilit¨atsfunktionen, die ebenfalls einem A-stabilen Verfahren entsprechen. Die Approximationsordnung an die Exponentialfunktion ist mit 2j − 1 bzw. 2j − 2 geringer als auf der Diagonalen, doch gilt nun R(∞) = 0. Im Fall Re λ < 0 bekommt man fu ¨r große Schrittweiten das gleiche asymptotische Verhalten wie bei der Exponentialfunktion. Dagegen hat man fu ¨r Re λ = 0 die Eigenschaft der numerischen D¨ampfung: Eine Schwingung wird bei großen Schrittweiten nicht erhalten, sondern weggeda¨mpft. 101
Bemerkung: W¨ahrend die Exponentialfunktion entlang der imagin¨aren Achse fu ¨r z → ∞ ein anderes Verhalten aufweist als entlang der rellen Achse, ist dies bei den Pad´e-Approximationen nicht der Fall. Man hat entweder |R(∞)| = 1 oder R(∞) = 0, mit den jeweiligen Vor- und Nachteilen. Definition 5.4 L-Stabilit¨at Ein Einschrittverfahren heißt L-stabil, falls es A-stabil ist und zus¨atzlich gilt lim R(z) = 0.
z→∞
Wir suchen nun IRK-Verfahren, die folgende Eigenschaften aufweisen: (i) A-Stabilita¨t oder besser noch L-Stabilita¨t; die Stabilita¨tsfunktion soll in der Pad´e-Tafel auf der Diagonalen oder auf der ersten Subdiagonalen liegen. (ii) M¨oglichst hohe Konsistenzordnung. Zur Bestimmung solch eines Verfahrens stehen uns die 2s + s2 Verfahrenskoeffizienten zur Verfu ¨gung, doch bedeutet dies eine sehr große Zahl an Freiheitsgraden, die schnell nicht mehr handhabbar sind. Deswegen spezialisieren wir uns hier auf eine besonders wichtige Klasse von IRK-Verfahren: Kollokationsverfahren. Wir betrachten y 0 = f (x, y) mit y(x0 ) = y0 im Intervall [x0 , x0 + h] und bezeichnen das Polynom w(x) als Kollokationspolynom, falls w(x0 ) = y0 w0 (x0 + ci h) = f (x0 + ci h, w(x0 + ci h)) i = 1, . . . , s.
(5.7)
In den gegebenen Stu ¨tzstellen 0 ≤ c0 < c1 < . . . < cs ≤ 1 erfu ¨llt w demnach die Differentialgleichung. Die Punkte x0 +ci h heißen Kollokationspunkte. Mit w(x0 + h) liefert das Verfahren eine Approximation der L¨osung y(x0 + h). Da w implizit definiert ist, mu ¨sste man zuna¨chst die Existenz des Kollokationspolynoms kla¨ren. Die Antwort darauf liefert aber die weiter unten folgende Analyse der IRK-Verfahren, denn: 102
Satz 5.2 Das Kollokationsverfahren (5.7) ist ¨aquivalent zu einem sstufigen Runge-Kutta-Verfahren mit Koeffizienten Z 1 Z ci lj (x) dx, i, j = 1 : s, lj (x) dx, bj = aij = 0
0
mit den Lagrange-Polynomen lj (x) =
Q
l6=j (x
− cl )/(cj − cl ).
Das Polynom w 0 besitzt die Darstellung
Beweis:
w0 (x0 + th) =
s X
w0 (x0 + cj h)lj (t),
j=1
Zugleich ist
und damit
Z
ci
1 w(x0 + th)|c0i = (w(x0 + ci h) − w(x0 ))/h h
w0 (x0 + th) dt =
0
w(x0 + ci h) = w(x0 ) + h
Z
ci 0
s X
t ∈ [0, 1].
0
w (x0 + cj h)lj (t) dt = y0 + h
aij f (x0 + cj h, w(x0 + cj h)).
j=1
j=1
Wir setzen Ki := f (x0 + ci h, w(x0 + ci h)) = f (x0 + ci h, y0 + h nichtlineare System (5.6) f¨ ur die Korrekturen. Weiter ist w(x0 + h) = w(x0 ) + h
s X
Z
s 1X
0
Ps
j=1 aij Kj )
w (x0 + cj h)lj (t) dt = y0 + h
0 j=1
s X
und erhalten so das
bj K j = y 1 .
j=1
Die Beziehung Ki = w0 (x0 + ci h) zeigt im u ¨brigen den Zusammenhang zwischen Korrektur und Kollokationspolynom.
¤
Jedes Kollokationsverfahren ist durch die Kollokationspunkte c 1 , . . . , cs eindeutig festgelegt. Statt 2s + s2 Koeffizienten brauchen wir also nur noch diese s Koeffizienten zu betrachten. Welche Konsistenzordnung l ¨asst sich so erreichen? Fu ¨r t ∈ [0, 1] und k ≤ s gilt die Darstellung (Interpolation mit den LagrangePolynomen lj als Basis von Ps−1 ) t
k−1
=
s X
ck−1 j lj (t)
j=1
103
Daraus folgt 1 = k
Z
1
t
k−1
0
dt =
s X
ck−1 j
j=1
Z
1
lj (t) dt = 0
s X
bj ck−1 j .
(5.8)
j=1
P Speziell ist daher fu bj = 1 erfu ¨r k = 1 die Konsistenzbedingung ¨llt. Analog zeigt man s X cki = aij ck−1 (5.9) j , k j=1 P was fu aij = ci liefert: Jedes Kollokati¨r k = 1 die bekannte Bedingung onsverfahren ist konsistent und invariant unter Autonomisierung. Die Beziehungen (5.8) und (5.9) charakterisieren die Koeffzienten des Kollokationsverfahrens. Allgemein definiert man bei IRK-Verfahren die vereinfachenden Annahmen B(p) : C(l) : D(m) :
s X
1 bj ck−1 = , j k j=1
s X
1 k aij ck−1 = ci , j k j=1
s X i=1
k = 1 : p;
(5.10)
i = 1 : s, k = 1 : l;
(5.11)
1 a = bi ck−1 bj (1 − ckj ), ij i k
j = 1 : s, k = 1 : m. (5.12)
Diese Bedingungen dienen zur Vereinfachung des ’Dschungels’ an 2s + s 2 Koeffizienten im allgemeinen Fall. B(p) besagt, dass die zugrundeliegende Quadraturmethode exakt ist fu ¨r Polynome bis zum Grad p − 1. C(l) besagt, dass die den Korrekturen zugrundeliegende Quadraturmethode exakt ist f u ¨r ¨ Polynome bis zum Grad l − 1 (Nachweis als Ubung). Aus (5.8) folgt die Eigenschaft B(s), und aus (5.9) folgt C(s) fu ¨r die Kollokationsverfahren. Damit sind diese weitgehend charakterisiert, doch es bleibt die Frage der Konsistenzordnung: Wie soll man die ci w¨ahlen, damit das Verfahren m¨oglichst hohe Konsistenzordnung hat? 104
Satz 5.3 Ein durch Kollokation erzeugtes Runge-Kutta-Verfahren hat fu ¨r f ∈ C p (D) die Konsistenzordnung p genau dann, wenn die durch die Stu ¨tzstellen ci und Gewichte bi gegebene Quadraturformel die Ordnung p besitzt. Beweisskizze:
Wir betrachten das Integral Z
x0 +h
g(x) dx = h x0
Z
1
g(x0 + th) dt = h 0
s X
bj g(x0 + cj h) + e(g)
j=1
samt seiner Approximation durch die Quadraturformel mit Fehler e(g). Der Fehler e(g) ist von der Ordnung p, falls |e(g)| ≤ Chp+1 max |g (p) (ξ)|. (Vergleiche Gaußquadratur: Dort war Z ⇒
Z
1 0
1 g(x0 +th) dt = 2
Z
1
a(t) dt = −1
s X j=1
bj a(ζj ) + C · D 2s a(ξ) s
1
g(x0 +h −1
1 + ζj 1 d2s 1+θ 1X 1+θ bj g(x0 +h ) dθ = )+ C 2s g(x0 +h )|θ=ξ 2 2 2 2 dθ 2 j=1
und daher dann f¨ ur diese Quadraturformel die optimale Ordnung e(g) = O(h2s+1 ).) Das Kollokationspolynom w erf¨ ullt die triviale Differentialgleichung w0 (x) = f (x, w(x)) + (w 0 (x) − f (x, w(x))) = f (x, w(x)) + r(x, w(x)), wobei r als Defekt oder St¨ orung aufgefasst wird. Verglichen mit der urspr¨ unglichen Differential0 gleichung y = f (x, y(x)) folgt f¨ ur die Differenz Z x ∂y (x, s, w(s)) · r(s, w(s)) ds w(x) − y(x) = ∂y 0 x0 (Sogenannte Formel von Alekseev/Gr¨obner oder nichtlineare Variation der Konstanten). Ersetzt man die Integration durch die Quadraturformel, so fallen alle Terme in der Summe heraus, da r(x0 + ci h, w(x0 + ci h)) = w 0 (x0 + ci h) − f (x0 + ci h, w(x0 + ci h)) = 0 aufgrund der Kollokation. ¨ Ubrig bleibt der Fehler der Quadraturformel, also kw(x0 + h) − y(x0 + h)k ≤ Chp+1 max kg (p) (ξ)k mit g(t) =
∂y (x, t, w(t)) · (w 0 (t) − f (t, w(t))). ∂y0
Aufgepasst: Die Beschr¨ anktheit von kg (p) (ξ)k f¨ ur h → 0 muss noch gezeigt werden!
105
¤
Bemerkung: Satz 5.3 liefert fu ¨r alle Kollokationsverfahren die zugeh¨orige Konsistenzordnung (Beispiele s.u.). Alternativ kann man zu einem gegebenen IRK-Verfahren (Kollokationsverf. oder andere) die Konsistenzordnung mit den in Satz 3.2 angegebenen Ordnungsbedingungen bestimmen. D.h., der Abgleich u ¨ber Taylorreihenentwicklungen la¨uft im impliziten Fall genauso ab wie im expliziten, nur die Summationen in den Bedingungsgleichungen laufen immer von 1 bis s. Verfahrensklassen. In Anlehnung an die Quadraturformeln erhalten wir folgende durch Kollokation erzeugte IRK-Verfahren: (i) Gauß-Verfahren: W¨ahle die ci als Nullstellen des (auf [0, 1] verschobenen) Legendre-Polynoms ds /dxs [xs (x − 1)s ]. Konsistenzordnung p = 2s (optimal!), Stabilita¨tsfunktion ist Index (s, s) der Pad´e-Tafel. Der Fall s = 1 ist die implizite Mittelpunktregel (5.4), Beispiel zu s = 2: 1/2 − 1/2 +
√
3 √6 3 6
1/4 √ 1/4 − 1/4 + 63 1/4 1/2 1/2
√
3 6
,
1 2 1 + 12 z + 12 z R(z) = 1 2. 1 − 21 z + 12 z
(ii) Radau-Verfahren: W¨ahle die ci als NST von ds−1 /dxs−1 [xs (x − 1)s−1 ] (Radau IA) oder ds−1 /dxs−1 [xs−1 (x − 1)s ] (Radau IIA). Die letzte Klasse ist durch 0 < c1 und cs = 1 charakterisiert und vorteilhafter: Konsistenzordnung p = 2s − 1, Stabilit¨atsfunktion ist Index (s, s − 1) der Pad´e-Tafel (Subdiagonale, also L-stabil). Der Fall s = 1 ist der implizite Euler, Beispiel zu s = 2: 1/3 5/12 −1/12 1/4 , 1 3/4 3/4 1/4
R(z) =
106
1 + z/3 . 1 − 2z/3 + z 2 /6
Mit den Gauß- und Radau IIA-Verfahren stehen damit zwei spezielle Verfahrensklassen mit sehr guten Eigenschaften bereit. L¨ osung des nichtlinearen Systems. Nun kommen wir zur lange aufgeschobenen Frage der L¨osung des nichtlinearen Gleichungssystems (5.6) in den Korrekturen, ! Ã s X aij Kj , i = 1 : s. Ki = f x0 + ci h, y0 + h j=1
Wir schreiben es mit K := (K1 , K2 , . . . , Ks )T neu als s · m-dimensionale Fixpunktgleichung à ! s X K = F (K), Fi (K) := f x0 + ci h, y0 + h aij Kj , i = 1 : s. (5.13) j=1
Naheliegend ist die L¨osung mit der wenig aufw¨andigen Fixpunktiteration (wie bei den MSV vom Pr¨adiktor-Korrektor-Typ). Die Kontraktivit¨at von F analysieren wir u ¨ber ˜ kFi (K) − Fi (K)k = kf (. . . , y0 + h ≤ Lh k ≤ Lh Daraus folgt mit maxi Absch¨atzung
P
s X
j=1 s X j=1
j
s X j=1
aij Kj ) − f (. . . , y0 + h
s X
˜ j )k aij K
j=1
˜ j )k aij (Kj − K
˜ j k. |aij |kKj − K
|aij | = kAk∞ fu ¨r die Koeffizientenmatrix A die
˜ ≤ LhkAk∞ max kKi − K ˜ i k. max kFi (K) − Fi (K)k i
i
Kontraktivit¨at in der Norm kKk := maxi kKi k liegt vor, falls LhkAk∞ < 1
⇔ 107
h<
1 . LkAk∞
(5.14)
Obwohl damit die Existenz der L¨osung nachgewiesen ist (Banachscher Fixpunktsatz), ist dieses Ergebnis eine große Entt¨auschung: Im steifen Fall gilt fu ¨r die Lipschitzkonstante L = kDf (y)k ≥ ρ(Df (y)) À 1, wobei ρ(B) = maxj |λj (B)| den Spektralradius bezeichnet. Deswegen stellt die Bedingung (5.14) eine sehr starke Einschra¨nkung an die Schrittweite h dar – das Ziel großer Schrittweiten ist so nicht erreichbar! Schon bei linearen Systemen y 0 = By konvergiert die Fixpunktiteration nur falls h ≤ 1/(kAk ∞ kBk). Abhilfe schafft hier das Newton-Verfahren, konkret das vereinfachte NewtonVerfahren fu ¨r K − F (K) = 0. Es lautet mit Start K0 = 0 Ki+1 = Ki + ∆Ki ,
(I − DF (K0 ))∆Ki = −(Ki − F (Ki )).
(5.15)
Als konstante Approximation der Funktionalmatrix DF verwendet man ha11 J . . . ha1s J .. = hA ⊗ J, DF (K0 ) = ... ... . has1 J . . . hass J
wobei J = ∂f (x0 , y0 )/∂y. Warum dieses vereinfachte Newtonverfahren im steifen Fall sinnvoll ist und gr¨oßere Schrittweiten h erlaubt, wollen wir im Fall des impliziten Eulers n¨aher erl¨autern. Wir betrachten also das nichtlineare System 0 = K − F (K) = K − f (x1 , y0 + hK) in der einzigen Stufe K. Die Iteration (5.15) schreibt sich dann K i+1 = Ψ(K i ) := K i − (I − hJ)−1 (K i − f (x1 , y0 + hK i )). Fu ¨r die Ableitung der Iterationsvorschrift Ψ folgt DΨ(K) = I − (I − hJ)−1 (I − ∂f (x1 , y0 + hK)/∂K). Im steifen Fall nehmen wir an, dass die Steifheit im linearen Anteil von f steckt, also f (x, y) = Jy + g(x, y) mit nichtsteifem Term g. Unter dieser Annahme ist kDΨ(K)k = kI − (I − hJ)−1 (I − hJ + h∂g(x1 , y0 + hK)/∂y)k = k(I − hJ)−1 (h∂g(x1 , y0 + hK)/∂y)k
≤ hk(I − hJ)−1 k · k∂g/∂yk. 108
Auf den ersten Blick sieht diese Absch¨atzung wegen k(I − hJ)−1 k nicht besser aus, aber es gilt nun: λ ist EW von J
⇔
ˆ := λ
1 ist EW von (I − hJ)−1 . 1 − hλ
(5.16)
Reelle, stark negative Eigenwerte λ von J, die steifen Anteile, werden also ˆ ¿ 1 transformiert. Die Matrix (I − hJ)−1 kann auf positive Eigenwerte λ demnach als Filter interpretiert werden, der die steifen Anteile herausfiltert. Es ist k(I − hJ)−1 k ≤ 1 + c mit einer von der Steifheit unabh¨angigen Konstanten c; falls J symmetrisch ist und nur reelle, negative Eigenwerte vorliegen gilt c = 0. Also kDΨ(K)k < 1
falls
h<
1 , (1 + c)k∂g/∂yk
(5.17)
wobei ∂g/∂y die von der Steifheit unabha¨ngige Nichtlinearita¨t des Problems beschreibt. Im Fall linearer Differentialgleichungen konvergiert das vereinfachte Newtonverfahren in einem Schritt. Details zur Implementierung. An dieser Stelle folgen ein paar Hinweise zur im Allgemeinen aufw¨andigen und sehr komplexen Implementierung impliziter Runge-Kutta-Verfahren. • In der Praxis l¨ost man statt des nichtlinearen Gleichungssystems fu ¨r die Korrekturen K1 , . . . , Ks das dazu ¨aquivalente (fu ¨r invertierbare Koeffizientenmatrix A) s X aij f (x0 + ci h, y0 + zj ). zi = h j=1
Welcher Zusammenhang besteht zwischen den Variablen zi und den Ki ? Der Vorteil dieser Formulierung liegt in geringeren Rundungsfehlern, da die Variablen zi von kleinerer Gr¨oßenordnung als die Korrekturen Ki und weniger anf¨allig fu ¨r Ausl¨oschung sind. • Das vereinfachte Newton-Verfahren in den Variablen Z = (z1 , . . . , zs )T konvergiert linear. Als Absch¨atzung fu ¨r den Fehler im k-ten Schritt hat 109
man nach dem Banachschen Fixpunktsatz kZ
k+1
ˆ ≤ − Zk
θ k∆Z k k, 1−θ
k∆Z k k . θ = θk := . k∆Z k−1 k
Dabei ist θk eine Approximation an die Konvergenzrate θ. • Die L¨osung des ms × ms-linearen Gleichungssystems (Ims×ms − hA ⊗ J)∆Z = r.S. stellt den Hauptaufwand eines IRK-Verfahrens dar. Um hier den Aufwand zu senken, hat man Verfahren entwickelt, die eine Koeffizientenmatrix A mit spezieller Struktur besitzen, sogenannte DIRK- und SDIRK-Verfahren (Diagonally Implicit Runge-Kutta bzw. Singly DIRK): c1 a11 0 0 .. .. . . . . . 0 cs as1 . . . ass DIRK b1 . . . bs
c1 a11 0 0 .. .. . . . . . 0 . cs as1 . . . a11 SDIRK b1 . . . bs
Die Struktur der Koeffizientenmatrix u ¨bertr¨agt sich blockweise, Im×m − ha11 J 0 0 . .. . .. .. Ims×ms − hA ⊗ J = . , −has1 J . . . Im×m − hass J
(5.18)
so dass mit Block-Gauß-Elimination gearbeitet werden kann. Diese Verfahren sind aber keine Kollokationsverfahren! • Zur Schrittweitensteuerung verwendet man eine eingebettete L o¨sung yˆ1 , wie bei den expliziten Verfahren. Weitere Anforderung: Der Fehlersch a¨tzer muss auch im steifen Fall sinnvolle Schrittweitenvorschl¨age erm¨oglichen. D.h., man fordert ky1 − yˆ1 k ≤ 1 fu ¨r z → ∞.
110
Numerische Software. Die Codes RADAU5 und RADAU von Hairer und Wanner sind die zur Zeit wohl besten IRK-Verfahren (ftp-Adresse Kap. 3, siehe auch www-m3.ma.tum.de/m3/software.html). RADAU5 basiert auf dem L-stabilen Kollokationsverfahren Radau IIA zu s = 3 Stufen und hat die Ordnung 2s − 1 = 5 (ˆ y1 Ordnung 3). RADAU entha¨lt zusa¨tzlich die Varianten mit s = 5 und s = 7 Stufen und ist als Verfahren mit variabler Ordnung (5, 7, 13) und variabler Schrittweite implementiert. Bei diesen IRKVerfahren ist die Matrix Ims×ms −hA⊗J nicht von der Blockgestalt (5.18); es existiert aber eine Transformation, die den Aufwand fu ¨r eine LR-Zerlegung z.B. im Fall s = 3 von (3m)3 /3 auf 5m3 /3 Operationen reduziert. Linear-implizite Einschrittverfahren Da die Implementierung der IRK-Verfahren sehr aufw¨andig ist und bis Ende der 80er Jahre nicht klar war, ob solche Verfahren u ¨berhaupt effizient realisiert werden k¨onnen, hat man bereits fru ¨h nach Alternativen gesucht. Die Grundidee der linear-impliziten ESV wollen wir am Beispiel des linearimpliziten Eulerverfahrens studieren: Wir beschr¨anken uns auf den autonomen Fall y 0 = f (y). Der implizite Euler lautet hier y1 = y0 + hK, K = f (y0 + hK). Wir fu ¨hren nun eine einzige Newtoniteration mit Startwert K 0 = 0 fu ¨r 0 = K − f (y0 + hK) aus, K 1 = K 0 − (I − hDf (y0 ))−1 (K 0 − f (y0 + hK 0 )) = (I − hDf (y0 ))−1 f (y0 ), und setzen als neue Approximation y˜1 = y0 + hK 1 = y0 + h(I − hDf (y0 ))−1 f (y0 ).
(5.19)
Dieses Verfahren ist der linear-implizite Euler. Die Multiplikation mit der Matrix (I − hDf (y0 ))−1 erfu ¨llt hier wie bei der Newton-Iteration der IRKVerfahren eine Filterfunktion. Offensichtlich hat der linear-implizite Euler diesselbe Stabilita¨tsfunktion wie der implizite Euler und ist demnach Lstabil. Daru ¨berhinaus hat dieses Verfahren die Konsistenzordnung 1. 111
F¨ ur lineare Probleme wie die Testfunktion y 0 = λy stimmt der semi-implizite Euler mit dem impliziten u ur khDf (y0 )k < 1 aus der ¨berein. Daher ist R(z) = 1/(1 − z). Die Ordnung folgt (i) f¨ Neumannschen Reihe (I − hDf (y0 ))−1 = I + hDf (y0 ) + (hDf (y0 ))2 + (hDf (y0 ))3 + . . . , denn damit ist y˜1 = y0 + hf (y0 ) + h2 Df (y0 )f (y0 ) + O(h3 ). Abgleich mit der exakten L¨ osung y(x0 + h) = y0 + hf (y0 ) + h2 /2Df (y0 )f (y0 ) + O(h3 ). Anderer Weg, der ohne die starke Schrittweitenbeschr¨ankung auskommt: (ii) Wir schreiben die Diskretisierung als y˜1 = y0 − hDf (y0 )y0 + hDf (y0 )˜ y1 + hf (y0 ) und fassen nun y˜1 als Funktion y˜1 (h) auf. Dann ist die numerische L¨osung die Taylorreihe y˜1 (h) = y˜1 (0) + h˜ y10 (0) + O(h2 ) mit y˜1 (0) = y0 und y˜10 (0) = (−Df (y0 )y0 + Df (y0 )˜ y1 (h) + hDf (y0 )˜ y10 (h) + f (y0 ))|h=0 = f (y0 ).
Neben A-Stabilit¨at und Konsistenz des linear-impliziten Eulers gilt zudem: Liegen alle Eigenwerte λ der Jacobimatrix Df (y0 ) in C− , so ist die Matrix I − hDf (y0 ) fu ¨r alle Schrittweiten h > 0 invertierbar. ˆ = 1 − hλ EW von I − hDf (y0 ). F¨ Sei λ EW von Df (y0 ), dann ist λ ur λ ∈ C− folgt Re (−hλ) ≥ 0 ˆ ≥ 1. Vergleiche auch die Aquivalenz ¨ und somit Re λ (5.16).
Der linear-implizite Euler ist damit eine deutlich weniger aufw¨andige Alternative zum impliziten Euler. In jedem Integrationsschritt ist nur ein lineares Gleichungssystem (I − hDf (y0 ))y1 = y0 + hf (y0 ) − hDf (y0 )y0 fu ¨r die neue Approximation y1 (jetzt ohne ˜) zu l¨osen. Um zu linear-impliziten Verfahren mit h¨oherer Ordnung zu gelangen, kann man nun zwei Wege einschlagen: Extrapolation. Der linear-implizite Euler besitzt eine h-Entwicklung (Satz 3.4), die als Grundlage fu ¨r ein Extrapolationsverfahren dient. Auf diese Weise kann man die Ordnung beliebig hoch treiben, muss aber mit einem kleinen 112
Verlust an Stabilit¨at rechnen: Ab der Spalte 3 des Extrapolationstableaus liegt keine A-Stabilit¨at mehr vor, da Teile von C− in der N¨ahe der imagin¨aren Achse nicht mehr zum Stabilit¨atsgebiet geh¨oren. Man spricht auch . von A(α)-Stabilita¨t mit α = 89, 7o , vergl. Abb. 35. Numerische Software fu ¨r diesen Zugang: Codes LIMEX (Deuflhard/Nowak) sowie SEULEX (Hairer/Wanner).
S C α α
Abbildung 35: A(α)-Stabilit¨at: Der Sektor {z : |arg (−z)| < α} ist in S enthalten.
ROW-Verfahren. Diese Verfahrensklasse geht auf Rosenbrock und Wanner zuru ¨ck und soll im folgenden n¨aher untersucht werden. Wir betrachten wiederum zun¨achst nur autonome Systeme y 0 = f (y) und schreiben die Differentialgleichung als y 0 = Jy + (f (y) − Jy),
J = Df (y).
Nun wird ein Runge-Kutta-Verfahren angesetzt, das den ersten Term Jy auf der rechten Seite implizit diskretisiert (der steife Anteil) und den Term
113
(f (y) − Jy) explizit. Wir definieren so das ROW-Verfahren y1 = y 0 + h
s X
b j Kj ,
(5.20)
j=1
Ki = hJγii Ki + f
Ã
y0 + h
i−1 X
αij Kj
j=1
!
+ hJ
i−1 X
γij Kj .
(5.21)
j=1
Die Vorschrift fu ¨r die Korrekturen Ki fu ¨hrt auf das lineare Gleichungssystem ! Ã i−1 i−1 X X γij Kj , (5.22) αij Kj + hJ (I − hγii J)Ki = f y0 + h j=1
j=1
das in jeder Stufe zu l¨osen ist. Die Koeffizienten bi , αij , γij legen die Methode fest. (Eine andere Herleitung geht von einem DIRK-Verfahren aus, auf das 1 Newtoniteration angewandt wird.) Um das Verfahren auch fu ¨r nicht autonome Differentialgleichungen zu definieren, diskretisieren wir à ! à ! 0 y f (x, y) y˜0 = = = f˜(˜ y ). x0 1 Anwendung des ROW-Verfahrens liefert ˜i = K
Ã
f (x0 + h
P
αij 1, y0 + h 1
Pi−1
j=1 αij Kj )
!
+h
Ã
Dy f 0
Dx f 0
!
i X
γij
j=1
Ã
Kj 1
!
mit Dy f = ∂/∂yf (x0 , y0 ), Dx f = ∂/∂xf (x0 , y0 ).
Nach Elimination der Korrekturen fu ¨r die triviale x-Komponente erhalten wir so die Vorschrift à ! i−1 X (I − hγii Dy f (x0 , y0 ))Ki = f x0 + αi h, y0 + h αij Kj (5.23) j=1
+hγi Dx f (x0 , y0 ) + hDy f (x0 , y0 )
i−1 X j=1
114
γij Kj
mit Koeffizienten αi =
Pi−1
j=1 αij sowie γi =
Pi
j=1 γij .
Diese Verfahrensklasse ist nun wiederum nach den Gesichtspunkten Konsistenz und A-Stabilita¨t zu analysieren. Man erha¨lt folgende Ergebnisse: • Die Ordnungsbedingungen folgen wie bei den Runge-Kutta-Verfahren aus den Taylorentwicklungen der exakten L¨osung und der numerischen Approximation. Fu ¨r Ordnung p = 1 notwendig ist X bj = 1, (5.24) j
fu ¨r p = 2 zus¨atzlich X
bj (αjk + γjk ) = 1/2,
(5.25)
j,k
und fu ¨r p = 3 zus¨atzlich X bj αjk αjl = 1/3, j,k,l
X
bj (αjk + γjk )(αkl + γkl ) = 1/6.
(5.26)
j,k,l
• Die Stabilit¨atsfunktion hat die Darstellung R(z) = 1 + zbT (I − zB)−1 1l
(5.27)
mit B = (βij )i,j=1:s , βij = αij + γij . Fu ¨r die Verfahrenskonstruktion ist zusa¨tzlich der Gesichtspunkt der Effizienz zu beru ¨cksichtigen. Die linearen Gleichungssysteme (5.22) bzw. (5.23) fu ¨r die Stufen l¨ost man geschickter Weise mit nur einer LR-Zerlegung der Matrix I − hγii J, d.h. man w¨ahlt in der Verfahrenskonstruktion γii = γ fu ¨r i = 1 : s. Das folgende Schema beschreibt einen Schritt eines ROW-Verfahrens (im autonomen Fall, sonst siehe (5.23)). 115
Algorithmus 5.1
ROW-Verfahren
Berechne J = Df (y0 ) oder Approximation (numer. Differentiation); Berechne LR-Zerlegung von I − hγJ; fu ¨r i = 1 : s Lo¨se (I − hγJ)Ki = f y1 = y 0 + h
Ã
y0 + h
i−1 X j=1
Ps
αij Kj
!
+ hJ
i−1 X
γij Kj ;
j=1
j=1 bj Kj ;
Anforderungen in der Praxis: • Zur Schrittweitensteuerung wird wie u ¨blich ein eingebettetes Verfahren herangezogen und dann wie im adaptiven Grund-Algorithmus 3.1 verfahren. Dabei ist zu beachten, dass das eingebettete Verfahren auch fu ¨r steife Differentialgleichungen geeignet sein sollte. Optimal ist ein L-stabiles Verfahrens fu ¨r y1 und ein A-stabiles fu ¨r yˆ1 . Pi−1 • Die Berechnung des Terms hJ j=1 γij Kj erfordert teure Matrix-Vektormultiplikationen. Durch geschickte Einfu ¨hrung neuer Variablen ui = Pi j=1 γij Kj kann dieser Aufwand vermieden werden.
Die ersten ROW-Verfahren GRK4A und GRK4T gehen auf Kaps/Rentrop (1979) zuru ¨ck. In MATLAB implementiert ist das Verfahren ode23s von Shampine/Reichelt (1996). Seine Koeffizienten sind √ s = 2, γ = 1/(2 + 2), α21 = 1/2, γ21 = −γ, b1 = 0, b2 = 1. Mit der FSAL-Strategie (siehe Abschnitt 3.5) wird eine weitere Stufe ausgewertet, √ (I − hγJ)K3 = f (x1 , y1 ) − (6 + 2)(K2 − f (x0 + α21 h, y1 + hα21 K1 )) −2(K1 − f (x0 , y0 )) + hγDx f (x0 , y0 ). 116
Als Fehlersch¨atzer verwendet man y1 − yˆ1 =
h (K1 − 2K2 + K3 ) 6
Dabei ist y1 ein L-stabiles Verfahren der Ordnung 2 und yˆ1 ein A-stabiles Verfahren der Ordnung 3. Bemerkungen • Beim Verfahren ode23s wird keine lokale Extrapolation durchgefu ¨hrt und mit der Approximation 2.ter Ordnung weitergerechnet. Die bessere Stabilita¨t wird wichtiger als die ho¨here Ordnung eingescha¨tzt. • Wenn keine gute Approximation der Jacobimatrix J zur Verfu ¨gung steht, bleibt die Ordnung des Verfahrens erhalten, die Stabilit ¨atseigenschaften k¨onnen sich jedoch verschlechtern. Das Verfahren stellt dann eine W-Methode dar (nach Wolfbrandt). • Bei singul¨ar gest¨orten Problemen y 0 = f (y, z),
εz 0 = g(y, z)
arbeiten ROW-Methoden manchmal nicht zufriedenstellend. Eine Erweiterung auf diesen Fall, die zus¨atzliche Ordnungsbedingungen beru ¨cksichtigt, ist das Verfahren RODAS von Hairer/Wanner. Es hat s = 6 Stufen und Ordnung p = 4. 5.3
Mehrschrittverfahren fu ¨ r steife Differentialgleichungen
Wie verhalten sich MSV bei steifen Differentialgleichungen? Die Anwendung des Adams-Verfahrens ode113 auf den Van-der-Pol-Oszillator im steifen Fall zeigt die gleichen Ph¨anomene wie bei expliziten Runge-Kutta-Codes. Zur Analyse ziehen wir wieder die Dahlquistsche Testgleichung y 0 = λy heran und gehen der Frage nach, ob es A-stabile MSV gibt. 117
P P Das MSV αj yi+j = h βj fi+j , angewandt auf y 0 = λy, ergibt die homogen Differenzengleichung k X j=0
(αj − zβj )yi+j = 0
mit z = hλ.
(5.28)
Mit den Techniken aus Abschnitt 4.3 (Satz 4.2) kann die homogene Rekursion (5.28) abh¨angig vom komplexen Parameter z analysiert werden. Das zu (5.28) geh¨orige charakteristische Polynom ist X X l ρ(ζ) − zσ(ζ) , ρ(ζ) = αl ζ , σ(ζ) = βl ζ l .
Eine L¨osung {yi } von (5.28) ist Nullfolge genau dann, wenn fu ¨r jede Nullstelle µ von ρ(ζ) − zσ(ζ) gilt |µ| < 1, und zwar unabh¨angig von z!
Bei der A–Stabilit¨at nehmen wir den Fall |µ| = 1 mit und fordern nur, dass L¨osungen der Testgleichung nicht wachsen. Es gilt damit P P Satz 5.4 Das MSV αj yi+j = h βj fi+j ist A-stabil ⇐⇒ Jede NST µ von ρ(ζ) − zσ(ζ) erfu ¨llt |µ| ≤ 1 fu ¨r alle z ∈ C− . Falls µ mehrfache NST ist, gilt |µ| < 1. Die Abh¨angigkeit von z wird wie bei ESV durch den Begriff des Stabilit¨atsgebietes genauer beschrieben: Definition 5.5 Stabilit¨atsgebiet eines MSV Das Stabilit¨atsgebiet eines MSV ist die Menge ( ) ρ(ζ) − zσ(ζ) hat nur NST µ mit |µ| ≤ 1. S := z ∈ C : Falls µ mehrf. NST, so gilt |µ| < 1 Beispiele fu ¨r Stabilit¨atsgebiete sind in Abb. 36 dargestellt. Die Adams-Bashforth-Verfahren sind fu ¨r alle k nicht A-stabil, die AdamsMoulton-Verfahren nur fu ¨r k = 1 (Trapezregel). Damit ist das schlechte Verhalten von ode113 im steifen Fall klar. 118
S
S i −1
3i
C
−i
Adams-Bashforth k = 2
C
5
C
5 S
−3i
Adams-Moulton k = 2
BDF k = 2
Abbildung 36: Stabilit¨atsgebiete von MSV
Was kann man mit MSV bezu ¨glich Stabilit¨at und Ordnung maximal erreichen? Die Antwort (ohne Beweis): Satz 5.5 2. Dahlquist–Barriere (1963) Fu ¨r lineare MSV gilt (i) Kein explizites Verfahren ist A-stabil (ii) Kein implizites Verfahren ist A-stabil, falls seine Konsistenzordnung p > 2 ist A-stabile Verfahren mit p = 2 sind u.a. die Trapezregel (optimale Fehlerkonstante) und BDF-2. Trotz dieser großen Einschra¨nkung gibt es eine Verfahrensklasse, die sehr erfolgreich bei steifen Problemen eingesetzt wird, na¨mlich die BDF–Verfahren (bis k = 6). Die negative reelle Halbachse ist bei den BDF-Verfahren immer in S enhalten, daher hat man dort gute Stabilit¨atseigenschaften. Ab k = 3 sind die Verfahren aber nur noch A(α)-stabil und daher nicht geeignet f u ¨r oszillatorische Probleme.
119
k=6 k=5 k=4
k=3
S
Abbildung 37: Stabilit¨atsgebiete BDF-k
Im Spezialfall Re z → −∞ streben die Nullstellen von ρ(ζ)−zσ(ζ) bei allen BDF-Verfahren gegen Null, so dass zumindest entlang der reellen Achse das Analogon zur L-Stabilit¨at vorliegt. Beginnend mit Gear (1971) waren die BDF-Verfahren die ersten erfolgreichen Methoden fu ¨r steife Differentialgleichungen. Auch heute noch gelten sie als Standard fu ¨r diese Problemklasse. Da die Verfahrenskoeffizienten fest sind, unterscheiden sich die eingesetzten Verfahren nur in Bezug auf die, wie bei MSV u ¨blich, sehr komplexe Implementierung mit variabler Ordnung und variabler Schrittweite. Basis ist der Ansatz (vergl. Abschnitt 4.1) q 0 (xn+1 ) = f (xn+1 , yn+1 )
(5.29)
mit dem Interpolationspolynom q vom Grad k, das (xn−k+1 , yn−k+1 ) bis (xn+1 , yn+1 ) interpoliert. Da q von yn+1 abh¨angt, ist die Gleichung (5.29) ein nichtlineares Gleichungssystem fu ¨r yn+1 , das wie bei den IRK-Verfahren mit einer vereinfachten Newton-Iteration gelo¨st werden muss. Eine Fixpunktiteration wu ¨rde nur bei sehr kleinen Schrittweiten konvergieren. Hauptunterschied zu den IRK-Verfahren: Das nichtlineare Gleichungssystem besitzt nur die Dimension m und ist damit deutlich weniger aufw ¨andig zu l¨osen als bei den IRK-Verfahren. 120
Dazu noch ein paar Details: Die Verfahren werden als Pr¨adiktor-Korrektor-Schema implementiert. Das Korrektorpolynom ist obiges Polynom q, das wir im folgenden mit q C bezeichnen. Das Pr¨adiktorpolynom qP interpoliert (xn−k , yn−k ) bis (xn , yn ) und liefert mit Extrapolation auf xn+1 den Pr¨adiktor- oder Startwert 0 yn+1 := qP (xn+1 ). 0 ). Die Differenz der beiden Polynome interpoliert (xn−k+1 , 0) bis (xn , 0) sowie (xn+1 , yn+1 − yn+1 Nach Lagrange hat die Differenz die Darstellung
qC (x) − qP (x) =
(x − xn ) . . . (x − xn−k+1 ) 0 (yn+1 − yn+1 ), (xn+1 − xn ) . . . (xn+1 − xn−k+1 )
und f¨ ur die Ableitung findet man 0 0 qC (xn+1 ) − qP0 (xn+1 ) = αn+1 (yn+1 − yn+1 )
mit αn+1 :=
1 1 1 + + ... + . xn+1 − xn xn+1 − xn−1 xn+1 − xn−k+1
Der Faktor αn+1 (nicht mit den αj des allgemeinen MSV zu verwechseln!) wird f¨ uhrender Koeffizient (leading coefficient) genannt. Nun kann die Gleichung (5.29) neu formuliert werden. 0 00 Mithilfe des Pr¨ adiktors yn+1 und seiner Ableitung yn+1 := qP0 (xn+1 ) ist (5.29) ¨aquivalent mit dem nichtlinearen System 00 0 0 = yn+1 + αn+1 (yn+1 − yn+1 ) − f (xn+1 , yn+1 ) =: F (yn+1 ).
Das vereinfachte Newtonverfahren lautet dann i+1 i yn+1 = yn+1 − ∆y i ,
0 i (αn+1 I − Dy f (xn+1 , yn+1 ))∆y i = F (yn+1 ).
Man beachte, dass hier ganz analog zu den IRK- und ROW-Verfahren die Matrix α n+1 I − Dy f = −1 αn+1 (I − αn+1 Dy f ) auftaucht und das Konvergenzverhalten im Vergleich zur Fixpunktiteration im steifen Fall entscheidend verbessert. Als Sch¨atzer f¨ ur den Fehler e = y(xn+1 ) − yn+1 verwendet man die Differenz zwischen Pr¨adiktor und Korrektor in den Formen . (i) e =
1 (y 0 − yn+1 ) αn+1 xn+1 − xn−k n+1 1
. 0 (ii) e = (αn+1 I − Dy f (xn+1 , yn+1 ))−1
1 (y 0 − yn+1 ). xn+1 − xn−k n+1
Die zweite Sch¨ atzung (ii) erfordert eine weitere Vorw¨arts-R¨ uckw¨arts-Substitution, ist aber im steifen Fall besser und liefert gr¨ oßere Schrittweiten. In den meisten Codes wird aber die billigere Sch¨atzung (i) eingesetzt. Als Beispiel sei noch der Algorithmus f¨ ur einen Schritt im Fall k = 2 angegeben:
121
BDF-2-Verfahren mit SWS Gegeben: yn−2 , yn−1 , yn zu Zeitpunkten xn−2 , xn−1 , xn (zur¨ uckliegende Schritte oder Anlaufrechnung, impl. Euler). Zeitschritt mit Schrittweite hn = xn+1 − xn : Berechne dividierte Differenzen: [yn−1 , yn−2 ] = (yn−1 − yn−2 )/(xn−1 − xn−2 );
[yn , yn−1 ] = (yn − yn−1 )/(xn − xn−1 );
[yn , yn−1 , yn−2 ] = ([yn , yn−1 ] − [yn−1 , yn−2 ])/(xn − xn−2 ); Pr¨ adiktor: 0 yn+1 = yn + (xn+1 − xn )[yn , yn−1 ] + (xn+1 − xn )(xn+1 − xn−1 )[yn , yn−1 , yn−2 ];
00 yn+1 = [yn , yn−1 ] + (2xn+1 − xn − xn−1 )[yn , yn−1 , yn−2 ];
Korrektor - l¨ ose nach yn+1 : 00 0 0 = yn+1 − αn+1 yn+1 + αn+1 yn+1 − f (yn+1 , xn+1 );
Fehlersch¨ atzer und neue Schrittweite: ° ° 1 . 1 ° (0) ° ERR = °yn+1 − yn+1 °; αn+1 xn+1 − xn−2
hnew = hn · min(βu , max(βl , βs · ERR−1/3 ));
falls ERR < 1:
akzeptiere Schritt; hn+1 = hnew ;
sonst:
wiederhole Schritt mit hn = hnew ;
1 1 + der ’leading coefficient’, Dabei sind αn+1 = xn+1 − xn−1 xn+1 − xn µ ¶2 yi 1 Pm kyk2 := m die Fehlernorm mit Gewichtung w, i=1 ATOL+RTOL · |w i | √ ¨ ur die Anderung h, βu ≤ 1 + 2 die obere Schranke f¨
¨ βl = 0.2 die untere Schranke f¨ ur die Anderung h und βs = 0.9 der Sicherheitsfaktor.
Numerische Software: Ausgereifte Fortran-Codes sind LSODE von Hindmarsh und DASSL von Petzold. Das letztere Verfahren ist auch f u ¨r voll0 implizite Differentialgleichungen F (y , y, x) = 0 und differential-algebraische Gleichungen geeignet. In MATLAB implementiert ist ode15s (Shampine). Es handelt sich hier um eine Variante der BDF-Verfahren mit leicht verkleinerten Stabilit¨atsgebieten, aber besseren Fehlerkonstanten. 122
Van der Pol, ε = 1.E−6 2.5
Van der Pol, ε = 1.E−6
2
10
2
y(2)
1.5
1
0
CPU
0.5
y(1)
ode23s 1
10
−0.5 ode15s
−1
−1.5
−2 0
−2.5
0
2
4
6 x
8
10
12
10 1 10
2
10
3
10
4
5
10
10
6
10
7
10
8
10
Fehler
Abbildung 38: Van-der-Pol-Gleichung, L¨osung und Aufwandsdiagramm
Vergleich der Integratoren ode23s und ode15s Wir testen die in MATLAB verfu ¨gbaren steifen Integratoren anhand des Van-der-Pol-Oszillators in den Koordinaten von Li´enhart (2.3) y10 = −y2 ,
1 y20 = (y1 − y23 /3 + y2 ) ε
mit Anfangswert y1 (0) = 2, y2 (0) = 0. Die Anwendung des ROW-Verfahrens ode23s aus MATLAB liefert dann zum Parameterwert ε = 10−6 die in Abb. 38 dargestellte numerische Lo¨sung im Intervall [0, 11]. Ein explizites Verfahren ist hier chancenlos, da Schrittweiten in der Gr¨oßenordnung von ε notwendig sind. Auf der rechten Seite von Abb. 38 sieht man ein Aufwandsdiagramm, in dem die erreichte Genauigkeit gegen die Rechenzeit fu ¨r verschiedene Toleranzvorgaben aufgetragen ist (vergl. Abschnitt 4.5, Abb. 27). Der Fehler am Endpunkt xend = 11 wurde dabei durch Vergleich mit einer mit hoher Genauigkeit berechneten Referenzlo¨sung ermittelt. Wa¨hrend ode23s bei niedrigen Toleranzvorgaben effizienter und auch etwas genauer ist, schneidet das BDF-Verfahren ode15s bei h¨oheren Genauigkeiten klar besser ab. 123
Exkurs: Lininenmethode
Als zweites Beispiel betrachten wir das N -dimensionale System y˙ = Ay + d(y)
wobei
−2
1 A=N 2
und
(5.30)
1 . −2 . . .. .. . . 1 1 −2
D(1 + α − y1 ) exp(−δ/y1 ) + N 2 y2 D(1 + α − y2 ) exp(−δ/y2 ) .. .
d(y) = D(1 + α − yN −1 ) exp(−δ/yN −1 ) D(1 + α − yN ) exp(−δ/yN ) + N 2 · 1
.
Dieses Differentialgleichungssystem entsteht durch Anwendung der Linienmethode auf die ReaktionsDiffusionsgleichung Tt = Txx + D(1 + α − T ) exp(−δ/T ),
t > 0, 0 ≤ x ≤ 1
mit Randwerten Tx (0, t) = 0 und T (1, t) = 1 f¨ ur t > 0 und Anfangswert T (x, 0) = 1 f¨ ur 0 ≤ x ≤ 1. Die Variable T (x, t) beschreibt dabei den Temperaturverlauf einer chemischen Reaktion im eindimensionalen Kontinuum 0 ≤ x ≤ 1. α ist die W¨armefreisetzung, δ die Aktivierungsenergie und D = R exp(δ)/(αδ) mit Reaktionsrate R. Bei der Linienmethode wird zun¨ achst ¨aquidistant in x diskretisiert und dann auf dem Gitter 0 = x1 < x2 < . . . xN < 1 die Ableitung Txx durch einen Differenzenoperator approximiert, . Txx (xj , t) =
1 (T (xj−1 , t) − 2T (xj , t) + T (xj+1 , t)), ∆x2
j = 1 : N,
∆x = 1/N.
Die Variable yj approximiert nun T (xj , t) und gen¨ ugt dem System (5.30), wobei die Randwerte u ¨ber T (xN +1 , t) = T (1, t) = 1
und
. T (−∆x, t) − T (∆x, t) 0 = Tx (x0 , t) = ⇒ T (−∆x, t) = y2 2∆x
eingearbeitet werden. Abb. 39 zeigt die numerische L¨ osung der im Ort diskretisierten Gleichung (5.30) zu N = 100 Gitterpunkten. Zahlwerte der Konstanten sind R = 5, δ = 20, α = 1, der Anfangswert ist y j,0 = 1 f¨ ur alle Komponenten. Man sieht, wie sich nach einer gewissen Anlaufzeit von links nach rechts eine Front ausbreitet.
124
Temperature T
2
1.5
1 0.4 1
0.3 0.8
0.2
0.6 0.4
0.1 0.2 Time t
0
0
x
Abbildung 39: Linienmethode bei der Reaktions-Diffusionsgleichung (5.30) Das Differentialgleichungssystem (5.30) ist steif, da die Eigenwerte von A negativ sind und mit N 2 wachsen. Im Fall N = 100 liegt der betragsgr¨oßte Eigenwert bereits bei −3.9 · 104 , der kleinste bei −9.6. Die beiden Verfahren ode23s und ode15s arbeiten hier wiederum zuverl¨assig und berechnen
die L¨osung bei Standardeinstellung der Toleranzen (RelTol = 10−3 ) in 124 bzw. 129 Schritten
und 7.53 bzw. 2.62 Sekunden Rechenzeit (Pentium III 1 GHz). Falls N noch gr¨oßer gew¨ahlt wird, kommt der linearen Algebra (L¨ osung der linearen Gleichungssysteme im ROW-Verfahren bzw. in der Newton-Iteration bei BDF) entscheidende Bedeutung zu. Ohne eine effiziente lineare Algebra kann auch der beste steife Integrator dann nichts mehr ausrichten (Option JPattern in odeset).
5.4
Dissipative Differentialgleichungen und B-Stabilit¨ at
Der Begriff der A-Stabilit¨at war bisher das zentrale Kriterium zur Analyse und Einteilung von numerischen Verfahren fu ¨r steife Differentialgleichungen. Da man bei der A-Stabilit¨at nur eine lineare autonome Testgleichung 125
betrachtet, stellt sich die Frage, wie dieses Konzept auf den nichtlinearen Fall verallgemeinert werden kann. Wir beschr¨anken uns in diesem Abschnitt auf den autonomen Fall y 0 = f (y). Bei der linearen Theorie war unsere Modellvorstellung, dass alle Eigenwerte negative Realteile haben und daher die L¨osungen zu einer stabilen Trajektorie hin streben. Eine nichtlineare Verallgemeinerung ist Definition 5.6 Die Abbildung f : D → Rm heißt dissipativ bezu ¨glich des Skalarproduktes h·, ·i, wenn fu ¨r alle y, v ∈ D die Ungleichung hf (y) − f (z), y − zi ≤ µhy − z, y − zi
(5.31)
mit µ ≤ 0 erfu ¨llt ist. Man bezeichnet die Bedingung (5.31) auch als einseitige Lipschitzbedingung. Im Sonderfall y 0 = Ay lautet (5.31) hA(y − z), y − zi ≤ µhy − z, y − zi ⇐⇒
hAv, vi ≤ µ ∀v ∈ Rm . (5.32) hv, vi
Falls A symmetrisch ist und wir die 2-Norm annehmen, bedeutet dies v T Av µ = max T = λmax (A) ≤ 0 v v mit dem Rayleigh-Quotienten v T Av/v T v. Aus (5.31) mit µ ≤ 0 folgt die Kontraktivit¨atseigenschaft ky(x) − z(x)k ≤ eµ(x−x0 ) ky0 − z0 k ≤ ky0 − z0 k,
(5.33)
d.h. zwei L¨osungen y, z mit verschiedenen Anfangswerten y0 , z0 laufen zusammen. Man spricht auch von einem dissipativen (ged¨ampften) System. Um (5.33) zu zeigen, setze m(x) := ky(x) − z(x)k2 = hy − z, y − zi. Dann ist m0 (x) = 2hy 0 − z 0 , y − zi = 2hf (y) − f (z), y − zi ≤ 2µhy − z, y − zi = 2µm(x). Also m(x) ≤ e2µ(x−x0 ) m(x0 ) und m(x)1/2 ≤ eµ(x−x0 ) m(x0 )1/2 .
126
Eine natu ¨rliche Forderung an numerische Verfahren ist nun, dass sie die Dissipativit¨at an die diskrete Approximation vererben. Auf Butcher (1975) geht die folgende Definition zuru ¨ck. Definition 5.7 B-Stabilit¨at Ein Einschrittverfahren heißt B-stabil, falls aus der Dissipativit ¨at hf (y) − f (z), y − zi ≤ 0 fu ¨r alle Schrittweiten h > 0 und zwei Anfangswerte y0 , z0 folgt ky1 − z1 k ≤ ky0 − z0 k. Aus der B-Stabilit¨at eines Verfahrens folgt die A-Stabilit¨at: Wir betrachten y 0 = λy mit λ ∈ R, λ ≤ 0. Die Ungleichung (5.32) ist dann erfu ¨llt, die Gleichung ist dissipativ. Falls das Verfahren B-stabil ist, gilt |y1 − z1 | = |R(hλ)(y0 − z0 )| ≤ |y0 − z0 | und damit |R(hλ)| ≤ 1 fu ¨r alle Schrittweiten h. Im komplexen Fall λ = α + iβ mit α ≤ 0 verwendet man die reellwertige Differentialgleichung à ! α −β u0 = Au, A := , β α die wegen uT Au = α(u21 + u22 ) ≤ 0 ebenfalls dissipativ ist. Die Umkehrung dieser Aussage gilt nicht: So sind z.B. alle linear-impliziten Einschrittverfahren nicht B-stabil. Nur in der Klasse der impliziten RungeKutta-Verfahren findet man B-stabile Vertreter. Satz 5.6
IRK-Verfahren vom Gauß-Typ sind B-stabil
Beweis: Wir verwenden die Interpretation als Kollokationsverfahren und bezeichnen mit w das 2 = Kollokationspolynom zum AW y0 und mit w ˆ das zum AW z0 . Sei m(x) := kw(x) − w(x)k ˆ hy − z, y − zi. Dann ist m0 (x) = 2hw 0 − w ˆ 0 , w − wi ˆ = 2hf (w(x0 + ci h)) − f (w(x ˆ 0 + ci h)), w − wi ˆ ≤ 0. Integration liefert m(x0 + h) = m(x0 ) +
Z
x0 +h
m0 (x) dx = m(x0 ) + h
x0
s X i=1
127
bi m0 (x0 + ci h) ≤ m(x0 ).
Dabei geht ein, dass m0 ein Polynom vom Grad 2s−1 ist und durch die Quadratur exakt integriert wird. Dar¨ uberhinaus sind die Gewichte bi positiv. Also folgt ky1 − z1 k2 = m(x0 + h) ≤ m(x0 ) = ky0 − z0 k2 und damit die B-Stabilit¨ at.
¤
Weiter kann man zeigen (ohne Bew.) Satz 5.7 (i) (ii)
Falls die Koeffizienten eines IRK-Verfahrens die Bedingungen bi ≥ 0,
i = 1 : s;
M := (bi aij + bj aji − bi bj )i,j=1:s
ist positiv semidefinit
erfu ¨llen, ist das Verfahren B-stabil. Insbesondere sind RadauIIA-Verfahren B-stabil. Verfahren, die (i) und (ii) erfu ¨llen, nennt man auch algebraisch stabil. Bemerkung: Bei Mehrschrittverfahren spricht man statt der B-Stabilit ¨at von G-Stabilit¨at. Allerdings existiert kein lineares MSV mit Ordnung p > 2, das G-stabil ist, d.h. das die Dissipativita¨t der Differentialgleichung auf die Folge der diskreten Approximationen vererbt. Unter den BDF-Verfahren sind BDF-1 (impliziter Euler) und BDF-2 G-stabil. Abschließende Bewertung der steifen Differentialgleichungen Die Definition 5.6 klassifiziert die Differentialgleichungen eindeutig in dissipative und nicht dissipative. Deshalb liegt es nahe, diese Definition auch zur Bestimmung der steifen Differentialgleichungen heran zu ziehen. Aber: • Nicht jede dissipative Differentialgleichung ist steif! • Nicht jede steife Differentialgleichung ist dissipativ! Damit kommt dieser Zugang nicht in Frage, um Steifheit eindeutig fest zu 128
legen. Trotzdem k¨onnen wir die in Abschnitt 5.1 gegebene Charakterisierung noch etwas pr¨azisieren. a) Problemorientierte Charakterisierung. Die Ungleichung (5.32) zur Dissipativit¨at im linearen Fall ziehen wir heran, um die Gr¨oße µ(A) := max v6=0
hAv, vi hv, vi
(5.34)
als sogenannte logarithmische Norm zu definieren. Im Fall der 2-Norm ist µ(A) = λmax ((A + AT )/2). Falls µ(A) ≤ 0, ist das lineare Problem y 0 = Ay dissipativ. Bei steifen Problemen ist nun µ(A) ¿ kAk = L mit der Lipschitzkonstanten L. Zus¨atzlich spielt aber die L¨ange des Integrationsintervalls eine Rolle, denn die schnell abfallenden L¨osungsanteile sorgen nur bei großen Intervallen fu ¨r starke Einschr¨ankungen der Schrittweiten im expliziten Fall. Wir sagen daher: Ein Anfangswertproblem y 0 = f (y), y(x0 ) = y0 , ist auf dem Intervall [x0 , xend ] steif, wenn fu ¨r z aus einer Umgebung der exakten L¨osung y gilt sup µ(Df (z)) ¿ (xend − x0 ) sup kDf (z)k.
(5.35)
Betrachten wir zum Test den Fall y 0 = Ay mit A symmetrisch und Eigenwerten λm ≤ λm−1 ≤ . . . ≤ λ1 . Im Fall der 2-Norm ist dann µ(A) = λ1 und kAk = (λmax (AT A))1/2 = maxi |λi |. Die Bedingung (5.35) bedeutet dann, dass λ1 ¿ (xend − x0 ) max |λi |, i
was wegen λi ≤ λ1 nur gelten kann, wenn i = m und λm ¿ 0 ist.
b) Diskrete Kondition. Bei diesem Zugang nach Deuflhard/Bornemann fassen wir die exakte Lo¨sung als Abbildung y0 → y(xend ) auf, die eine Kondition κ(x0 , xend ) besitzt.Im steifen Fall ist dieses Problem 129
sehr gut konditioniert. Die numerische Approximation ist eine weitere Abbildung y0 → yn , ky(xend ) − yn k ≤ Chp , die ebenfalls eine Kondition κh (x0 , xend ) besitzt, die von der Schrittweite h und dem Verfahren abh¨angt. Damit ist kyn − yˆn k ≤ κh (x0 , xend )ky0 − yˆ0 k, wenn der Anfangswert mit yˆ0 gest¨ort wird. Man fordert nun sinnvollerweise κh (x0 , xend ) ≈ κ(x0 , xend ), was im steifen Fall bei expliziten Verfahren aber nur mit sehr kleinen Schrittweiten h zu erreichen ist. Mit anderen Worten: Das Anfangswertproblem ist steif, wenn die diskrete Kondition κ h (x0 , xend ) bei expliziten Verfahren nur fu ¨r sehr kleine Schrittweiten h mit κ(x0 , xend ) u ¨bereinstimmt.
130
Kapitel
6
Spezielle Anwendungen und Integratoren 6 In diesem Kapitel wird ein Ausblick auf spezielle Problemstellungen und Verfahren gegeben. 6.1
Integratoren mit Erhaltungseigenschaften
In vielen technischen Anwendungen erfu ¨llen die L¨osungen von Differentialgleichungen zus¨atzliche Bedingungen, sogenannte Invarianten des Systems, z. B. die Massen- oder Impulserhaltung. Diese Eigenschaften m¨ochte man auch auf numerische L¨osungen eines solchen Systems u ¨bertragen. Dazu betrachten wir die autonome Differentialgleichung y 0 = f (y).
(6.1)
Definition 6.1 Erstes Integral Eine nicht-konstante Funktion I(y) wird ein erstes Integral oder Invariante von (6.1) genannt, wenn d I(y) = I 0 (y)f (y) = 0 dx fu ¨r alle y. 131
Beispiel 6.1: Das Robertson-Beispiel y10 = −0.04 y1 + 104 y2 y3 ,
y20 = 0.04 y1 − 104 y2 y3 − 3 · 107 y22 ,
y30 = 3 · 107 y22 besitzt die Invariante I(y) = y1 + y2 + y3 .
Eine Klasse von Modellen, die Invarianten bereits in der Formulierung enthalten, sind die Hamilton-Systeme p0 = −
∂ H(p, q), ∂q
q0 =
∂ H(p, q) ∂p
(6.2)
mit der Hamilton-Funktion H : Rn ×Rn → R zweimal stetig differenzierbar. Im Folgenden schreiben wir kurz Hp := ∂/∂p H und Hq := ∂/∂q H. Wie sich aus d H(p, q) = Hp p0 + Hq q 0 = −Hp Hq + Hq Hp = 0 dx ergibt, ist die Hamilton-Funktion eine Invariante des Systems. Oft beschreibt sie die Energie, wie im folgenden Beispiel. q2
Beispiel 6.2: Das mathematische Pendel mit Masse 1, L¨ange 1 und Gravitationskonstante 1 hat die Energie 1 H(p, q) = p2 − cos q 2
q1 α
mit Verschiebung q = α und Impuls p = α. ˙ Die Bewegungsgleichungen in Hamilton-Form ergeben sich zu p0 = − sin q,
l=1
γ=1
q 0 = p.
m=1 Neben der Energieerhaltung besitzen Hamilton-Systeme noch eine weitere Invariante. Dazu betrachten wir den Fluss ψx (y0 ), der als ψx (y0 ) := y(x; x0 , y0 ) 132
Y
ψ Y t
Abbildung 40: Transformation einer Menge Y unter dem Fluss ψx .
definiert ist und die L¨osung in Abh¨angigkeit vom Anfangswert y(x0 ) = y0 beschreibt. Diese Definition wird nun noch auf Mengen von Anfangswerten erweitert. Dazu schreibt man ψx Y := {y|y = y(x; x0 , y0 ), y0 ∈ Y}, siehe auch Abb. 40. Definition 6.2 Volumenerhaltung Der Fluss ψx bzw. die Differentialgleichung (6.1) heisst volumenerhaltend, falls gilt Vol(ψx Y) = Vol(Y) fu ¨r alle x ≥ x0 , wobei Vol(Y) das Volumen bzw. die Fl¨ache von Y bezeichnet. Das Volumen berechnet sich zu (vgl. Z Z Vol(ψx Y) = dy =
Sensitivit¨at aus Kap. 2) ¯ ¶¯ µ ¯ ¯ ∂y ¯ dy0 ¯det (x; x , y ) 0 0 ¯ ¯ ∂y0 Y
ψx Y
was ¨aquivalent ist zu Vol(ψx Y) =
Z
exp Y
µZ
x
Spur (fy (y(s; x0 , y0 ))) ds x0
¶
mit der Jacobimatrix fy , siehe Hairer/Norsett/Wanner S.99. 133
dy0
(6.3)
Aus der Beziehung (6.3) erkennt man, dass fu ¨r Spur(fy (y)) = 0 der Fluss ψx wegen Z Vol(ψx Y) = exp(0) dy0 = Vol(Y) Y
volumenerhaltend ist.
Hamilton-Systeme besitzen die Jacobimatrix à ! −Hpq −Hqq fy = Hpp Hpq mit Spur(fy ) = 0 und sind daher per Konstruktion volumenerhaltend. F u ¨r Hamilton-Systeme nennt man diese Eigenschaft auch Symplektizit¨at. Numerische Verfahren Beispiel 6.3: Berechne das Pendel aus Beispiel 6.2 mit expliziten Euler, impliziten Euler und Mittelpunktregel und vergleiche die numerischen Fl¨achen ψ˜x Y. Mittelpunktregel: y1 = y0 + hK1 mit K1 = f (x0 + h/2, y0 + h/2K1 ).
Impliziter Euler
Mittelpunktregel
1
1
0
0
0
−1 −1
q
1 q
q
Expliziter Euler
−1 0
1
2
−1
−1 0
p
1 p
2
−1
0
1
2
p
Der explizite Euler vergr¨ oßert die Fl¨ ache sichtbar und der implizite Euler verkleinert sie. Nur die Mittelpunktregel zeigt ein zufriedenstellendes Ergebnis.
Welche numerische Verfahren haben besonders gute Eigenschaften in Bezug auf die Erhaltung von Invarianten? Wir beschr¨anken unsere Analyse auf
134
implizite Runge-Kutta-Verfahren, kurz IRK-Verfahren Ki = f (x0 + ci h, y0 + h
s X
aij Kj ),
i = 1, . . . , s
(6.4)
j=1
y1 = y 0 + h
s X
b i Ki .
(6.5)
i=1
Im Vergleich zu expliziten RK-Verfahren l¨auft der Index in (6.4) bis s und nicht nur bis i−1, so dass dies eine nichtlineare Gleichung in den Zuw ¨achsen Ki darstellt, die mit dem Newton-Verfahren oder Varianten gelo¨st werden muss. Satz 6.1 Lineare Invarianten Alle RK-Verfahren erhalten lineare Invarianten. Beweis:
Lineare Invarianten besitzen die Form I(y) = dT y. Daraus folgt d I(y) = dT y 0 = dT f (y) = 0 dx
und somit auch dT Ki = 0 f¨ ur i = 1, . . . , s. Die Invariante im neuen Punkt x1 lautet daher à s ! X dT y1 = dT y0 + hdT bi Ki = dT y0 . i=1
Die Massenerhaltung des Robertson-Beispiels stellt eine lineare Invariante mit d = (1, 1, 1)T dar und wird somit von allen RK-Verfahren beru ¨cksichtigt. Satz 6.1 Quadratische Invarianten Wenn die Koeffizienten eines RK-Verfahrens den Bedingungen bi aij + bj aji = bi bj
i, j = 1, . . . , s
(6.6)
genu ¨gen, erh¨alt es quadratische Invarianten. Beweis: Quadratische Invarianten schreiben sich als I(y) = y T Cy mit einer symmetrischen Matrix C. Daraus ergibt sich mit (6.5) y1T Cy1
=
y0T Cy0
+h
s X i=1
bi KiT Cy0
+h
s X j=1
135
bj y0T CKj
+h
2
s X
i,j=1
bi bj KiT CKj .
P Schreibt man f (Yi ) = Ki mit Yi = y0 + h si=1 aij Kj , kann man letzteres nach y0 aufl¨osen und oben einsetzen. Dies liefert mit der Symmetrie von C y1T Cy1
=
y0T Cy0
+ 2h
s X
T
bi f (Yi ) CYi + h
2
s X
i,j=1
i=1
(bi bj − bi aij − bi aji )KiT CKj .
Wegen d/dx I(y) = 2y T Cy 0 = 2y T Cf (y) = 0 f¨ ur alle y ergibt sich aus (6.6) die Behauptung.
Bemerkung: Andere Invarianten k¨onnen durch RK-Verfahren nicht konserviert werden! Da Symplektizit¨at eine quadratische Invariante ist, siehe z.B. Hairer/Norsett/Wanner S. 312, nennt man Verfahren mit (6.6) symplektische Verfahren. Beispiel 6.4: Die Mittelpunktregel mit Butcher-Tableau 1/2 1/2 1 ist symplektisch, die Trapezregel nur f¨ ur lineare Systeme. Explizite RK-Verfahren k¨onnen nicht ¨ symplektisch sein, Beweise siehe Ubung.
Satz 6.2 Gest¨orte Hamilton-Funktion Die rechte Seite des Hamilton-Systems (6.2) sei N -mal stetig differenzierbar und das angewendete RK-Verfahren symplektisch. Die numerische L¨osung y1 = (p1 , q1 )T definiert durch (6.5) ergibt dann p1 = p˜(x0 + h) + O(hN +1 ),
q1 = q˜(x0 + h) + O(hN +1 ),
wobei p˜(x) und q˜(x) die exakte L¨osung eines gest¨orten Hamilton-Systems p˜0 = −
˜ ∂H (˜ p, q˜), ∂q
q˜0 =
˜ ∂H (˜ p, q˜) ∂p
sind. Interpretation: Im Fall von symplektischen Integratoren ist zwar keine Erhaltung der Hamilton-Funktion mo¨glich, aber durch eine Ru ¨ckwa¨rtsanalyse ergibt sich als gesto¨rtes System wieder ein Hamilton-System, so dass der Fehler in H(p, q) zumindest beschr¨ankt bleibt. 136
Beispiel 6.5: Wir betrachten wieder das Pendel aus Beispiel 6.2. Der numerische Fehler in der Hamilton-Funktion ist f¨ ur den expliziten und impliziten Euler sowie die Mittelpunktregel in der folgenden Abbildung dargestellt.
Phasenpotrait
Numerische Hamilton−Funktion
1.5
−0.4
1
Expl. Euler
0
H(pn,qn)
q
0.5 Impl. Euler
Expl. Euler Mittelpunktregel
−0.5
−0.5
Impl. Euler
−1 −1.5 −2
−1
0 p
1
−0.6
2
0
5
10 t
15
20
Die L¨osungen des expliziten/impliziten Eulers weichen stark von einer konstanten HamiltonFunktion bzw. einem geschlossenen Kreis im Phasenportrait ab. Die Mittelpunktregel als symplektisches Verfahren besitzt dagegen eine beschr¨ankte numerische Hamilton-Funktion und bildet eine geschlossene Kurve.
6.2
Differentiell-algebraische Gleichungen
Differentiell-algebraische Systeme treten in einer Vielzahl von technischen Anwendungen auf. Zu nennen sind u.a. neben mechanischen Mehrk ¨orpersystemen (Fahrzeugtechnik und Robotik) die elektronischen Schaltkreise (Chipdesign) und die verfahrenstechnischen Anlagen (Prozesssimulation). Als Beispiel betrachten wir den Van-der-Pol-Oszillator (2.3) y 0 = −z, εz 0 = y − z 3 /3 + z mit Parameter ε ¿ 1. Im Grenzfall ε = 0 wird aus der zweiten Differentialgleichung eine Nebenbedingung, und insgesamt geht das singul a¨r gesto¨rte
137
2.5 2 1.5 1
y2
0.5 0 −0.5 −1 −1.5 −2 −2.5 −1.5
−1
−0.5
0 y1
0.5
1
1.5
Abbildung 41: Richtungsfeld der Van-der-Pol-Gleichung
System in eine differentiell-algebraische Gleichung y 0 = −z, 0 = y − z 3 /3 + z
(6.7)
u ¨ber. Wie verlaufen die L¨osungen von (6.7) im skizzierten Richtungsfeld? In der zweiten Gleichung 0 = g(y, z) := y − z 3 /3 + z k¨onnen wir wegen ∂g/∂z = (1 − z 2 ) 6= 0 fu ¨r z 6= ±1 mit dem Satz von der impliziten Funktion formal nach z = z(y) auflo¨sen. Damit folgt aus y 0 = −z(y) die formale L¨osung dieses differentiell-algebraischen Systems. Allgemein formuliert: Das halbexplizite System y 0 = a(y, z)
(6.8)
0 = b(y, z)
(6.9)
besteht aus Differentialgleichungen (6.8) und Nebenbedingungen (6.9). Die Dimension der algebraischen Variablen z sei gleich der Anzahl der Nebenbedingungen b. Gesucht ist die Lo¨sung einer Differentialgleichung, die ganz in der durch (6.9) definierten Mannigfaltigkeit verl¨auft. 138
Unter der Annahme, daß ∂b/∂z = bz invertierbar ist, fu ¨hrt die totale Dif0 0 0 ferentiation von (6.9) nach x auf 0 = by y + bz z ⇒ z 0 = −b−1 z by y . Mit diesem Differentiationsschritt erh¨alt man aus dem differentiell-algebraischen System das gewo¨hnliche Differentialgleichungssystem y 0 = a(y, z) z 0 = −bz (y, z)−1 by (y, z)y 0 . Man sagt: (6.8)-(6.9) ist vom Index 1. Nach dem Satz von der impliziten Funktion kann (6.9) lokal nach z = z(y) aufgel¨ost werden. Setzt man z(y) in (6.8) ein, so ergibt sich ein gew¨ohnliches Differentialgleichungssystem fu ¨r y. Unter u ¨blichen Voraussetzungen sind also lokale Existenz und Eindeutigkeit einer L¨osung garantiert, falls bz invertierbar und b−1 ankt ist. z beschr¨ Ansatz zur Diskretisierung. Um das differentiell-algebraische System (6.8)-(6.9) zu diskretisieren, schreiben wir es neu in der linear-impliziten Form à ! I 0 M u0 = F (u), u = (y, z)T , M = . (6.10) 0 0 Einfachster Ansatz ist der implizite Euler M
u1 − u 0 = F (u1 ), h
(6.11)
bei dem der Differentialquotient durch einen Differenzenquotienten ersetzt wird. Eine Verallgemeinerung dieses Ansatzes auf gewisse IRK- und auf die BDF-Verfahren ist m¨oglich. Aber auch ein linear-implizites Vorgehen u ¨ber (M − hDF (u0 ))
u1 − u 0 = F (u0 ) h
mit Verallgemeinerung auf Extrapolations- und ROW-Verfahren f u ¨hrt auf erprobte Verfahren. Fu ¨r weitere Details zu Integratoren fu ¨r differentiell-algebraische Gleichungen siehe Hairer/Wanner und Deuflhard/Bornemann. 139
Ausblick auf den allgemeinen Fall: Wir betrachten das implizite Differentialgleichungssystem F (y 0 , y, x) = 0 ,
y ∈ Rn ,
F : Rn × Rn × R → R n .
(6.12)
Das wesentliche Kennzeichen eines differentiell-algebraischen Systems ist sein Index . Diese ganze Zahl gibt an, inwiefern (6.12) ¨ aquivalent ist zu einem gew¨ohnlichen Differentialgleichungssystem. Die erste Indexdefinition f¨ ur ein nichtlineares System (6.12) geht auf Gear (1988) zur¨ uck. Sie setzt den Index gleich mit der Anzahl der Differentiationsschritte, die n¨otig sind, um (6.12) in ein gew¨ohnliches Differentialgleichungssystem umzuformen. Definition Differentieller Index Der Index k des Systems F (y 0 , y, x) = 0 betr¨ agt k = 0, falls ∂F/∂y 0 regul¨ ar ist, und 0 k > 0, falls ∂F/∂y singul¨ ar ist. Zur Bestimmung von k betrachtet man das nichtlineare Gleichungssystem F (y 0 , y, x) = 0 d ∂ F (y 0 , y, x) = F (y 0 , y, x) y (2) + . . . = 0 (6.13) dx ∂y 0 .. . ∂ dj 0 0 (j+1) F (y , y, x) = F (y , y, x) y + ... = 0 dxj ∂y 0 mit abh¨ angigen Variablen y 0 , y (2) , . . . , y (j+1) und unabh¨ angigen Variablen y und x. Der Index k ist die kleinste Zahl j, f¨ ur die (6.13) eindeutig nach y 0 (y, x) aufgel¨ ost werden kann. Pr¨aziser und besser interpretierbar ist der St¨orungsindex von Hairer/Lubich/Roche (1989). Definition St¨ orungsindex Das implizite Differentialgleichungssystem F (y 0 , y, x) = 0 hat entlang einer L¨ osung y im Intervall [x0 , x1 ] den Index k ≥ 1, falls k die kleinste ganze Zahl ist, f¨ ur die eine Absch¨ atzung der Form ³ ´ kˆ y 0 (x) − y(x)k ≤ c kˆ y (x0 ) − y(x0 )k + max kδ(ξ)k + . . . + max kδ (k−1) (ξ)k x0 ≤ξ≤x
x0 ≤ξ≤x
in [x0 , x1 ] existiert. yˆ bezeichnet dabei die L¨ osung des gest¨ orten Problems F (ˆ y 0 , yˆ, x) = δ(x) , die Konstante c h¨ angt nur von F und der Intervall¨ ange ab, und die Schranke auf der rechten Seite muß f¨ ur alle St¨ orungen δ hinreichend klein sein. Der St¨orungsindex ist 0, falls wie bei gew¨ohnlichen Differentialgleichungen Z ξ ´ ³ δ(τ ) dτ k kˆ y (x) − y(x)k ≤ c kˆ y (x0 ) − y(x0 )k + max k x0 ≤ξ≤x
x0
gilt. Der Index ist nach dieser Definition ein Maß f¨ ur die Empfindlichkeit der L¨ osungen von (6.12) gegen¨ uber kleinen St¨ orungen. Aus Sicht der Numerik liefert er eine Aussage u ¨ber die Kondition eines differentielll-algebraischen Systems. Kleine, eventuell hochfrequente St¨orungen, wie z.B. Rundungsfehler, sind bei numerischen Rechnungen unvermeidbar. Bei einem System mit Index > 1 gehen sie zus¨ atzlich u ¨ber die Ableitungen δ (j) in die L¨osung ein. Die St¨orung wird somit verst¨ arkt, das Problem ist schlecht konditioniert.
140
6.3
Stochastische Differentialgleichungen
Stochastische Differentialgleichungen spielen eine große Rolle in der Finanzmathematik, speziell bei der Modellierung von Aktienkursen. In diesem Abschnitt wollen wir die Grundlagen dazu bereitstellen und einfache numerische Integrationsverfahren kennenlernen. Weiterfu ¨hrende Literatur: Seydel, R.: Einfu ¨hrung in die numerische Berechnung von Finanzderivaten. Springer, 2000 Gu ¨nther, M., Ju ¨ngel, A.: Finanzderivate mit MATLAB. Vieweg 2003 Wiener-Prozess und Ito-Differentialgleichung Die bisher betrachteten Differentialgleichungen aus Naturwissenschaft und Technik waren deterministisch und ließen stochastische Einfl u ¨sse außer Acht. Fu ¨r Aktienkurse ist eine solche Modellierung nicht angemessen - man betrachte nur einmal die Entwicklung des DAX u ¨ber der Zeit. Zur Modellierung einer stochastischen Fluktuation setzt man im Allgemeinen additiv an mittels d X(t) = a(X(t), t) + b(X(t), t) · ξt . (6.14) dt Dabei ist X die gesuchte (skalarwertige) Variable, die von der Zeit t abh ¨angt, die Funktion a ist der sogenannte Driftterm und b(X, t) · ξ t der Diffusionsterm mit einem verallgemeinerten stochastischen Prozess ξt (der ’Zufall’). ¨ Man hat also eine Uberlagerung von deterministischen und stochastischen Effekten. Um den stochastischen Term zu pr¨azisieren, ben¨otigen wir den WienerProzess, der ein mathematisches Modell fu ¨r die Brownsche Bewegung von Moleku ¨len oder Partikeln darstellt. Ein stetiger stochastischer Prozess ist eine Familie von Zufallsvariablen X(t), die fu ¨r stetige Zeit t ∈ [0, T ] definiert sind. Oft schreibt man auch Xt , und man spricht von einer Realisierung des Prozesses, wenn man Xt fu ¨r alle t im Beobachtungszeitraum auswertet. 141
Definition 6.3 Ein Wiener-Prozess Wt ist ein stetiger stochastischer Prozess mit den Eigenschaften (i) W0 = 0 (ii) Wt ist fu ¨r alle t ≥ 0 normalverteilt mit Erwartungswert E(W t ) = 0 und Varianz Var(Wt ) = E(Wt2 ) = t, kurz Wt ∼ N (0, t). (iii) Alle Zuw¨achse ∆W sind unabh¨angig voneinander, d.h. Wt − Ws und Wv − Wu sind unabh¨angig fu ¨r 0 ≤ s < t < u < v. ¨ Aquivalent zu (ii) findet man in der Literatur oft Wt − Ws ∼ N (0, t − s) als definierende Eigenschaft angegeben. Fu ¨r eine numerische Realisierung des Wiener-Prozess ben¨otigen wir ein diskretes Modell. Dazu sei h = ∆t ein konstantes Zeitinkrement, mit dem wir das Gitter tj = jh fu ¨r j = 0 : n festlegen. Dann ist W tn =
n X j=1
(Wtj − Wtj−1 ) =
n X
∆Wj
j=1
mit Zuw¨achsen ∆Wj , die N (0, ∆t)-normalverteilt sind. Fu ¨r eine Zufallszahl √ Z ∼ N (0, 1) ist Z ∆t ∼ N (0, ∆t), und damit haben wir alles an der Hand, um eine Realisierung fu ¨r einen diskreten Wiener-Prozess zu implementieren: Algorithmus 6.1 Diskreter Wiener-Prozess t0 = 0; W0 = 0; h = T /n; Fu ¨r j = 0 : n − 1 tj+1 = tj + h; Ziehe Zufallszahl Z ∼ N (0, 1); √ Wj+1 = Wj + Z h; In MATLAB stehen mit dem Befehl randn Zufallszahlen zur Verfu ¨gung, die N (0, 1)-normalverteilt sind. Diese werden mit einem speziellen Zufallszahlengenerator erzeugt, und sukzessive Aufrufe von randn liefern eine Folge von entsprechenden Zufallszahlen. Eine Reproduktion dieser Folge ist 142
h=0.01 3
2
1
0
Wt
−1
−2
−3
−4
−5
−6
0
1
2
3
4
5 t
6
7
8
9
10
Abbildung 42: Realisierungen des Wiener-Prozess
mo¨glich, wenn man mit der Option state den Generator zuru ¨cksetzt. Damit lautet der Algorithmus 6.1 in MATLAB randn(’state’,1); T = 10; h = 0.01; n = T/h; W(1) = 0; t = 0:h:T; for i=1:n, W(i+1) = W(i)+randn*sqrt(h); end In Abbildung 42 sind zwei Realisierungen zu sehen, die durch obige Kommandos und einen erneuten Aufruf der for-Schleife erzeugt wurden (damit basiert die zweite Realisierung auf anderen Zufallszahlen). Die Realisierungen des Wiener-Prozess sind stetig, jedoch fast nirgends diffe√ renzierbar (betrachte (Wt+h − Wt )/h mit Varianz h fu ¨r den Z¨ahler). Aber nicht nur die Differentiation, auch die Integration macht Schwierigkeiten und erfordert einen eigenen Kalku ¨l, da das Riemann-Stieltjes-Integral hier i.A. nicht existiert (der Wiener-Prozess hat keine endliche Totalvariation). 143
Definition 6.4
Das Ito-Integral mit Integrator Wt ist gegeben durch Z
n−1 X
t
Xs dWs := lim
n→∞
0
k=0
Xtk (Wtk+1 − Wtk ),
(6.15)
wobei Xs ein stochastischer Prozess und 0 = t0 < t1 < . . . < tn = t Partitionen von [0, t] sind mit max |ti+1 − ti | → 0. (Fu ¨r Fragen zur Wohldefiniertheit verweisen wir auf die entsprechende Literatur). Mit diesem Integralbegriff gilt Z t 1 t Ws dWs = Wt2 − , 2 2 0 im Unterschied zur klassischen Analysis, wo wir nur den ersten Term erwarten wu ¨rden. Bemerkung: Es existiert jedoch ein alternativer Integralbegriff, das Stratonovich-Integral, bei dem der obige Extraterm nicht auftritt. Es ist definiert als Z
t 0
Xs ◦ dWs := lim
n→∞
n−1 X k=0
X1/2(tk +tk+1 ) (Wtk+1 − Wtk ).
(6.16)
Das Ergebnis ist aber, im Gegensatz zum Ito-Integral, kein Martingal.
Mit dem Begriff des Ito-Integrals k¨onnen wir nun eine stochastische Differentialgleichung nach Ito einfu ¨hren. Dazu schreiben wir (6.14) in Integralform Z t Z t b(Xs , s)dWs (6.17) a(Xs , s)ds + Xt = X 0 + 0
0
mit dem gesuchten stochastischen Prozess Xt . Das erste Integral in (6.17) ist ein Riemann- oder Lebesgue-Integral, das zweite jedoch ein Ito-Integral. Als Kurzschreibweise verwendet man fu ¨r die stochastische Differentialgleichung (6.17) oft auch dXt = a(Xt , t)dt + b(Xt , t)dWt (6.18) mit Drift a und Diffusion b dWt .
144
Euler-Maruyama-Verfahren und Monte-Carlo-Simulation Das einfachste Verfahren zur Berechnung einer numerischen Approximation fu ¨r die stochastische Differentialgleichung (6.17) bzw. (6.18) ist das EulerMaruyama-Verfahren. Dazu u ¨berfu ¨hren wir die Differentialgleichung in die diskrete Form X1 − X0 = ∆X = a(X0 , t0 )∆t + b(X0 , t0 )∆W.
(6.19)
Fu ¨r verschwindenden Diffusionsterm ist dies nichts anderes als der explizite Euler. Die Implementierung des Verfahrens verknu ¨pft Euler-Zeitschritt mit dem Wiener-Prozess: Algorithmus 6.2 Euler-Maruyama-Verfahren t0 = 0; h = T /n; X0 gegeben; Fu ¨r j = 0 : n − 1 tj+1 = tj + h; Ziehe Zufallszahl Z ∼ N (0, 1); √ ∆W = Z h; Xj+1 = Xj + a(Xj , tj )h + b(Xj , tj )∆W ; Wir wollen dieses Verfahren nun anhand der speziellen stochastischen Differentialgleichung (sog. geometrische Brownsche Bewegung) dSt = rSt dt + σSt dWt
(6.20)
studieren. Dabei ist r ≥ 0 z.B. ein konstanter risikofreier Zinssatz und σ > 0 die konstante Volatilit¨at. In MATLAB lautet die Simulation mit dem EulerMaruyama-Verfahren, mit gleichzeitiger Berechnung des Wiener-Prozesses, T = 10; h = 0.01; n = T/h; W(1) = 0; r = 0.1; sigma = 0.4; S(1) = 1; t = 0:h:T; for i=1:n, W(i+1) = W(i)+randn*sqrt(h); S(i+1) = S(i)* (1+r*h+sigma*(W(i+1)-W(i))); end 145
Brownsche Bew., r=0.1, σ=0.4 14
12
10
S
8
6
4
2
0
0
1
2
3
4
5 t
6
7
8
9
10
Abbildung 43: Zwei Pfade der Brownschen Bewegung (6.20)
In der Abbildung 43 sind zwei Pfade dargestellt, die mit diesem Algorithmus berechnet wurden (r = 0.1, σ = 0.4, S0 = 1). Andere Realisierungen des Wiener-Prozess fu ¨hren wiederum auf andere Pfade, und es ist offensichtlich, dass es wenig Sinn macht, die Pfade punktweise zu interpretieren oder zu bewerten. Stattdessen wendet man die Monte-Carlo-Simulation an: 1) L¨ose die stochastische Differentialgleichung M mal, um Approximationen ST,1 , . . . , ST,M zu erhalten. 2) Sch¨atze den Erwartungswert M 1 X . E(ST ) = θM = ST,i M i=1
u ¨ber den Mittelwert θM . Dieses Vorgehen wollen wir nun anwenden, um die Konvergenzordnung des Euler-Maruyama-Verfahrens experimentell zu bestimmen. 146
Definition 6.5 Sei Xt eine L¨osung einer stochastischen Differentialgleichung und Xth eine numerische Approximation mit der Schrittweite h. Die Approximation XTh konvergiert stark mit Ordnung γ > 0 gegen XT , falls fu ¨r genu ¨gend kleine h gilt e(h) ≤ C · hγ mit dem absoluten Fehler e(h) = E(|XT − XTh |). Im Fall der Brownschen Bewegung (6.20) ist die exakte L¨osung bekannt. Sie lautet St = S0 exp((r − σ 2 /2) + σWt ) und h¨angt natu ¨rlich von der Realisierung des Wiener-Prozess Wt ab. Zur Bestimmung der Konvergenzordnung berechnet man nun M À 1 Realisierungen des Wiener-Prozess. Zu jeder Realisierung i berechnet man weiter N j−1 h numerische Approximationen ST,ij mit Schrittweiten hj = h−2 . Der Fehler zur Schrittweite hj ergibt sich gesch¨atzt zu
Es ist nun
M 1 X h e(hj ) = |ST,i − ST,ij |. M i=1
log e(hj ) ≈ log C + γ log hj , und zur Bestimmung der Parameter log C sowie γ ziehen wir die lineare Ausgleichsrechnung heran. Das Ergebnis ist γ ≈ 0.5, was u ¨ber eine theoretische Analyse verifiziert werden kann: Die starke Konvergenzordnung des Euler-Maruyama-Verfahrens ist γ = 1/2. Der Begriff der schwachen Konvergenz basiert dagegen auf dem Fehler ew (h) = |E(XT ) − E(XTh )|. Bezu ¨glich dieses Fehlermaßes konvergiert das Euler-Maruyama-Verfahren mit der Ordnung 1. 147
Stochastische Taylorentwicklung und weitere Verfahren Um zu Verfahren ho¨herer Ordnung zu gelangen, bedient man sich wie im deterministischen Fall der Taylorentwicklung. Allerdings ben¨otigt man dazu einen speziellen Kalku ¨l, der auf dem Ito-Integral aufbaut. Wir beschr¨anken uns auf den autonomen Fall dXt = a(Xt )dt + b(Xt )dWt und verwenden als zentrales Hilfsmittel die Ito-Formel ¶ Z tµ Z t 1 f (Xt ) = f (X0 )+ f 0 (Xs )a(Xs ) + f 00 (Xs )b(Xs )2 ds+ f 0 (Xs )b(Xs )dWs 2 0 0 Im deterministischen Fall b = 0 ergibt sich diese Formel direkt aus der partiellen Integration Z t Z t t 0 0 f (X(s))|0 = f (X(s))X (s) ds + 0 · f (X(s)) ds 0
und
X 0 (s)
0
= a(X(s)). Mit Differentiation nach t folgt daraus die Kettenregel d d d f (X(t)) = f (X(t)) X(t). dt dX dt
Die Ito-Formel ist also die Verallgemeinerung der Kettenregel auf den stochastischen Kalk¨ ul.
Mit der Ito-Formel als verallgemeinerter Kettenregel kann man nun wie bei den Einschrittverfahren im deterministischen Fall die Taylorentwicklung der exakten L¨osung aufstellen. Wir setzen f (X) = X und erhalten Z t Z t Xt = X 0 + a(Xs )ds + b(Xs )dWs . 0
0
Im n¨achsten Schritt werden a und b mit der Ito-Formel substituiert, ¶ Z s Z tµ Z s 1 a0 b dWz ds Xt = X 0 + a(X0 ) + (a0 a + a00 b2 )dz + 2 ¶ Z s 0 Z t µ0 Z s 0 1 (b0 a + b00 b2 )dz + b(X0 ) + b0 b dWz dWs . + 2 0 0 0
Bei Vernachla¨ssigung der Doppelintegrale erha¨lt man aus dieser Entwicklung das Euler-Maruyama-Verfahren. Ho¨here Ordnung erreicht man, wenn man gewisse weitere Terme beru ¨cksichtigt. 148
Beispiele: 1) Das Milstein-Verfahren basiert auf der Darstellung Z tZ Z t 0 dWs + b (X0 )b(X0 ) Xt = X0 + a(X0 )t + b(X0 ) 0
0
s
dWz dWs + R 0
mit Termen h¨oherer Ordnung, die in R zusammegefasst sind. Wichtig: Das Doppelintegral kann man explizit berechnen. In diskreter Form lautet das Verfahren dann (jetzt nichtautonom angeschrieben) 1 X1 = X0 + a(X0 , t0 )∆t + b(X0 , t0 )∆W + b0 (X0 , t0 )b(X0 , t0 )((∆W )2 − h). 2 Das Milstein-Verfahren ist von der starken Konvergenzordnung 1. 2) Der Ableitungsterm b0 b beim Milstein-Verfahren l¨asst sich durch einen Runge-Kutta-Ansatz vermeiden: √ ˆ = X0 + a(X0 , t0 )∆t + b(X0 , t0 ) ∆t, X X1 = X0 + a(X0 , t0 )∆t + b(X0 , t0 )∆W 1 ˆ t0 ) − b(X0 , t0 ))((∆W )2 − h). + √ (b(X, 2 ∆t Dieses stochastische Runge-Kutta-Verfahren hat ebenfalls die starke Konvergenzordnung 1. Bemerkungen: • Alles hier Dargestellte bezieht sich auf eine skalare stochastische Differentialgleichung. Der mehrdimensionale Fall l¨auft ganz analog, falls man es in allen Komponenten mit demselben Wiener-Prozess zu tun hat. Ist dies nicht der Fall, treten zus¨atzliche gemischte Ableitungen und Integrale auf, so dass sich die Verfahren h¨oherer Ordnung deutlich komplizierter gestalten. Nur das Euler-Maruyama-Verfahren ist auch in diesem Fall einfach zu handhaben. • Bei stochastischen Differentialgleichungen tritt manchmal Steifheit auf. In diesem Fall wird nur der Drift-Term implizit oder semi-implizit diskretisiert. 149
Kapitel
7
Randwertprobleme 7 Zum Abschluss wollen wir noch eine Einfu ¨hrung in die numerische Behandlung von Randwertproblemen y 0 = f (x, y(x)) ,
r(y(a), y(b)) = 0,
(7.1)
geben. Solche Problemstellungen resultieren ha¨ufig aus den notwendigen Bedingungen der Variationsrechnung, z.B. in der Optimalsteuerung. Aber auch die Ermittlung periodischer L¨osungen (Grenzzyklusberechnung) fu ¨hrt auf ein Randwertproblem (7.1). Beispiel 7.1: Gegeben sei ein dynamisches System z(t) ˙ = g(z(t)), von dem man die Existenz periodischer L¨ osungen erwartet (vgl. den Bruselator in Abschnitt 2.3). Eine periodische L¨osung wird durch das RWP ) ) z˙ = g(z) z(0) = z(0 + T ) DGl. Randbed. T˙ = 0 zj (0) = η charakterisiert, mit unbekannter Periode T und Phasenfixierung der Komponente z j . Wir transformieren das System auf die neue Zeit x = Tt , so dass x ∈ [0, 1]. Das Ergebnis ist ) ) z 0 = T g(z) z(0) = z(0 + 1) DGL Randbed. (7.2) T0 = 0 zj (0) = η Mit y(x) := (z T (x), T (x))T und a = 0, b = 1 liegt damit ein Randwertproblem (7.1) vor. Insgesamt hat man m + 1 Differentialgleichungen und m + 1 Randbedingungen.
150
7.1
Einfach–Schießen
Die einfachste Technik zur Lo¨sung eines RWP ist das Einfach–Schießen: Betrachte dazu die skalare Differentialgleichung zweiter Ordnung u00 = w(x, u, u0 ) ,
u(a) = α ,
u(b) = β.
Wir l¨osen das AWP u00 = w(x, u, u0 ), u(a) = α, u0 (a) = s abh¨angig von der Steigung s und bestimmen sˆ so, dass die zugeh¨orige L¨osung u(x; sˆ) die rechte Randbedingung u(b; sˆ) = β erfu ¨llt, Abb. 44.
u
u(x;s)
Steigung s
^ u(x;s)
α β a
b
x
Abbildung 44: Einfachschießen
Es ist also eine Nullstelle sˆ der Funktion F (s) := u(b; s) − β gesucht. Diese nichtlineare Gleichung fu ¨r s muss numerisch gel¨ost werden, und zwar mit dem Newtonverfahren (im skalaren Fall auch Bisektion m¨oglich). Im allgemeinen Fall eines Systems y 0 = f (x, y) von m Differentialgleichungen und m Randbedingungen r(y(a), y(b)) = 0 l¨ost man das AWP y 0 = f (x, y),
151
y(a) = s
(7.3)
abh¨angig von s ∈ Rm und sucht den Anfangswert sˆ mit r(ˆ s, y(b; sˆ)) = 0. Es ist also eine L¨osung des nichtlinearen Gleichungssystems F (s) = 0 mit F (s) := r(s, y(b; s))
(7.4)
gesucht. Das Newton-Verfahren fu ¨r (7.4) lautet si+1 = si + ∆si ,
DF (si )∆si = −F (si ).
(7.5)
Zur Auswertung der rechten Seite F muß jeweils ein Anfangswertproblem (7.3) gel¨ost werden. Dazu kommt die Berechnung der Jacobimatrix DF (si ), die im Allgemeinen mit numerischer Differentiation erfolgt. Man approximiert DF mittels wobei
. DF (s) = (∂Fi /∂sj )i,j=1:m = a1 a2 . . . an ∈ Rm×m
F (s1 , . . . , sk + ∆k , . . . , sm ) − F (s1 , . . . , sm ) . ∆k Notwendig dazu ist die Auswertung von F (s1 , . . . , sk + ∆k , . . . , sm ) fu ¨r k = 1, . . . , m, d.h. weitere m AWP der Form (7.3). Hinzu kommt schließlich der Aufwand zur L¨osung des linearen Gleichungssystems fu ¨r ∆si . Der Hauptaufwand liegt damit in der Berechnung von DF (si ). ak =
Die numerische Differentiation kann hier sehr empfindlich reagieren, denn man bildet den Differenzenquotienten mit Daten, die ihrerseits diskrete Approximationen sind. In manchen Fa¨llen ist es dann sinnvoll, die Ableitungsinformation anders bereit zu stellen, und zwar mithilfe der Sensitivit ¨atsgleichungen aus Abschnitt 2.2. Beispiel 7.2: Grenzzyklusberechnung beim Brusselator Das Randwertproblem (7.2) zur Grenzzyklusberechnung lautet im Fall des Brusselators y10 = y3 (A + y12 y2 − (B + 1)y1 ) y20 = y3 (By1 − y12 y2 ) y30 = 0
152
und
y1 (0) = y1 (1) y2 (0) = y2 (1) y1 (0) = η
(7.6)
Dabei sind y1 , y2 die Komponenten des dynamischen Systems und y3 = T die gesuchte Periode. Die erste Komponente wird am linken Rand fixiert. Beim Einfach-Schießen ist nun das nichtlineare Gleichungssystem s1 − y1 (1; s) 0 = F (s) = s2 − y2 (1; s) s1 − η zu l¨osen, wobei die Variable s3 erhalten wir 1 DF (s) = 0 1
indirekt u ¨ber y1 (1; s) und y2 (1; s) eingeht. Als Jacobimatrix 0 0 ∂y1 /∂s1 ∂y1 /∂s2 ∂y1 /∂s3 1 0 − ∂y2 /∂s1 ∂y2 /∂s2 ∂y2 /∂s3 . 0 0 0 0 0
Der zweite Term besteht aus Ableitungen der L¨osung nach den Anfangswerten und kann statt u ¨ber numerische Differentiation durch die Integration der Sensititivit¨atengleichung (Satz 2.5) bestimmt werden: ∂f (x, y(x; s)) · Ψ(x), Ψ(x0 ) = I3×3 , (7.7) Ψ0 (x) = ∂y mit ∂y1 /∂s1 ∂y1 /∂s2 ∂y1 /∂s3 Ψ(x) = ∂y2 /∂s1 ∂y2 /∂s2 ∂y2 /∂s3 . ∂y3 /∂s1 ∂y3 /∂s2 ∂y3 /∂s3
Man l¨ost nun simultan die Differentialgleichung (7.6) und die Sensitivit¨atendifferentialgleichung (7.7) und erh¨ alt so am rechten Rand x = 1 die Auswertung von F (s) sowie von DF (s).
Dieses Vorgehen erfordert seinerseits die Berechnung der Jacobimatrix ∂f ∂y der rechten Seite entlang der L¨osung y(x; s). Die numerische Differentiation hierf¨ ur ist aber l¨angst nicht so empfindlich. Im Falle eines steifen Systems mit impliziter oder semi-impliziter Integration wird diese Information sowieso ben¨ otigt. Iter = 1
Iter = 2
Iter = 3
4
4
4
2 0
y2
6
y2
6
y2
6
2
0
2 y1
4
0
2
0
2 y1
4
0
0
2 y1
4
Abbildung 45: Grenzzyklusberechnung Brusselator Die Abbildung 45 zeigt die Trajektorien zu den ersten 3 Iterationen beim Einfachschießen mit dem Startwert s0 = (1, 2, 6) und η = 1 sowie A = 1, B = 3. Das Verfahren konvergiert rasch gegen die Periode T = 7.1569.
153
Im allgemeinen Fall F (s) = r(s, y(b; s)) hat man als Jacobimatrix DF (s) =
∂r(s, y(b; s)) ∂r(s, y(b; s)) ∂y(b; s) + · , ∂s ∂y ∂s
so dass auch hier das in Beispiel 7.2 skizzierte Vorgehen u ¨ber die Sensitivit¨aten zur Berechnung der Ableitungsinformation ∂y(b; s)/∂s m¨oglich ist.
Schwierigkeiten beim Einfach–Schießen Das Einfach–Schießen st¨oßt bei praxisnahen Problemen schnell an seine Grenzen. Die folgenden Problemkreise treten auf: a) Erreichbare Genauigkeit: Nach Satz 2.2 gilt fu ¨r zwei Trajektorien y(x; s1 ) und y(x; s2 ) die Absch¨atzung ky(b; s1 ) − y(b; s2 )k ≤ ks1 − s2 keL|b−a| Fu ¨r große Lipschitzkonstanten L und lange Intervalle [a, b] kann eine kleine Differenz ks1 − s2 | ≤ ² extrem verst¨arkt werden. Abhilfe: Unterteile das Intervall [a, b] → Mehrzielmethode, s.u. b) Schlechte Konvergenzeigenschaften des Newtonverfahrens: Das Newtonverfahren konvergiert nur mit sehr gutem Startwert, und seine Konvergenzgeschwindigkeit ist durch die Approximation der Jacobimatrix oft reduziert. Abhilfe: Ged¨ampftes Newtonverfahren oder Homotopietechniken Dieser Punkt entf¨ allt bei linearen Randwertproblemen y 0 = T (x)y + c(x),
Ay(a) + By(b) = C.
In diesem Fall erh¨ alt man die L¨ osung u ¨ber das Fundamentalsystem, daraus resultiert ein lineares Gleichungssystem in s.
c) Die Jacobimatrix DF (s) ist bei empfindlichen Problemen sehr schlecht konditioniert. Abhilfe: Skalierung, Mehrzielmethode 154
7.2
Mehrzielmethode (Mehrfach–Schießen, Multiple Shooting)
Die Mehrzielmethode ist dem Einfach–Schießen deutlich u ¨berlegen. Sie geht u.a. auf Bulirsch (1971) zuru ¨ck und hat sich insbesondere bei der L¨osung von Optimalsteuerungsproblemen aus Luft- und Raumfahrt vielfach bew ¨ahrt, siehe z.B. das Re-entry Problem in Stoer-Bulirsch, Abschnitt 7.3.7. Der Ansatz ergibt sich aus den Schwierigkeiten beim Einfach-Schießen: Wir unterteilen das Intervall [a, b] durch ein Gitter a = x 1 < x2 < . . . < x k = b mit k Stu ¨tzpunkten oder Mehrzielknoten xj .
y
(x3 ,s3 ) (x1,s1 ) (x2,s2 )
(xk−1 ,sk−1 )
a=x1
x
x2
x3
k−1
x =b x k
Abbildung 46: Mehrzielmethode
In jedem Teilintervall [xj , xj+1 ] bezeichne y(x; xj , sj ) die L¨osung des Anfangswertproblems y 0 = f (x, y), y(xj ) = sj . Von den durch Einfach-Schießen gewonnenen L¨osungsabschnitten fordern wir, dass die daraus stu ¨ckweise zusammengesetzte Funktion stetig ist. Mit Einbezug der Randwerte lautet die Aufgabenstellung dann: Bestimme simultan die Anfangswerte s1 , . . . , sk−1 , so dass die Funktion Y (x) mit 155
Y (x) = y(x; xj , sj ) fu ¨r x ∈ [xj , xj+1 ] und j = 1 : k − 1 stetig ist und die Randbedingungen erfu ¨llt. Also haben wir die Bedingungen y(xj+1 ; xj , sj ) = sj+1 r(s1 , y(xk ; xk−1 , sk−1 ) = 0.
fu ¨r j = 1, . . . , k − 2,
Dieses nichtlineare Gleichungssystem der Dimension m · (k − 1) schreiben wir unter Hinzunahme des rechten Randwertes sk um als y(x2 ; x1 , s1 ) − s2 y(x3 ; x2 , s2 ) − s3 s1 . = 0, .. S := ... . Φ(S) := (7.8) sk y(xk ; xk−1 , sk−1 ) − sk r(s1 , sk )
Zur L¨osung von (7.8) wird wiederum das Newtonverfahren eingesetzt. Wichtig ist dabei die spezielle Struktur der Jacobimatrix G1 −I G2 −I . ... ... , .. DΦ(S) = Gk−1 −I A 0 ... 0 B
die man auch als Mehrzielmatrix bezeichnet. Die Bl¨ocke stellen ihrerseits Funktionalmatrizen dar, Gj = ∂y(xj+1 ; xj , sj )/∂sj ,
A = ∂r(s1 , sk )/∂s1 ,
B = ∂r(s1 , sk )/∂sk .
Aufgrund dieser speziellen Struktur kann die L¨osung linearer Gleichungssysteme DΦ(S i )∆S = −Φ(S i ) im Newtonverfahren mittels Blockelimination erfolgen: G1 ∆s1 − ∆s2 = −Φ1 ,
G2 ∆s2 − ∆s3 = −Φ2 , .. .
Gk−1 ∆sk−1 − ∆sk = −Φk−1 , A∆s1 + B∆sk = −Φk . 156
Durch sukzessives Eliminieren von ∆s2 bis ∆sk folgt das lineare Gleichungssystem (A + BGk−1 Gk−2 . . . G1 )∆s1 = r.S. fu ¨r den Anfangswert s1 . Nach dessen L¨osung berechnet man ∆s2 bis ∆sk u ¨ber die blockweise Ru ¨cksubstitution, so dass der Aufwand in der linearen Algebra trotz Einfu ¨hrung der Mehrzielknoten nicht all zu viel h¨oher ist als beim Einfach–Schießen. Allerdings neigt das lineare Gleichungssystem f u ¨r ∆s1 wie beim Einfach–Schießen zu schlechter Kondition, weswegen man bei empfindlichen Problemen lieber die Gesamtmatrix DΦ(S) mit einer QRZerlegung behandelt (ist aufgrund der schlechten Kondition einer billigeren LR-Zerlegung vorzuziehen). Die lineare Algebra entscheidet jedoch weniger u ¨ber die Effizienz als die Berechnung der Mehrzielmatrix, die wie beim Einfach-Schießen u ¨ber numerische Differentiation oder die Sensitivit¨atengleichung bestimmt wird. Da die Integrationsintervalle durch die intervallweise Vorgehensweise k u ¨rzer sind, ist der Aufwand kaum h¨oher als beim Einfach–Schießen: Statt u ¨ber ein langes Intervalls [a, b] wird u ¨ber k − 1 Intervalle der L¨ange (b − a)/(k − 1) integriert. Numerische Software Der Fortran-Code BOUNDS geht auf Bulirsch zuru ¨ck und wurde seit 1971 fortlaufend weiterentwickelt. Eine aktuelle und vollst¨andige Neu-Implementierung ist der Code JANUS (Callies). Die Idee der Kollokation (vergl. IRK-Verfahren) kann man auch zur L ¨osung von Randwertproblemen einsetzen. Ein bekannter Code hierzu ist COLSYS (Ascher/Bader/Mattheij/Russel, ab 1981).
157