Numerik von Differentialgleichungen Georg Simbrunner 10. März 2015 Inhaltsverzeichnis 1 Klassifikation von Differentialgleichungen 1.1 Hamiltonische Systeme . . . . . . . . . . . 1.2 Moleküldynamik . . . . . . . . . . . . . . 1.3 Elektrische Netzwerke . . . . . . . . . . . und . . . . . . . . . Problemtypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 3 4 2 Theoretische Grundlagen 2.1 Existenz und Eindeutigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Kondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 8 3 Verfahren für Anfangswertprobleme-Einschrittverfahren 3.1 Explizites Eulerverfahren . . . . . . . . . . . . . . . . . . . 3.2 Implizites Eulerverfahren . . . . . . . . . . . . . . . . . . . 3.3 Verfahren basierend auf numerischer Integration . . . . . . 3.4 Allgemeines zu Einschrittverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Fehleranalysis 10 10 10 11 12 13 5 Stabilität der Verfahren 5.1 Konsistenzfehlerabschätzung beim expliziten Eulerverfahren 5.2 Konsistenzfehler beim verbesserten Euler-Verfahren . . . . . 5.3 Stabilität des Eulerverfahrens . . . . . . . . . . . . . . . . . 5.4 Konvergenz des expliziten Eulerverfahrens . . . . . . . . . . . . . . 14 14 15 15 16 6 Runge-Kutta-Verfahren 6.1 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Das Runge-Kutta-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Wurzelbäume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 17 20 7 Automatische Schrittweitensteuerung 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Stabilität von Runge-Kutta-Verfahren 25 8.1 Lineare DGL mit konstanten Koeffizienten . . . . . . . . . . . . . . . . . . . . . . 25 8.2 Stabilität von nichtlinearen Differentialgleichungen . . . . . . . . . . . . . . . . . 29 8.3 B-stabile Verfahren höherer Ordnung . . . . . . . . . . . . . . . . . . . . . . . . . 31 9 Symplektische Verfahren für Hamiltonische Systeme 33 9.1 Spezielle Verfahren für Hamiltonische Systeme . . . . . . . . . . . . . . . . . . . 36 1 10 Symplektische Abbildungen 37 10.1 Das symplektische Eulerverfahren (KO 1) . . . . . . . . . . . . . . . . . . . . . . 38 10.2 Das Störmer-Verlet-Verfahren (KO 2) . . . . . . . . . . . . . . . . . . . . . . . . 39 11 DAEs: Differential-algebraische Gleichungen 41 11.1 Numerische Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 11.1.1 Reduktion auf gewöhnliche Differentialgleichungen . . . . . . . . . . . . . 42 11.1.2 Symplektische Verfahren für Hamiltonische DAEs . . . . . . . . . . . . . . 43 12 Mehrschrittverfahren 1 1.1 44 Klassifikation von Differentialgleichungen und Problemtypen Hamiltonische Systeme Klasse von Mechanikproblem mit Position und Impuls. Dabei ist q ∈ Rn die Position, p ∈ Rn der Impuls. Aus Impuls und Position kann man die Energie definieren, wobei die Energie durch eine Hamiltonfunktion beschrieben wird. H(p, q) = V (q) + T (p) (1.1) V (q) ist die potentielle Energie, T (p) die kinetische Energie. Dies führt zu den Hamiltonischen Bewegungsgleichungen ∂H ∂p ∂H ṗ = − ∂q q̇ = (1.2a) (1.2b) Beispiel Feder p = mq̇ h 2 1 2 q + p 2 2m ∂H p q̇ = = ∂p m ∂H ṗ = − = −kq ∂q H(p, q) = Es gilt automatisch Energieerhaltung: d ∂H ∂p ∂H ∂q ∂H H(p(t), q(t)) = + = dt ∂p ∂t ∂q ∂t ∂p ∂H ∂H ∂H − + =0 ∂q ∂q ∂p (1.3) Beispiel Fadenpendel/Bsp3 1. UE In der Übung zu rechnen. Hamiltonisches System hinschreiben, Positionsvektor durch Winkel α in verallgemeinerten Koordinaten beschrieben (Polarkoordinaten). q=α p = ml2 α 2 Abbildung 1: Fadenpendel Der Impuls ist durch die Winkelgeschwindigkeit berechenbar. Die Hamiltonfunktion ist 1 2 H(p, q) = −mgl cos(α) + p 2 | {z } |2ml {z } V (α) T (p) Dann hat man mit Hamiltonformalismus sofort 2 Differentialgleichungen da stehen. Man könnte auch mehrere gekoppelte Pendel betrachten. Man könnte die Masse auch durch Kartesische Koordinaten beschreiben und fordern, dass der Abstand der Masse zum Aufhängungspunkt konstant bleibt (DAE-Formulierung). x(t) mit der Nebenbedingung x2 (t) + y 2 (t) = l2 . Wir führen eine Wir suchen die Bahn y(t) zusätzliche Unbekannte F (Kraft, die im Faden liegt/Spannkraft) ein. Gesucht sind x(t), y(t), F (t) x F ml y F ÿ = −g − ml 0 = x2 (t) − y 2 (t) − l2 ẍ = − (1.4a) (1.4b) (1.4c) Die dritte Gleichung 1.4c ist eine algebraische Gleichung. Wir haben somit ein System von Differentialgleichungen mit algebraischer Nebenbedingung (differential-algebraic equation/DAE). Diese stellen in der Numerik eine eigene Problemklasse dar. Dies entspricht bei der Optimierung mit Nebenbedingung dem Lagrange-Parameter. 1.2 Moleküldynamik Atome werden als klassische Teilchen mit Position q und Impuls p beschrieben. Dies wird z.B. bei der Faltung von Proteinen verwendet. H(p, q) = 1X 1 |pi |2 +V (q) 2 mi } | i {z (1.5) T (p) V (q) = VB + VQ + VV V 3 (1.6) Das Potential ergibt sich dabei aus quantenmechanischen Korrekturen VV V (Van-der-VaalsWW), dem elektrischen Potential VQ und der Bindungsenergie VB (rij ist dabei der Optimalabstand): VB = X1 i,j 2 ∗ bij |qi − qj | − rij 2 (1.7a) i<j VQ = Qi Qj ε kqi − qj k (1.7b) Aij Bij − 12 kqi − qj k kqi − qj k6 (1.7c) X1 i,j i<j VV V = X i,j i<j Das will man für sehr viele Teilchen (z.B. 109 ) rechnen, VB und VV V wirken lokal, die Coulombkräfte VQ wirken weit und daher für alle Paare, was auf einen O(n2 )-Algorithmus führt. Dies muss man näherungsweise durchführen (Multipol-Approximation). 1.3 Elektrische Netzwerke Abbildung 2: Kirchhoff-Stromkreis Es gilt das Ohmsche Gesetz U = R · I. Die Spannung U ist eine Potentialdifferenz. An jedem Knoten haben wir ein Potential, unsere Potentiale V1 , V2 , V3 . Eines davon können wir beliebig wählen (beliebige Eichung), z.B. V1 = 0. In jedem Knoten ist die Summe der Ströme gleich 0 P ( i Ii = 0). Es ergibt sich I1 = I2 + I3 1 1 1 (V3 − V2 ) = (V2 − V1 ) + (V2 − V1 ) R1 R2 R3 U = V3 − V1 ⇒ V3 = U In jedem Knoten kann man das Potential V2 ausrechnen. Wir müssen nur ein lineares Gleichungssystem lösen. 4 Wir betrachten nun einen Kondensator mit Kapazität C. Dieser speichert Ladung Q mit Q=C ·U dQ I= dt dU I=C dt (1.8a) (1.8b) (1.8c) Damit ergibt sich für den Stromkreis I= 1 d (U − V2 ) = C (V2 − V1 ) R dt d 1 V2 = (U − V2 ) dt RC Abbildung 3: Kondensatorstromkreis (0) Mit der Anfangsbedingung V2 (0) − V1 = 0 kann man lösen: t V2 (t) = U (1 − e− RC ) Dies kann man auch für gekoppelte Gleichungen lösen, was sehr schwierig werden kann. Historische Geräte mit diskreten Bauteilen funktionierten so, große Schaltkreise von integrierten Bauteilen 106 Komponenten kann man diese Gleichungen verwenden, diskretisiert man die Netzwerke und kommt wieder auf ähnliche Gleichungen. 2 2.1 Theoretische Grundlagen Existenz und Eindeutigkeit Definition 2.1 (Anfangswertproblem). Gesucht ist ein y ∈ C 1 (I, Rn ) das y 0 (t) = f (t, y(t)) y(t0 ) = y0 ∀t ∈ I (2.1) (2.2) löst, I ist ein Intervall, f die rechte Seite und t die Zeit“. Der Definitionsbereich von f heißt ” erweiterter Zustandsraum“ oder erweiterter Phasenraum“ Ω ⊂ R × Rn ” ” 5 Abbildung 4: Existenzintervall Wie weit man fortsetzen kann, sagt der Satz von Peano unter schwachen Voraussetzungen, es kann Blow-Up-Phänomene geben oder es kann f bis zum Rand von Ω definiert sein. Für autonome Systeme, d.h. f (t, y(t)) = f (y(t)) heißt Ω0 ⊂ Rn Zustandsraum oder Phasenraum. Definition 2.2 (Evolution). Sei (t0 , y0 ) ∈ Ω, y(·) die Lösung vom AWP, so ist die Evolution φt,t0 : Rn → Rn die Funktion φt,t0 : y0 7→ y(t) (2.3) φt,t = id sowie φs,t φt,t0 = φs,t0 und φt0 ,t φt,t0 = id. Bei autonomen Differentialgleichungen gilt: φt,t0 = φt−τ,t0 −τ (2.4) Es reicht daher eine einparametrige Familie φt := φt,0 anzugeben. Dieses φt heißt Phasenfluss. Diese Familie von Funktionen bildet eine Gruppe. Zur Existenz und Eindeutigkeit: Satz 2.3 (Satz von Péano). Für f ∈ C(Ω, Rn ) erhält man die Existenz einer Lösung bis zum Rand ∂Ω. Beweis. Beweisidee: Es können 3 Fälle auftreten 1. Lösung existiert für t → ∞ 2. Lösung existiert für t < t+ und limt→t+ ky(t)k = ∞ (Blow-Up-Phänomen) 3. Lösung endet am endlichen Rand ∂Ω Die Existenz einer Lösung für t → ∞ wird oft gezeigt durch Ausschluss von (2) und (3), daher folgt die Existenz der Lösung für t ∈ R. Falls F zusätzlich Lipschitzstetig im 2. Argument ist, können stärkere Aussagen getroffen werden. 6 Satz 2.4 (Picard-Lindelöf). Sei f ∈ C(Ω, Rn ) und in einer Umgebung U von (t0 , y0 ) Lipschitzstetig im 2. Argument, d.h. kf (t, y(t)) − f (t, z(t))k ≤ Lky(t) − z(t)k ∀(t, y), (t, z) ∈ U , dann existiert eine eindeutige Lösung y(t) in einer Umgebung U. Beweis. Wir nehmen an, dass f überall Lipschitz im 2. Argument ist (beweistechnische Vereinfachung), d.h. auf U = [t0 , T ] × Rn . Das AWP lautet y 0 (t) = f (t, y(t)) ∧ y(t0 ) = y0 Z t f (s, y(s))ds y(t) = y0 + ∀t ∈ [t0 , T ] (2.5a) (2.5b) t0 Wir zeigen die Existenz und Eindeutigkeit daher für die Integralgleichung. Wir definieren daher den Integraloperator T : C(I, Rn ) → C(I, Rn ) Z t [T (y)](t) := y0 + f (s, y(s))ds (2.6a) (2.6b) t0 Damit kann man die Integralgleichung in Fixpunktform hinschreiben mit y = T (y). Falls f lipschitzstetig mit Konstante L < 1 ist, kann der Banachsche Fixpunktsatz angewendet werden kT (y) − T (z)k∼ ≤ LT ky(t) − z(t)k∼ (2.7) mit LT auf einem vollständigen Raum (bzgl. der Norm k · k∼ ), liefert der Fixpunktsatz genau eine Lösung. Definiere die Norm n o ky(t)k∼ = max e−L(t−t0 ) ky(t)k2 (2.8) t∈[t0 ,T ] so liefert der Banachsche Fixpunktsatz eine eindeutige Lösung. Da für t ∈ [t0 , T ] der Faktor e−L(t−t0 ) ist unsere Norm äquivalent zur Supremumsnorm (Maximumsnorm) und C(I, Rn ) ist damit vollständig bezüglich k · k∼ . Z t kT (y) − T (z)k∼ = max e−L(t−t0 ) ky0 + f (s, y(s))ds− t∈[t0 ,T ] t0 Z t y0 + f (s, z(s)) k2 t0 Z t −L(t−t0 ) ≤ max e kf (s, y(s)) − f (s, z(s))k t t0 Z t −L(t−t0 ) −L(s−t0 ) ≤ max Le e ky(t) − z(t)kds t t0 Z ≤ max t | t t0 Le−L(t−s) ds max e−L(s−t0 ) ky(s) − z(s)k s {z } {z }| ≤1−e−L(t−t0 ) ≤ (1 − e−L(t−t0 ) ) ky − zk∼ | {z } LT <1 7 ky−zk∼ Abbildung 5: Illustration der Stabilität 2.2 Kondition Darunter versteht man die Verstärkung von Störungen in den Eingabedaten zu Störungen im Ergebnis. Wir betrachten die Kondition bezüglich der Eingabedaten des AWP. Satz 2.5. Es gelte Lipschitz-Bedingung kf (t, y)−f (t, z)k ≤ Lky−zk. Dann gilt für y(t) = φt,t0 y0 und z(t) = φt,t0 z0 ky(t) − z(t)k ≤ eL(t−t0 ) ky(t) − z(t)k∼ (2.9) Als Vorbetrachtung zeigen wir das Lemma von Gronwall: Lemma 2.6 (Gronwall). Seien u, v ∈ C([t0 , t], R) und c ∈ R mit u ≥ 0, v ≥ 0, c ≥ 0. Es gelte Z t v(t) ≤ ct u(s)v(s)ds ∀t ∈ [t0 , T ] (2.10) t0 dann gilt v(t) ≤ ce Rt t0 u(s)ds . Beweis. Sei c > 0, dann definiere Z t w(t) := c + u(s)v(s)ds (2.11) t0 Dafür gilt v(t) ≤ w(t) und 0 < c ≤ w(t). Es gilt w0 (t) = u(t)v(t) ≤ u(t)w(t). Da w > 0 gilt w0 (t) = [log(w(t))]0 ≤ u(t) w(t) ∀t ∈ [t0 , T ] Z t log(w(t)) − log(w(t0 )) ≤ u(s)ds t0 Es gilt dann w(t) ≤ w(t0 )e Rt t0 ε > 0 beliebig und v(t) ≤ ε+ mit ε → 0 gilt v = 0. u(s)ds Rt t0 und auch v(t) ≤ w(t) ≤ w(t0 )e Rt t0 u(s)ds . Für c = 0 wähle ein R u(s)w(s)ds und es folgt aus dem 1. Beweisteil v(t) ≤ εe Zum Beweis von Satz 2.5: 8 t t0 u(s)ds , Beweis. Mit der Integralgleichung des AWP gilt Z t Z t f (s, z(s))ds k f (s, y(s))ds − z0 + ky(t) − z(t)k = k y0 + t0 t0 Z t ≤ ky0 − z0 k + Z t Lky(s) − z(s)kds ≤ ky0 − z0 k + t0 u(s)v(s)ds t0 Mit dem Lemma von Gronwall (Lemma 2.6) gilt ky(t) − z(t)k ≤ ky0 − z0 ke Rt t0 Lds = eL(t−t0 ) ky0 − z0 k (2.12) Für kleine Zeitintervalle (im Vergleich zu L1 ) kann man den Verstärkungsfaktor eL(t−t0 ) als gut konditioniert betrachten, nicht aber für große Intervalle. Diese Abschätzung kann ohne weitere Annahmen nicht verbessert werden, was folgendes Beispiel zeigen soll. Beispiel 2.7. Es sei f (y) = ay und |f (y) − f (z)| ≤ |a| |y − z|. Für y(t) = φt,t0 y0 = eat y0 und z(t) = φt,t0 z0 = eat z0 gilt |y(t) − z(t)| = eat |y0 − z0 |. Für a > 0 ist der Satz scharf. Für a < 0 gilt dies jedoch nicht, da für |y(t) − z(t)| = eat |y0 − z(0)| e−Lt |y0 − z0 |. Eine solche Situation kann mit einer einseitigen Lipschitzbedingung“ beschrieben werden. ” f (y) − f (z) ≤ α ∀y, z ∈ I y 6= z (2.13a) y−z f darf beliebig fallen, aber nur mit Anstieg α wachsen. Falls α = 0, ist f monoton fallend. Äquivalent dazu ist [f (y) − f (z)](y − z) ≤ α(y − z)2 (2.13b) Diese Definition ist auch für Rn sinnvoll: hf (y) − f (z), y − zi ≤ αky − zk22 (2.13c) Satz 2.8. f erfülle die einseitige Lipschitzbedingung aus Formel 2.13c mit α ∈ R, dann gilt für die entsprechenden Lösungen ky(t) − z(t)k ≤ eα(t−t0 ) ky0 − z0 k2 Beweis. Wir zeigen durch differenzieren dass die Funktion e−α(t−t0 ) ky(t) − z(t)k2 monoton fallend ist: o d n −2α(t−t0 ) e ky(t) − z(t)k22 dt = −2αe−2α(t−t0 ) ky(t) − z(t)k22 + e−2α(t−t0 ) 2 h y 0 (t) − z 0 (t) , y(t) − z(t)i | {z } f (t,y(t))−f (t,z(t)) −2α(t−t0 ) ≤ −2αe ky(t) − z(t)k22 +e −2α(t−t0 ) = 0 9 2α ky(t) − z(t)k22 (2.14) Für α < 0 gilt ky(t) − z(t)k ≤ e−|α|(t−t0 ) ky0 − z0 k, (2.15) das heißt Differenzen in Anfangswerten fallen exponentiell. Definition 2.9 (Stabilität einer DGL). Eine Differentialgleichung heißt stabil, wenn sup ky(t) − z(t)k ≤ cky0 − z0 k (2.16) t>t0 Definition 2.10 (asymptotische Stabilität einer DGL). Eine Differentialgleichung heißt asymptotisch stabil, wenn lim ky(t) − z(t)k = 0 t→∞ (2.17) Falls eine Differentialgleichung nicht stabil ist, ist sie instabil. Definition 2.11 (steife DGL). Eine DGL heißt steif, wenn die einseitige Lipschitzbedingung eine wesentlich bessere Abschätzung liefert als die übliche Lipschitzbedingung. Speziell gilt das für implizite Methoden. 3 Verfahren für Anfangswertprobleme-Einschrittverfahren Einschrittverfahren sind Verfahren zur numerischen Lösung von Anfangswertproblemen, also y 0 (t) = f (t, y(t)) und y(t0 ) = y0 . Wir wählen Gitterpunkte t0 < t1 < · · · < tn = T , die 0 und Intervalllänge beträgt hj = tj+1 = tj . Man kann gleichmäßig unterteilen, wobei h = T −t n tj = t0 + jh. Man kann auch die Ableitung y 0 durch einen rechtsseitigen Differenzenquotienten ersetzen, d.h. y 0 (tj ) ≈ y(tj+1 ) − y(tj ) ≈ f (tj , y(tj )) hj y(tj+1 ) = y(tj ) + hf (tj , y(tj )) 3.1 Explizites Eulerverfahren Das führt zum expliziten Euler-Verfahren mit y0 = y0 (3.1a) yj+1 = yj + hf (tj , y(tj )) ∀j = 0, 1, . . . , n − 1 (3.1b) Somit erhalten wir eine explizite Vorschrift zur Berechnung der yj . 3.2 Implizites Eulerverfahren Wir verwenden den linksseitigen Differentenquotienten y 0 (tj+1 ) ≈ y(tj+1 ) − y(tj ) ≈ f (tj+1 , y(tj+1 )) hj Im impliziten Eulerverfahren müssen wir ein Gleichungssystem lösen yj+1 = yj + hf (tj+1 , yj+1 ) (3.2) I.A. muss die Unbekannte yj durch Lösen eines nichtlinearen Gleichungssystems gefunden werden. Ein geeigneter Startwert für das Newtonverfahren ist z.B. das yj , da sich die Lösung für kleine h nur wenig ändern wird. 10 Beispiel 3.1. Wir betrachten eine DGL mit dem expliziten und impliziten Eulerverfahren y(0) = y0 und y 0 = ay. Die Lösung ist y(t) = y0 eat . Im expliziten Eulerverfahren gilt mit h = Tn yj+1 = yj + hayj = (1 + ah)yj yj = (1 + ah)j y0 aT n n→∞ yn = y0 (1 + ha)n = y0 1 + → y0 eat n 2 Falls a < 0 ist das Problem steif. Für h > |a| , also (1 + ha) < −1 oszilliert die numerische Lösung (wir werden später anhand der Stabilitätsanalyse des expliziten Euler sehen, dass wir dann nicht im Stabilitätsbereich des Verfahrens liegen). Erst für |ha| < 1 gibt es keine künstliche Oszillation. Wir wenden nun das implizite Eulerverfahren an: yj+1 = yj + hayj+1 1 1 yj+1 = yj = y0 1 − ha (1 − ha)j Dieses Verfahren ist nicht für alle h durchführbar, jedoch für hinreichend kleines durchführbar. Für a < 0 gilt |yj+1 | < |yj |. 3.3 Verfahren basierend auf numerischer Integration Wir betrachten das Intervall [tj , tj+1 ] und y(tj ) = yj und y 0 (t) = f (t, y(t)) mit t ∈ [tj , tj+1 ]. Dies lässt sich als äquivalente Integralgleichung formulieren: Z t f (s, y(s))ds y(t) = yj + ∀t ∈ [tj , tj+1 ] (3.3) tj Speziell gilt dies für t = tj+1 . Wir verwenden nun numerische Integration, wie z.B. die linksseitige Rechtecksregel Z b f (s)ds ≈ (b − a)f (a) (3.4) a Somit gilt y(tj+1 ) ≈ yj +hf (tj , yj ), was eine alternative Methode für das explizite Eulerverfahren darstellt. Für die rechtsseitige Rechtecksregel y(tj+1 ) ≈ yj + hf (tj+1 , y(tj+1 )) erhält man das implizite Eulerverfahren. Verwendet man die Trapezregel, so gilt Z b b−a f (s)ds ≈ (f (a) − f (b)) (3.5) 2 a implizite Trapezmethode: Diese Überlegung führt zur impliziten Trapezmethode h (f (tj , yj ) + f (tj+1 , yj+1 )) 2 h y(tj+1 ) := yj + (f (tj , yj ) + f (tj+1 , yj+1 )) 2 y(tj+1 ) ≈ yj + Löst man dieses Gleichungssystem, so ist dies genauer als die Eulerverfahren. 11 (3.6a) (3.6b) Abbildung 6: Illustration der Trapezregel Explizite Trapezmethode: Bei der expliziten Trapezmethode bestimmt man sich zuerst eine Näherung yej+1 mit dem expliziten Eulerverfahren und iteriert dann yej+1 = yj + hf (tj , yj ) h yj+1 = yj + [f (tj , yj ) + f (tj+1 , yej+1 )] 2 (3.7a) (3.7b) Es gilt für die Mittelpunktsregel der numerischen Integration: b a+b f (s)ds ≈ (b − a)f 2 a y(tj+1 ) ≈ yj + hf (tj+ 1 , y(tj+ 1 )) Z 2 2 Das Verfahren benötigt Näherungen für y(tj+ 1 ), dieses kann wieder mit dem expliziten Euler2 verfahren bestimmt werden. verbessertes Eulerverfahren: Dies führt zur expliziten Mittelpunktsmethode, die auch verbessertes Eulerverfahren genannt wird: h f (tj , yj ) 2 = yj + hf (tj+ 1 , yj+ 1 ) yj+ 1 = yj + 2 yj+1 3.4 2 (3.8a) (3.8b) 2 Allgemeines zu Einschrittverfahren Das yj+1 wird aus yj bestimmt. Alle vorherigen Schritte werden von den Einschrittverfahren ignoriert. Dies führt zur diskreten Evolution: Definition 3.2 (Diskrete Evolution). Die Anfangswerte seien (tj , yj ), so erhält man yk zum Zeitpunkt tk k ≥ j durch k − j Schritte des Verfahrens, dann sei die diskrete Evolution gegeben durch ψ tk ,tj (yj ) = yk (3.9) Ein Schritt wird oft über die Inkrementfunktion dargestellt ψ tj+1 ,tj (yj ) = yj + hψ(tj , yj , h) 12 (3.10) Bei expliziten Verfahren kann die Inkrementfunktion explizit angegeben werden. So ist diese z.B. beim expliziten Eulerverfahren durch ψ(tj , yj , h) = f (tj , yj ), beim verbesserten Eulerverfahren ψ(tj , yj , h) = f (tj+ 1 , yj + h2 f (tj , yj )). 2 4 Fehleranalysis Ziel: Man will eine Abschätzung des Diskretisierungsfehlers ej = y(tj ) − yj (4.1) Das Verfahren habe Konvergenzordnung p, falls der Fehler der Norm kej k = O(hp ). Die Analysis besteht aus 2 Teilen: 1. Abschätzen des Konsistenzfehlers (=lokaler Abschneidefehler) δj = φtj+1 ,tj (y(tj )) − ψ tj+1 ,tj (y(tj )) (4.2) Hierbei ist die Evolution φ die exakte Lösung der DGL mit Anfangsbedingung, und ψ der 1. Schritt des numerischen Verfahrens. 2. Stabilität der diskreten Evolution t ,t j k kψ tj ,tk (yk ) − ψ tj ,tk (zk )k ≤ Cstab kyk − zk k (4.3) Eine kleine Merkregel zum Anfang: Stabilität und Konsistenz impliziert Konvergenz! Satz 4.1 (Konvergenz). Es gilt kej k ≤ j−1 X t ,t j k kδk kCstab (4.4) k=0 Abbildung 7: Diskrete Hilfspfade des Satzes 4.1 Beweis. Wir starten von jedem exakten Lösungspunkt numerische Verfahren und erhalten dadurch numerische Hilfspfade“. Neben dem diskreten Lösungspfad yj = ψ tj ,t0 (y0 ) definieren wir ” diskrete Hilfspfade yjk = ψ tj ,tk (y(tk )) 13 (4.5) Es gilt yj = yj0 und yjj = y(tj ). Nun können wir mittels einer Teleskopsumme und der Dreiecksungleichung folgende Umformung machen: ky(tj ) − yj k = kyjj − yj0 k = k j−1 j−1 X X (yjk+1 − yjk )k ≤ kyjk+1 − yjk k k=0 (4.6) k=0 Mit der diskreten Evolution ψ und der stetigen Evolution φ gilt yjk+1 − yjk = ψ tj ,tk+1 (y(tk+1 )) − ψ tj ,tk (y(tk )) = ψ tj ,tk+1 (φtk+1,tk (y(tk ))) − ψ tj ,tk+1 (ψ tk+1 ,tk (y(tk ))) (4.7) Hier verwendet man die Stabilität und Konsistenz der diskreten Evolution t ,t t ,t j k+1 j k+1 kδk k kyjk+1 − yjk k ≤ Cstab kφtk+1,tk (yk ) − ψ tk+1 ,tk (y(tk ))k ≤ Cstab 5 (4.8) Stabilität der Verfahren Abbildung 8: Konsistenzfehler Man nennt δi den Konsistenzfehler, wobei δi = O(hp+1 ) Die Stabilität beträgt kψ tj ,tn (yh ) − ψ tj ,tn (zh )k ≤ kyh − zh k 5.1 (5.1) Konsistenzfehlerabschätzung beim expliziten Eulerverfahren Wie bereits aus Formel 4.2 ersichtlich, gilt δj = φtj+1 ,tj (y(tj )) − ψ tj+1 ,tj (y(tj )). Wir wenden nun eine Taylor-Entwicklung auf den kontinuierlichen Fluss φt,tj y an. Es gilt: y 0 (t) = f (t, y(t)) φtj+1 ,tj y ≈ y(tj+1 ) = y(tj + h) = y(tj )+hy 0 (tj ) + O(h2 ) = y(tj ) + hf (tj , yj ) + O(h2 ) Betrachtet man das explizite Euler-Verfahren in einem Schritt mit den Anfangsdaten (tj , y(tj )), so erhält man ψ tj+1 ,tj y = yj+1 = y(tj ) + hf (tj , y(tj )) 14 Setzt man für den Konsistenzfehler die Taylor-Approximation von φtj+1 ,tj y und ein, so gilt laut der Definition von δj δj = φtj+1 ,tj y − ψ tj+1 ,tj y = y(tj ) + hf (tj , yj ) + O(h2 ) − (y(tj ) + hf (tj , yj )) = O(h2 ) 5.2 (5.2) Konsistenzfehler beim verbesserten Euler-Verfahren Als nächstes Beispiel zur Berechnung des Konsistenzfehlers betrachten wir das verbesserte EulerVerfahren. Es gilt mittels g := y 0 (t) = f (t, y(t)) = f (~h(t)) und ~h(t) := (t, y(t)) und p(t) = (g ◦ h)(t) mittels der Kettenregel: y 0 (t) = f (t, y(t)) d ~ h g(~h(t)), ∂t~h(t)i = ∂t f · 1 + ∂y f · ∂t y(t) = ft · 1 + fy f (t, y(t)) y 00 (t) = f (t, y(t)) = h∇ dt Somit gilt in Kurzschreibweise y 00 (t) = ft + fy · f . Wendet man nun die Taylor-Entwicklung auf y(tj + h) an, so erhält man mittels der obigen Zwischenresultate: φtj+1 ,tj y = y(tj + h) ≈ y(tj ) + hy 0 (tj ) + h2 00 h2 y (tj ) + O(h3 ) = y(Tj ) + hf + (ft + fy f ) + O(h3 ) 2 2 Für den diskreten Fluss muss man beide Schritte betrachten. Es gilt mittels der Inkrementfunktion ψ yj+1 = yj + hψ(tj , yj , h) h h ψ(tj , yj , h) = ψ(h) = f tj + , y(tj ) + f (tj , y(tj )) 2 2 Wir entwickeln nun ψ(h) mittels Taylor bei h = 0: 1 1 ψ(h) = ft + fy f 2 2 ψ(h) = ψ(0) + hψ 0 (0) + O(h2 ) = f + h h ft + fy f + O(h2 ) 2 2 Damit ist der Konsistenzfehler des verbesserten Eulerverfahrens folgendermaßen gegeben: h2 h2 ft + fy f + O(h3 ) 2 2 3 = O(h ) yj+1 = yj + hψ(h) ≈ yj +hf + y(tj+1 ) − yj+1 5.3 Stabilität des Eulerverfahrens Wir nehmen an, dass f (t, y(t)) lipschitzstetig im 2. Argument ist, d.h. kf (t, y) − f (t, z)k ≤ Lky − zk 15 ∀t ≥ t0 ∀y, z ∈ Rd (5.3) Dann gilt: kψ tj+1 ,tj (yj ) − ψ tj+1 ,tj (zj )k ≤ kyj + hf (tj , yj ) − (zj + hf (tj , zj ))k ≤ kyj − zj k + hkf (tj , yj ) − f (tj , zj )k ≤ kyj − zj k + hLkyj − zj k = (1 + hL)kyj − zj k Mit 1 + hL ≤ ehL erhält man rekursiv kψ tk ,tj (yj ) − ψ tk ,tj (zj )k ≤ k−j−1 Y eL(tk−i −tk−i−1 ) kyj − zj k ≤ eL(tk −tj ) kyj − zj k i=0 Somit gilt t ,t k j Cstab = eL(tk −tj ) 5.4 (5.4) Konvergenz des expliziten Eulerverfahrens Wir sehen an diesem Beispiel die Merkregel Stabilität+Konsistenz=Konvergenz“ vorgeführt. ” Satz 5.1 (Konvergenz expliziter Euler). Die Konsistenzordnung des expliziten Euler-Verfahrens ist von der Ordnung 1, d.h. kej k = O(h). Beweis. Wir wissen aus Formel 5.2, dass kδj k = O(h2 ). Somit gilt: kej k ≤ j−1 X 5.4 tj ,tk Cstab kδk k ≤ j−1 X eL(tj −tk ) kδk k k=0 k=0 ≤ eL(tj −t0 ) j−1 X kδk k = O(h) |k=0{z } 1 )·O(h2 ) O( h Durch die Summation ging eine Ordnung der Konsistenz in h verloren. Dies führt zu folgendem Begriff: Definition 5.2 (Konsistenzordnung). Man spricht von Konsistenzordnung p, falls kδk k = O(hp+1 ) ist. Dies impliziert bei Stabilität Konvergenzordnung p. 16 (5.5) 6 6.1 Runge-Kutta-Verfahren Allgemeines Die Runge-Kutta-Verfahren bilden eine sehr allgemeine Klasse von Einschrittverfahren. Ausgangspunkt ist die Integralgleichung Z tj+1 y(tj+1 ) = y(tj ) + f (s, y(s))ds tj Wir können nun verschiedene numerische Quadraturverfahren zur Berechnung des Integrals verwenden, nämlich insbesondere mit normierten Stützstellen cj ∈ [0, 1] und normierten Integrationsgewichten bj für j = 1, . . . , s. Somit gilt y(tj+1 ) = y(tj ) + h s X bl f (tj + cl h, y(tj + cl h)) (6.1) l=1 Da jedoch y(tj +cl h) ebenfalls unbekannt ist, muss auch dieser Term nochmals durch numerische Integration angenähert werden: Z tj +ci h f (s, y(s))ds ≈ y(tj ) + h y(tj + ci h) = y(tj ) + tj s X ail f (tj + cl h, y(tj + cl h)) (6.2) l=1 Die ail sind somit normierte Gewichte zur numerischen Berechnung von ci Z f (x)dx ≈ 0 s X ail f (cl ) l=1 Die Stützstellen cl sind vorgegeben und können auch außerhalb des Intervalls [0, ci ] liegen. 6.2 Das Runge-Kutta-Verfahren Es gilt für das Runge-Kutta-Verfahren: yj,i = yj + h s X l=1 yj+1 = yj + h ail f (tj + cl h, yj,l ) | {z } i = 1, . . . , s (6.3) kl s X bl f (tj + cl h, yi,l ) = yj + h s X bi ki (6.4) i=1 l=1 ki : = f (tj + ci h, yj + h s X ail kl ) (6.5) l=1 Man verwendet nun Autonomisierung: Bei der Analysis vom verbesserten Eulerverfahrens treten aufgrund der Kettenregel partielle Ableitungen auf. Bei Taylorentwicklungen höherer Ordnungen entstehen sehr viele Terme. Wir können uns jedoch auf autonome DGlen beschränken, da eine nichtautonome DGl folgendermaßen umgeschrieben werden kann. Die DGL y 0 (t) = f (t, y(t)) (6.6a) y(t0 ) = y0 (6.6b) 17 kann durch die Erweiterung in eine autonome DGL umformuliert werden: Y (t) = y(t) ty (t) Y 0 = F (Y ) = (6.7) f (ty , y) 1 (6.8) Es gilt tY (t) = t als Lösung von t0Y (t) = 1 und tY (t0 ) = t0 . P Lemma 6.1. Falls das Runge-Kutta-Verfahren ci := sl=1 ail ∀i = 1, . . . , s erfüllt, dann liefert es für die Nichtautonome DGl und die autonomisierte DGl äquivalente numerische Ergebnisse. Beweis. Es gilt für alle Zwischenstufen tY = t, da tyj,i = tyj + h s X ail 1 = tyj + hci (6.9) l=1 | {z } ci Wir beschränken Puns daher im Folgenden auf autonomisierbare Runge-Kutta-Verfahren, d.h. wir setzen ci = sl=1 ail voraus. Wir brauchen zunächst die multivariate Taylorentwicklung. Es sei f ∈ C n (Rd , Rm ), die k-te Ableitung ergibt in der Tayorentwicklung einen Tensor k-ter Stufe. Anwendung von f (k) auf die Vektoren h1 , . . . , hk ∈ Rd und es gilt mit k ≤ n: d f k (x) : R · · × R}d → Rm | × ·{z Qk Rd i=1 f (k) (x)(h1 , . . . , hk ) = d X ··· i1 =1 d X ik =1 ∂kf h1,i1 . . . hk,ik ∂xi1 . . . ∂xik (6.10) Mittels der Taylorformel für f ∈ C p+1 (Rd , Rm ) und x ∈ Rd gilt mittels Restgliedabschätzung p X 1 (n) f (x)(h1 , h2 , . . . , hd ) + O(khkp+1 ) f (x + h) = n! (6.11) n=0 Wir verwenden nun die folgenden Abkürzungen f (n) (h1 , . . . , hn ) = f (n) (x)(h1 , . . . , hd ). Die Ordnungebedingungen für das Runge-Kutta-Verfahren mittels Taylor für y(t + h) lauten: y 0 (t) = f (y(t)) 00 0 (6.12a) 0 y (t) = f (y(t))y (t) 000 y (t) = fy00 (y 0 , f ) 000 = fy0 f 0 0 0 = fy0 f 00 (6.12b) 0 0 + f f y = f (f, f ) + f f f y IV (t) = f (f, f, f ) + 3f 00 (f 0 f, f ) + f 0 (f 00 (f, f )) + f 0 f 0 f 0 f Bei der n-ten Ableitung hat man eine n-lineare Abbildung. 18 (6.12c) (6.12d) Es gilt wieder y(t + h) = y(t) + hf + h3 h4 h2 0 f f + [f 00 (f, f ) + f 0 f 0 f ] + y IV + O(h5 ) 2 6 24 (6.13) Die Terme f, f 00 (f 0 (t), f ) heißen elementare Differentiale. Nun zu einer Taylorentwicklung für die Runge-Kutta-Methode ! s X ki = f yj + h ail kl (6.14) l=1 yj+1 = yj + h s X hl kl (6.15) l=1 Wir verwenden nun eine bootstrap“-Technik, diese funktioniert auch bei nichtlinearen Funk” tionen mit hinreichender Differenzierbarkeit, wie man sich mittels Taylorreihe leicht überlegen kann (f (x + O(h)) = f (x) + c · hf 0 (x) + O(h2 ) = f (x) + O(h) etc.). ki = f (yj + O(h)) = f (yj ) + O(h) Wir setzen ein ki = f (yj + h X ail (f (yi + O(h)))) l = f (yj + h X ail f (yj )) + O(h2 ) l X = f (yj ) + f (yj )(h ail f (yi )) + O(h2 ) X = f (yj ) + h ail f 0 f + O(h2 ) 0 | l {z } ci = f (yj + h X l ail (f + hcl f 0 f )) + O(h3 ) | {z } = f (yj ) + fy0 j (h kl +O(h2 ) X ail (f + hcl f 0 f )) l X X 1 + f 00 (h ail (f + hhcl f 0 f ), h ail (f + hcl f 0 f )) + O(h3 ) 2 l l # " X 1 = f (yj ) + hci f 0 f + h2 ail f 0 f 0 f + c2i f 00 (f, f ) + O(h3 ) 2 l Somit gilt " X # 1 ki = f + hci f 0 f + h2 ail cl f 0 f 0 f + c2i f 00 (f, f ) 2 l X 1X + h3 [ ail alm L − mf 0 f 0 f 0 f + ail c2l f 0 f 00 (f, f ) 2 l,m + X l l 1 ci ail cl f 00 (f 0 f, f ) + c3i f 000 (f, f, f )] + O(h4 ) 6 19 (6.16) Es gilt yi+1 = yj + s X hbi hi (6.17) i=1 = yj + X bi f + h2 X bi ci f 0 f + h3 [...] + h4 [...] + O(h5 ) (6.18) i h-Ordnung p=1 p=2 p=3 p=3 p=4 p=4 p=4 p=4 elem. Differential f f 0f 00 f (f, f ) f 0f 0f 000 f (f, f, f ) f 00 (f 0 f, f ) f 0 f 00 (f, f ) f 0f 0f 0f Bedingung P b =1 P i bc =1 P i 2i 21 bc =3 P i i 1 il bi ail cl = 6 P b c3 = 14 P i i ba c =1 P il i il 2l 81 b a c = 12 P il i il i b i,l,m i ail alm cm = 1 24 Suchen wir explizite, autonomisierbare Verfahren, so haben wir s(s−1) Parameter für strikte 2 untere Dreiecksmatrizen A und s Parameter für b. Die c-Parameter sind festgelegt mit ci = Ps a . l=1 il Zur Beschreibung der Runge-Kutta-Verfahren eignen sich besonders so genannte Butcher-Tableaus, welche die aij , die bj sowie die cj mittels einer Matrix A ∈ Rs×s , und zwei Vektoren b ∈ Rs und c ∈ Rs im Schema von Tabelle 1 beschreibt. c A bT Tabelle 1: Schema des Butchertableau 0 0 b1 = 1 Tabelle 2: Butchertableau für p = 1 und s = 1 P Es gilt c2 = a21 b1 + b2 = 1 und bi ci = c2 b2 = 12 . Es gelten 2 Gleichungen für 3 Unbekannte, das ergibt eine dreiparametrige Lösungschar. So erhält man für c2 = 1 und b1 = b2 = 21 , was die explizite Trapezmethode ergibt, für c2 = 21 und b1 = 0, b2 = 1 erhält man das verbesserte Euler-Verfahren Wir haben somit in Tabelle 4 4 Gleichungen mit 6 Unbekannten. Das klassische Runge-KuttaVerfahren (siehe Tabelle 5) verwendet p = 4, s = 4, c, b kommen aus der Simpson-Regel Z b f (x)dx ≈ a 6.3 b−a a+b [f (a) + 4f ( ) + f (b)] 6 2 (6.19) Wurzelbäume Aufstellen und Lösen der Ordnungsbedingungen ist technisch aufwendig. Um dies mit Computeralgebra durchzuführen, hat sich der Formalismus der Wurzelbäume durchgesetzt. Ein elementares Differential wird durch 20 0 c2 = a21 0 a21 b1 0 0 b2 Tabelle 3: Für s = 2 und p = 2 ergibt sich das obige Butcher-Tableau 0 c2 = a21 c3 = a31 + a22 0 a21 a21 b1 0 0 a32 b2 0 0 0 b3 Tabelle 4: Butcher-Tableau für s = 3 und p = 3 1. ungeordnete Tupel β 2. durch Räume repräsentiert Die Funktion selbst entspricht dem leeren Tupel f ≡ β = ∅. Die n-te Ableitung, angewandt auf die durch β1 , . . . , βn dargestellten Differentiale entspricht dem Tupel [β1 , . . . , βn ] f (n) (Diff1 , . . . , Diffn ) ≡ β = [β1 , . . . , βn ] (6.20) Beispiel 6.2. f (2) (f 0 (f ), f ) ≡ β = [[], ] oder f (3) (f 00 (f 0 (f ), f ), f 0 (f ), f ) ≡ β = [[[], ], [], []]. Man kommt so zu einer Darstellung über Wurzelbäume (siehe Abbildung 9). Die Blätter im Wurzelbaum entsprechen f , die Knoten den f (n) (...) und die Wurzel entspricht dem elementaren Differential. Die Ordnung von β (i.Z. #β) ist #β = 1 für β = , d.h. f . Definition 6.3 (Ordnung eines Wurzelbaums). Für die Ordnung gilt rekursiv #β = 1 + #β1 + · · · + #βn . Definition 6.4 (Faktorielle eines Wurzelbaums). Für ein ungeordnetes Tupel [β1 , . . . βn ] ist die Fakultät β: β! = 1 für β = , sowie β! = #β · (β1 !) . . . (βn !) für β = [β1 , . . . , βn ]. Aβ ist eine Matrix, (Aβ )i = 1 für β = . (Aβ )i = (AAβ1 )i . . . (AAβn )i Satz 6.5 (Butcher). Ein autonomisierbares Runge-Kutta-Verfahren ist konsistent von Ordnung p genau dann wenn bT Aβ = 1 β! (6.21) für alle Wurzelbäume β der Ordnung ≤ p erfüllt ist. Beweis. Siehe [2, Satz 4.24/S.160] Satz 6.6 (Konsistenzfehler von impliziten Runge-Kutta-Methoden). Es gelte r ≤ 2s: s X i=1 s X bi ck−1 = i aji ck−1 = i i=1 1 k k = 1, . . . , r (6.22) ckj k k = 1, . . . , s (6.23) Dann ist das Runge-Kutta-Verfahren von der Ordnung r 21 0 0 1 2 1 2 1 2 0 0 0 0 1 6 1 0 0 0 0 1 0 0 0 0 1 3 1 3 1 6 1 2 Tabelle 5: Das Butcher-Tableau für das klassische vierstufige RK-Verfahren s = 4 und p = 4. Beweis. Beweis später bzw. [2, Lemma 6.37/S.270]. Der Beweis wird motiviert durch die numerische Integration Z s X b f (s)ds ≈ a 1 Z bi f (ci ) (6.24) i=1 xk−1 dx = 0 1 ! X k−1 = bi ci k k = 1, . . . , r (6.25) i d.h. die Integrationsformel ist exakt für Monome bis Ordnung r = 1 und ci Z f (s)ds ≈ 0 Z cj x 0 k−1 s X aji f (ci ) (6.26) k = 1, . . . s (6.27) i=1 s ckj ! X = = aji ck−1 i k j=1 Optimal hierfür wäre die Gauß-Integrationsformel (c, b), dann wäre r = 2s. Gauß-Integration in einem Punkt ist genau die Mittelpunktsmethode 1 2 1 2 1 Tabelle 6: Gauß-Integration der Stufe 1, diese ist die Mittelpunktsregel. 7 Automatische Schrittweitensteuerung Idee: Es gibt eine Vorgabe ε, so dass |y(T ) − yn | ≤ ε(T − t0 ) (7.1) Finde hj , sodass die Fehlerschranke erfüllt ist, aber sie soll auch nicht viel besser sein (wegen Effizienz!). Bisher haben wir a priori-Fehlerabschätzung betrieben. X tj ,tj+1 kej k ≤ kδk kCstab (7.2) k kej k ≤ C(f )hp (7.3) Die Konstante hängt von f ab, z.B. kf n+1 k∞ . Diese Methode ist gut für asymptotische Fehlerabschätzungen. Nun machen wir Fehlerabschätzungen a posteriori. Wir starten nun exakte Evolutionen von den numerischen Pfaden. 22 Abbildung 9: Wurzelbäume mit elementaren Differenzialen aus [2, S. 158] kej k ≤ j X k=1 t ,t j j+1 kδk kCstab 23 Es geht nun darum die lokalen Fehler wirklich abzuschätzen. Der Fehler kej k kann damit (grob) abgeschätzt werden. Um Gesamtfehler ε(T − t0 ) zu erhalten, soll in jedem Schritt ein Fehler von εh gemacht werden. Man muss sich die Kondition des Ausgangsproblems immer überlegen. Wir nehmen an, dass die Stabilitätskonstante gut, z.B. 1 ist, z.B. aus der einseitigen LipschitzBedingung. 2 Möglichkeiten δej zu schätzen 1. h-Verfeinerung (rechne gleichzeitig auch mit halber Schrittweite) yj+1 = ψ tj +h,tj y(j) h h ŷj+1 = ψ tj +h,tj + 2 ψ tj + 2 ,tj y(j) 2. Erhöhung von p ad Verfeinerung von h: Die Konsistenzordnung der Verfahren muss bekannt sein: φtj +h,tj (yj ) − yj+1 = c(tj )hp+1 + O(hp+2 ) p+1 h tj +h,tj + O(hp+2 ) φ (yj ) − ŷj + 1 = 2c(tj ) 2 1 ˆ = p δ̂ = φtj +h,tj (yj ) − yj+1 (ŷj+1 − yj ) +O(hp+2 ) 2 − 1 | {z } Fehlerschätzer ad Erhöhung von p: Verwende 2 RK-Verfahren höherer Ordnung yj+1 = ψ tj +h,tj (yj ) Ordnung p ŷj+1 = ψ̂ tj +h,tj (yj ) Ordnung p+1 δ̂ = φ tj +h,tj (yj ) − yj+1 ≈ ŷj+1 − yj Billig berechenbar wird dies durch eingebettete RK-Methoden. Gleiche A und c, unterschiedliche b (z.B. Dormand-Prince 4 und 5): c A b1 b2 Der Fehler wird vom schlechteren Verfahren geschätzt. Besser ist es mit dem genaueren Verfahren ψ̂ weiterzurechnen. Schrittweitensteuerung: Es gilt h = hj , man schätzt den Fehler s(h) aus dem letzten Schritt mit einer der beiden Methoden. Falls s(h) ≤1 (7.4) εh ist der Schritt OK, sonst bleibt man bei tj stehen und wiederholt den Schritt ab tj mit kleinerem neu ) hj . Das Ziel: s(h εhneu = 1, d.h. der Fehler soll optimal sein. Wir müssen die Konvergenzordnung des Verfahrens kennen s(h) ≈ chp+1 s(h) c ≈ p+1 h 24 (7.5) (7.6) Wir wissen auch s(hneu ) ≈ chp+1 neu . Daraus folgt s hneu = h p hε s(h) (7.7) In der Fehleranalysis wollten wir zuerst einen kleinen Konsistenzfehler haben und sind mit Taylorentwicklung lokal bei der Lösung geblieben, nun wollen wir die Stabilität untersuchen. 8 Stabilität von Runge-Kutta-Verfahren Wir werden 2 Techniken betrachten, die Stabilitätsfunktion (funktioniert für lineare DGL mit konstanten Koeffizienten) und im 2. Teil betrachten wir auch nichtlineare DGL, die asymptotisch stabil sind. 8.1 Lineare DGL mit konstanten Koeffizienten Wir betrachten y 0 = Ay mit y(0) = y0 . Wir sind am Fortpflanzen des Fehlers in der Anfangsbedingung interessiert. Wir haben y 0 = Ay + f (t) und y(0) = 0 und z 0 = Az + f (t) und z(0) = z0 . Für den Fehler e(t) = z(t) − y(t) gilt e0 (t) = Ae (8.1) e(0) = y0 − z0 = e0 (8.2) Daher müssen wir nur das homogene System betrachten. Wir nehmen an A sei diagonalisierbar, d.h. A = T −1 ΛT mit Λ = diag(ti ). Wir machen eine Variablentransformation T y 0 = ΛT y (8.3) T y(0) = T y0 (8.4) ye = λe y (8.5) Wir erhalten dadurch d skalare entkoppelte DGL yei0 = λi yei . Dadurch ergibt sich als Lösung y(t) = T −1 ye(t) == d X v i e λi t T y 0 |i=1 {z =:eAt vi := T −1 êi (8.6) } Falls A nicht diagonalisierbar ist, muss man mit Jordan-Blöcken arbeiten. Dabei erhält man ein Polynom. Beispiel 8.1. 0 y1 λ 1 y1 = 0 y2 0 λ y2 (8.7) λt λt y1 te e =a +b y2 0 eλt (8.8) Als Lösung ergibt sich 25 Aus diesem Beispiel motivieren sich folgende Begriffe: Eine Dgl ist 1. asymptotisch stabil, falls Re(λ) < 0 für alle Eigenwerte 2. stabil, falls Re(λ) ≤ 0 und Jordanindex 1 für λ mit Realteil 0 Stabilität heißt, dass die Differenz e(t) beschränkt ist für t → ∞. Die Stabilitätsfunktion von Einschrittverfahren Definition 8.2 (Matrixfunktion). Sei A = T −1 ΛT mit Λ = diag(λi ). Sei g : C → C. Dann ist die Matrixfunktion g : Cn×n → Cn×n definiert als g : A → T −1 diag(g(λi ))T . Die Matrixfunktion stimmt mit der üblichen Matrixrechnung überein. P Beispiel 8.3. Sei g(z) = pi=0 ai z i ein Polynom, so ist p X i=1 ai Ai = p X ai (T −1 ΛT )i = i=0 p X ai T −1 Λi T i=0 p X −1 = T diag( ai λij )T = g(A) i=0 Wir wollen nun die diskrete Evolution als Matrixfunktion darstellen. yj+1 = g(hA)yj (8.9) g, die Stabilitätsfunktion, kommt hierbei aus den konkreten numerischen Verfahren, A aus der linearen Differentialgleichung. Beispiel 8.4 (Explizites Eulerverfahren). yj+1 = yj + hAyj = (I + hA)yj = g(hA)yj (8.10) Wobei g(z) = 1 + z Beispiel 8.5 (Implizites Eulerverfahren). Wobei g(z) = yj+1 = yj + hAyj+1 (8.11) yj+1 = (1 − hA)−1 yj (8.12) 1 1−z . Beispiel 8.6 (Implizite Trapezregel). h (Ayj + Ayj+1 ) 2 h h (I − )yj+1 = (1 + A)yj 2 2 yj+1 = yj + (8.13) (8.14) Wobei g(z) = 1+ 1− . 26 z 2 z 2 (8.15) Lemma 8.7. Die Stabilitätsfunktion g eines s-stufigen (impliziten) Runge-Kutta-Verfahren (b, A) ist durch g(z) = 1 + zbT (I − zA)−1~e (8.16) gegeben, wobei ~e = (1, . . . , 1)T ∈ Rs . Die rationale Funktion kann eindeutig in der Form g(z) = P (z) Q(z) (8.17) in teilerfremden, durch P (0) = Q(0) = 1 normierten Polynomen P, Q ∈ Ps dargestellt werden Beweis. Siehe UE5-Bsp20 oder [2, Lemma 6.30/S. 260]. Bei expliziten RK-Verfahren erhält man ein Polynom als Stabilitätsfunktion, bei impliziten Verfahren erhält man rationale Funktionen p(z) q(z) mit p ≤ s und g ≤ s. Die Taylorentwicklung von g(z) und ez stimmen mindestens bis zur Konsistenzordnung des Verfahrens überein. Satz 8.8. Es gilt kyj+1 k ≤ max |g(hλ)| kyj k (8.18) λ∈σ(A) mit kyk := kT yk2 Beweis. kyj+1 k = kT yj+1 k2 = kT g(hA)yj k2 = kT T −1 diag(hλi )T yj k2 ≤ max |g(hA)| kT yi k2 λi ∈σ(A) Definition 8.9 (Stabilitätsbereich S eines Einschrittverfahrens). S := {z ∈ C : |g(z)| ≤ 1}. Falls σ(hA) ⊂ S gilt, dann bleibt die (asymptotische) Stabilität erhalten (d.h. kyj+1 k ≤ kyj k ≤ · · · ≤ ky0 k). Beispiel 8.10. Die Stabilität des expliziten Eulerverfahren ist y(z) = 1 + z, dieser ist daher 1 der Einheitskreis um den Mittelpunkt −1. Beim impliziten Eulerverfahren gilt g(z) = 1−z , d.h. alles außer einem Einheitskreis um 1 ist stabil, bei der impliziten Trapezregel gilt g(z) = d.h. alles links von der y-Achse ist stabil. 1+ z2 1− z2 , Definition 8.11 (A-Stabilität). Ein Verfahren heißt A-stabil, falls C− = {z ∈ C : Re(z) ≤ 0} ⊂ S (8.19) gilt. Die linke Halbebene der Eigenwerte von A soll im Stabilitätsbereich liegen. Für A-stabile Verfahren vererbt sich die (asymptotische) Stabilität ins Diskrete (unabhängig von h). Impliziter Euler und implizite Trapezmethode sind A-stabil, der explizite Euler nicht. Daher können wir auch mit größeren Schrittweiten mit ersteren rechnen, mit expliziten Euler erst, wenn das Spektrum hA im Einheitskreis um −1 liegt. Was passiert für hλ → −∞, wobei h fix? Beim impliziten Euler geht die exakte Lösung sehr 1 yj . Schnell fallende Lösungen werden daher qualitativ gut schnell gegen 0, da yj+1 = 1−hλ approximiert. Bei der Trapezmethode gilt yj+1 = 1+ hλ 2 yj 1− hλ 2 → −yj . Daher werden schnell fallende Lösungen durch Oszillationen dargestellt, bleiben aber beschränkt. 27 (a) Stabilitätsbereich (blau): Gauß2 (b) Stabilitätsbereich: Klassischer (c) Stabilitätsbereich (blau): und Implizite Trapezregel Runge-Kutta (blau) und Verfahren 2-stufiges Gauß-Radau-Verfahren von Heun (rot) (d) Stabilitätsbereich (blau): Impli- (e) Stabilitätsbereich (blau): Expli- (f) Stabilitätsbereich (blau): Verziter Euler ziter Euler besserter Euler Definition 8.12 (L-Stabilität). Ein Verfahren heißt L-stabil, falls es A-stabil ist und limz→∞ g(z) → 0. Damit werden schnelle Lösungen (hλ → −∞) gedämpft. Schnell fallende Lösungen sollen somit auch numerisch eine schnell abfallende Lösung ergeben Das Implizite Euler-Verfahren ist somit L-stabil, die Trapezmethode nicht, da der Limes ihrer Stabilitätsfunktion gegen -1 geht. Lemma 8.13. Ist für ein Runge-Kutta-Verfahren (b, A) die Matrix A regulär und der Zeilenvektor bT identisch mit einer Zeile der Matrix A, so gilt g(∞) = 0. Beweis. Da A nichtsingulär ist, gilt nach Lemma 8.7 g(∞) = lim 1 + zbT (I − zA)−1 ~e = 1 − bT A−1~e z→∞ | {z } → z1 A−1 Ist bT die j-te Zeile der Matrix A, so gilt bT = êTj A, wobei êj der j-te Einheitsvektor ist. Daher gilt g(∞) = 1 − êTj AA−1~e = 1 − êTj ~e = 0 28 c1 1 b1 b1 b2 b2 Tabelle 7: Zum Übungsbeispiel 16. Besonders gut sind sind diese mit b1 und b2 im ButcherSchema, aber es gibt eine einparametrige Schar von Lösungen. Ad ÜE16: Konsistenzordnung 3 kann man erreichen, siehe Tabelle 7. Lemma 8.14 (Isometrieerhaltung). Sei A schiefsymmetrisch (A = −AT ). Dann gilt für Lösungen von y 0 = Ay Isometrie, d.h. ky(t)k2 = ky(t0 )k2 Beweis. d d ky(t)k22 = y T y = (y 0 )T y + y(y 0 )T = (Ay)T y + y(Ay)T = y T AT y + y T Ay = 0 | {z } dt dt (8.20) −y T A Die Evolution φt : y0 → y(t) ist daher eine Isometrie. Lemma 8.15. Alle Eigenwerte einer schiefsymmetrischen Matrix A ∈ Rd×d sind rein imaginär, eine schiefsymmetrische Matrix ist mit einer unitären Matrix T (d.h. T H T = I) diagonalisierbar. Beweis. iA ist hermitesch ((iA)H = iA), d.h. (iA) hat reelle Eigenwerte und ist nach dem Spektralsatz unitär diagonalisierbar. Lemma 8.16. Es sei |g(z)| = 1 ∀z ∈ iR. Dann ist auch die diskrete Evolution eine Isometrie. Beweis. A = T ΛT H mit Λ = diag(λi ) λi ∈ iR und T ist unitär. Dann gilt mittels |g(hλi )| = 1: kyj+1 k2 = kg(hA)yj k2 = kT diag(hλi )T H yj k2 = kdiag(g(hλi ))T H yj k2 = kT H yj k2 = kyj k2 Bei der Trapezmethode ist z.B. die Stabilitätsfunktion genau 1 auf der imaginären Achse, d.h. es gilt Isometrieerhaltung. L-Stabilität (|g(z)| → 0 für |z| → ∞) und Isometrieerhaltung (|g(z)| = 1) schließen sich gegenseitig aus. 8.2 Stabilität von nichtlinearen Differentialgleichungen Definition 8.17 (dissipative Differentialgleichung). f : Rd → Rd heißt dissipativ, falls hf (y) − f (z), y − zi ≤ 0 ∀y, z (8.21) gilt, d.h. die einseitige Lipschitzbedingung mit α = 0. Dissipative DGL sind stabil. Es gilt für dissipative Differentialgleichungen: d ky(t) − z(t)k22 = 2hf (y) − f (z), y − zi ≤ 0 ⇒ ky(t) − z(t)k2 ≤ ky0 − z0 k2 dt (8.22) Oft tritt dies bei technischen Systemen auf, dass Energie in Wärme dissipiert wird (z.B. im elektrischen Widerstand). Wir suchen nun numerische Verfahren, die diese Eigenschaft erben: 29 Definition 8.18 (B-Stabilität). Ein Verfahren heißt B-stabil, wenn folgende Eigenschaft gilt (für f hinreichend glatt und dissipativ, vgl. [2, S. 282]): kyj+1 − zj+1 k ≤ kyj − zj k (8.23) Diese Eigenschaft auf lineare Gleichungen angewandt ist genau die A-Stabilität. Ist ein Verfahren B-stabil, impliziert dies, dass das Verfahren A-stabil ist. Beispiel 8.19. Das implizite Eulerverfahren ist B-stabil. yj+1 = yj + hf (yj+1 ) zj+1 = zj + hf (zj+1 ) kyj+1 − zj+1 k = hyj+1 − zj+1 , h(f (yj+1 ) − f (zj+1 ) + (zj − yj ))i = hyj+1 − zj+1 , yj − zj i + hhf (yj+1 ) − f (zj+1 ), yj − zj i ≤ kyj+1 − zj+1 k2 kyj − zj k2 Die Implizite MP-Regel ist B-stabil yj+1 = yj + hf yj + yj+1 2 Falls f linear ist, dann ist dies äquivalent zur Trapezmethode: yj+1 = yj + h (f (yj ) + f (yj+1 )) 2 Die Trapezmethode ist aber NICHT B-stabil. Isometrieerhaltung im nichtlinearen Fall Falls hf (y) − f (z), y − zi = 0 ∀y, z, dann gilt ky(t) − z(t)k2 = ky0 − z0 k2 . Die Isometrieerhaltung wird von der Mittelpunktsmethode geerbt. yj + yj+1 zj + zj+1 yj + yj+1 zj + zj+1 2 2 kyj+1 − zj+1 k2 − kyj − zj k2 = 2h − ,f −f i=0 2 2 2 2 Abbildung 10: Zusammenfassung wichtiger Stabilitätskonzepte [2, S. 249] 30 Abbildung 11: Die Ableitung des Kollokationspolynoms ist in den Kollokationspunkten exakt. 8.3 B-stabile Verfahren höherer Ordnung Wir interpretieren dazu das Runge-Kutta-Verfahren als Kollokationsverfahren. Bestimme dazu u ∈ Ps Es gelte u(tj ) = yj (8.24a) 0 u (tj + ci h) = f (u(tj + ci h)) i = 1, . . . , s ψ tj+1 ,tj (8.24b) y = yj+1 = u(tj+1 ) (8.24c) Wir behaupten dies ist ein Runge-Kutta-Verfahren, aber nicht jedes Kollokationsverfahren ist ein RK-Verfahren! Satz 8.20. Das obige Kollokationsverfahren ist ein RK-Verfahren. Beweis. Wir sehen u0 ∈ Ps−1 . Wir stellen nun u0 als Lagrange-Interpolationspolynom in c1 dar. s X u0 (tj + θh) = u0 (tj + cl h)Ll (θ) θ ∈ [0, 1) (8.25) l=1 mit Lagrange-Basispolynomen Li (cj ) = δij . Damit gilt, unter Ausnützung von s = tj + hθ und somit ds = hdθ im 2. Schritt: Z tj +ci h u(tj + ci h) = u(tj ) + u0 (s)ds = yj + h Z = yj + h 0 = yj + h = yj + h s X l=1 ci s Z X l=1 s X u0 (tj + θh)dθ 0 tj ci Z ci 0 | u0 (tj + cl h)Ll (θ)dθ Ll (θ)dθ u0 (tj + cl h) | {z } {z } =f (u(tj +c h)) l ail ail f (u(tj + ci h)) l=1 Somit kommt man auf Z tj+1 yj+1 = yj + 0 u (s)ds = yj + h tj s Z X l=1 1 0 Ll (θ)dθu (t + cl h) = yj + h 0 s X l=1 31 bl f (u(tj + hcl )) R1 Rc mit bl := 0 Ll (θ)dθ und ail := 0 i Ll (θ)dθ. RK-Methoden sind somit Kollokationsverfahren. Wir benötigen die cl , die ail und bl ergeben sich. Gute Wahl: cl als Gauß-Integrationspunkte, diese erhält man numerisch z.B. durch Lösen eines Eigenwertproblems mittels des Satzes von Golub-Welsh, siehe [1, Satz 6.6/S. 201]. Satz 8.21. Kollokationsmethoden mit Gauß-Integrationspunkten sind B-stabil. Beweis. Seien yj , zj gegeben. Es gilt u(tj ) = yj , u0 (tj + ci h) = f (u(tj + ci h)) und yj+1 = u(tj+1 ) und v(tj ) = zj , v 0 (tj + ci h) = f (v(tj + ci h)) und zj+1 = v(tj+1 ). Wir zeigen, dass kyj+1 − zj+1 k2 ≤ kyj − zj k2 für f dissipativ. Wir definieren q(θ) = ku(tj + θh) − v(tj + θh)k22 ∈ P2s θ ∈ [0, 1] 2 q(0) = kyj − zj k , q(1) = kyj+1 − zj+1 k2 Es gilt q ∈ P2s Weiters gilt q 0 (θ) = 2hhu0 (tj + θh) − v 0 (tj + θh), u(tj + θh) − v(tj + θh)i Für θ = cj gelten die Kollokationsgleichungen, d.h. q 0 (ci ) = 2hhu0 (tj + ci h) − v 0 (tj + ci h), u(tj + ci h) − v(tj + ci h)i ≤ 0 {z } | {z } | f (u(tj +ci h)) f (v(tj +ci h)) Die letzte Ungleichung gilt für dissipatives f . Dann gilt kyj+1 − zj+1 k22 Z = q(1) = q(0) + 1 q 0 (θ)dθ 0 Da q 0 ∈ P2s−1 und Gauß-Integration mit s Stützstellen für P2s−1 exakt ist, gilt kyj+1 − zj+1 k22 = q(0) + h s X bl q 0 (cl ) ≤ q(0) = kyj − zj k22 |{z} | {z } l=1 >0 ≤0 Bemerkung: Gauß-Verfahren sind Verallgemeinerungen von Mittelpunktsmethode. Sie sind auch isometrieerhaltend. Gauß-Radau-Integrationsformeln haben optimale Ordnung 2s − 2 unter der Nebenbedingung, dass cs = 1 ist. Diese sind eine Verallgemeinerung vom impliziten Eulerverfahren und sind ebenfalls B-stabil (und damit auch A-stabil). Sie sind zudem auch L-stabil. Die Stützstellen sind dabei die Nullstellen von Jacobi-Polynomen. Definition 8.22 (Gauß-Verfahren). Ist eine Quadraturformel Z 1 s X φ(t)dt ≈ bi φ(ci ) 0 (8.26) i=1 exakt für Polynome des höchstmöglichen Grades 2s − 1, so sind die Stützstellen ci nach der Theorie der Gaußquadratur eindeutig dijenigen der Gauß-Legendre-Quadratur für die Gewichtsfunktion ω ≡ 1 gegeben. Dabei sind 0 < c1 < · · · < cs < 1 (8.27) die Nullstellen der (auf das Intervall [0, 1] bezogenen) Legendre-Polynome Ps . Für f ∈ C 2s (Ω, Rd ) gilt für ein s-stufiges Gaußverfahren Konsistenzordnung 2s. 32 Definition 8.23 (Radau-Verfahren). Wir sind nun auf der Suche nach einem L-stabilen Verfahren, dessen Konsistenzordnung annähernd so gut ist wie das des Gauß-Verfahrens. Wählen wir cs = 1, so erhalten wir mittels der in Satz 8.20 motivierten Identitäten Z ci Lj (θ)dθ i, j ∈ {1, . . . , s} (8.28) aij : = 0 Z 1 bj : = Lj (θ)dθ j ∈ {1, . . . , s} (8.29) 0 und somit Z cs Z Lj (θ)dθ = asj = 0 1 Lj (θ)dθ = bj j ∈ {1, . . . , s} (8.30) 0 wodurch der Vektor bT mit der letzten Zeile der Matrix A identisch ist. Wählt man nun die restlichen Stützstellen c1 , . . . , cs−1 so, dass A nichtsingulär ist, so gilt nach Lemma 8.13, dass das Radau-Verfahren L-stabil ist. Die Konsistenzordnung beträgt für f ∈ C 2s−1 (Ω, Rd ) 2s − 1 (vgl. dazu [2, S. 279f]). Lemma 8.24. Gauß-Radau-Kollokationsverfahren sind B-stabil und L-stabil. Beweis. Siehe UE5-Bsp23 bzw. [2, Satz 6.51/S. 283] für die B-Stabilität (Beweis zeigt BStabilität für Gauß-Verfahren und Gauß-Radau-Verfahren, Gauß-Verfahren sind daher ebenfalls B-stabil) und für die L-Stabilität siehe Lemma 8.13, da bei den Radau-Verfahren die letzte Zeile der A-Matrix mit bT übereinstimmt. 9 Symplektische Verfahren für Hamiltonische Systeme Gegeben ist eine Hamilton-Funktion H : Rd × Rd → R, welche üblicherweise die Energie in mechanischen Systemen beschreibt. Gesucht sind p : R → Rd und q : R → Rd mit ∂H p(0) = p0 ∂q ∂H q0 = q(0) = q0 ∂p p0 = − (9.1a) (9.1b) Definition 9.1. H heißt seperabel, falls H(p, q) = T (q) + V (q) (9.2) 1 1 H(p, q) = pT M −1 p + q T Kq 2 2 (9.3) Oft ist H quadratisch Beispiel 9.2 (Masse-Feder-Schwinger). Die Hamiltonfunktion der Feder lautet H(p, q) = 1 2 k 2 p + q 2m 2 Wir können auch eine Federkaskade betrachten. Für jede Masse mi mit Federkonstante ki erhält man die Auslenkung qi und den Impuls pi der i. Masse mi . 33 T = d X 1 2 1 T −1 p = p M p 2mi i 2 i=1 wobei M =diag(mi ). Für V erhält man V (q) = d X ki i=1 1 (qi − qi−1 )2 = q T Kq 2 2 q0 = 0 Die Matrix K sieht folgendermaßen aus: k1 + k2 −k2 0 k2 + k3 −k3 K = −k2 0 −k3 k3 (9.4) Wir nennen M die Massenmatrix und K die Steifigkeitsmatrix. Wir erhalten nun die Hamiltonfunktion 1 1 H(p, q) = pT M −1 p + q T Kq 2 2 ∂H 0 −1 q = =M p ∂p ∂H p0 = − = −Kq ∂q (Kq)i = ki (qi − qi1 ) − ki+1 (qi+1 − qi ) qi − qi−1 beschreibt die Dehnung der Feder i, (Kq)i beschreibt die Kraft aus Masse i. Abbildung 12: Federausleger aus Beispiel 9.2 Mit einem Verbindungsgraphen kann man dies anschreiben E1 = (A, 1) etc. Der kinetischen Energie T (p) und der pot. Energie V (q) entspricht mit li als der Lage der Ruhelage der i-ten Feder T (p) = N X 1 kpi k22 2mi i=1 V (q) = N X ki i=1 2 (kqE1 ,1 − qE2 ,1 k2 − li )2 34 Beispiel 9.3 (Elastische Strukturen). Wie schwingt ein Pleuel in einem Motor, gesucht ist die Auslenkung als Funktion von Ort und Zeit und führt auf eine partielle Differentialgleichung. Mittels FEM erhält man durch Zerlegung des Gebiets und man erhält eine pot. und kinetische Energie ähnlich zum Pendel. Wir betrachten wieder quadratische Hamiltonische Systeme mut K,M SPD und p0 = −Kq und q 0 = M −1 p. Wichtig ist, dass man K und M simultan diagonalisieren kann. Lemma 9.4 (Simultane Diagonalisierung). M sei SPD und K symmetrisch. Dann existiert eine Basistransformation T (Achtung: T T heißt einfach T transponiert!), so dass TT MT = I e = diag(e T T KT = K ki ) (9.5) (9.6) Falls K SPD, dann ist e ki > 0. Beweis. Wir machen eine Cholesky-Zerlegung M = LLT . Somit gilt L−1 K(L−1 )T ist symmetrisch, somit ist diese Matrix nach dem Spektralsatz diagonalisierbar. Wir führen nun die Schreibweise L−T := (L−1 )T ein. e TeT L−1 KL−T = TeK (9.7) e diagonal. Mit T := L−T Te gilt T T KT = TeT L−1 KL−T Te = TeT (TeK e TeT )Te = mit Te orthogonal, K e da Te orthogonal. K, Es gilt auch T T M T = TeL−1 (LLT )L−T Te = TeT Te = I. Wir führen nun mit diesen T eine Basistrafo durch: q = T qe und p = T −T pe = (T −1 )T pe. Dann folgt p0 = T −T pe0 = −KT qe und somit pe = −T T KT qe = −Kq. Mit q 0 = M −1 p gilt T qe0 = M −1 T −T pe und qe0 = T −1 M −1 T −T pe = pe Wir können daher oBdA annehmen, dass q und p diagonal. Somit gilt: pe0 = −e ke q qe0 = pe Dieses zerfällt in 2x2 Systeme p0i = −ki qi qi0 = pi √ Die Lösung ist qi = A sin(ωt) + B cos(ωt) und qi = A sin(ωt) − B cos(ωt) mit ω = ki . Die betrachteten Verfahren sind invariant gegenüber der Transformation T , d.h. der Transformation der numerischen Lösung ist nun Lösung der transformierten Gleichung. Es reicht daher die 2x2Systeme p0i = −ωi2 qi und qi0 = pi zu betrachten bzw. mit p0i = −ωqi und qi0 = ωpi 0 p 0 −ω p = 0 q ω 0 q Mit explizitem Euler gilt 35 pn+1 qn+1 pn −ωpn 1 −ωh pn = +h = qn ωqn −ωh 1 qn | {z } S und somit yn = S n y0 Die Eigenwerte von S entscheiden ob die Lösung stabil ist. λ1,2 (S) = 1 ± iωh, somit ist |λ1,2 | > 1, d.h. die Lösung schwingt auf! Bei implizitem Euler gilt −1 pn+1 1 −ωh pn = qn+1 −ωh 1 qn und somit |λ1,2 | < 1, d.h. die Lösung schwingt ab. Bei der Trapezmethode ist |λ1,2 | = 1. Dieses Verhalten ist bereits von skalaren Gleichungen bekannt. 9.1 Spezielle Verfahren für Hamiltonische Systeme Das symplektische Eulerverfahren: pn+1 = pn − kn qn (9.8) qn+1 = qn + hωpn+1 (9.9) Dies ist ein explizites (Euler)-Verfahren (bei seperabler Hamilton-Funktion). Das obige Verfahren ist kein Runge-Kutta-Verfahren, sondern ist ein zusammengesetztes RK-Verfahren. Symplektisches Eulerverfahren für Ausgangsproblem pn+1 = pn − hkqn qn+1 = qn + hM −1 pn+1 2x2-System: pn+1 1 −ωh pn 1 −hω pn 1 0 = = 2 0 1 qn hω 1 − (hω) qn qn+1 hω 1 Daraus folgt λ1 · λ2 = det S = 1 − (ωh)2 + (ωh)2 = 1, falls λi komplex, gilt λ1 = λ∗2 , |λi | = 1. Es gilt sogar λ1,2 (hω)2 =1− ± 2 s (hω)2 1− 2 2 −1 Die Wurzel ist negativ für |hω| < 2. Für hω < 2 gilt |λ1,2 | = 1, d.h. wir erhalten komplex konjugierte Paare am Einheitskreis. Lemma 9.5. Das symplektische Eulerverfahren hat genau Konsistenzordnung 1, das StörmerVerlet-Verfahren mindestens Konsistenzordnung 2. Beweis. Siehe UE6-Bsp 25. 36 10 Symplektische Abbildungen Definition 10.1 (Symplektische Matrix). Eine Matrix A ∈ R2n×2n heißt symplektisch, wenn für diese die Beziehung AT JA = J gilt, wobei J die symplektische Einheitsmatrix 0 In J := ∈ R2n×2n (10.1) −In 0 bezeichnet. Definition 10.2. Eine Funktion g : R2n → R2n heißt symplektisch, falls für alle y gilt dass für g 0 : y 7→ Ay A ∈ R2n×2n eine symplektische Matrix ist. Lemma 10.3. Symplektische Funktionen g : Ω → R2n für Ω ⊆ R2n sind flächenerhaltend. Beweis. Sei g : R2n → R2n und sei nach Voraussetzung g 0 : R2n → R2n : x 7→ Ax, wobei A eine symplektische Matrix ist. Dann gilt nach Definition 10.1 sofort AT JA = J (10.2) ! det(AT ) det(J) det(A) = |det(A)|2 det(J) = det J (10.3) Daraus folgt unmittelbar |det(A)| = 1, d.h. det(A) = ±1. Daher gilt nach dem Transformationssatz (siehe [3, Satz 9.62/Satz 9.75]) für die Fläche des Gebiets Z Z Z 2n 2n 2n 1dλ2n = λ2n (Ω) (10.4) λ (g(Ω)) 1dλ = |det(g)| dλ = g(Ω) Ω | {z } Ω 1 Wir betrachten nun die Hamiltonische DGl 0 p = q0 − ∂H ∂q ∂H ∂p ! = 0 −I I 0 ∂H ∂p ∂H ∂q ! = −J∇H (10.5) p mit y = . Daraus folgt y 0 = −J∇H(y). q Satz 10.4 (von Poincaré). Sei H ∈ C 2 . Dann ist der Fluss φt : y0 7→ y(t) für jedes t ≥ t0 eine symplektische Abbildung. Beweis. Wir definieren ψ(t) = dy(t) dy0 und zeigen ψ ist eine symplektische Matrix. d d dy d dy d ψ= = = [−J∇H(y)] dt dt dy0 dy0 dt dy0 dy = −J∇2 H(y) = −J∇2 Hψ dy0 |{z} =ψ 37 d.h. ψ zerfällt selbst in die Dgl ψ 0 = −J∇2 Hψ mit der Anfangsbedingung ψ(0) = Dann gilt: dy(0) dy0 = I. d T ψ Jψ = ψ 0T Jψ + ψ T Jψ 0 = (−J∇2 Hψ)T Jψ + ψ T J(−J∇2 Hψ) dt T = ψ T ∇2 H − J J ψ − ψ T |{z} JJ ∇2 Hψ = 0 |{z} −I +I Damit ist T Z ψ (t)Jψ(t) = ψ(0)Jψ(0) + 0 t d T ψ Jψdτ = IJI = J dτ (10.6) d.h. die Matrix ist symplektisch. Dies wird oft als Drehimpulserhaltung interpretiert (aber nicht Energieerhaltung!). Abbildung 13: Isometrieerhaltung als Flächeninhalt erhaltende Funktion in der Zeit, entspricht Drehimpulserhaltung. 10.1 Das symplektische Eulerverfahren (KO 1) pj+1 = pj − h∇q H(pi+1 , qj ) (10.7) qj+1 = qj + h∇p H(pj+1 , qj ) (10.8) Das Verfahren ist implizit für p und explizit für q. Falls H seperabel ist, d.h. H(p, q) = V (q) + T (p), dann ist das Verfahren explizit. pj+1 = pj − h∇j V (qj ) qj+1 = qj + h∇p T (pj+1 ) (10.9) (10.10) Das adjungierte symplektische Eulerverfahren ist qj+1 = qj + h∇p H(pj , qj+1 ) (10.11) pj+1 = pj − h∇q H(pj , qj+1 ) (10.12) Dieses ist implizit für q, explizit in p. Es ist nicht überraschend, dass das Verfahren in beide Richtungen funktioniert. Man kann auch beide Verfahren abwechseln. Dies führt zu folgendem Verfahren: 38 10.2 Das Störmer-Verlet-Verfahren (KO 2) Das Störmer-Verlet-Verfahren ist eine Kombination vom symplektischen EV und seinem adjungierten EV. h ∇q H(pj+ 1 , qj ) 2 2 h = qj + ∇p H(pj+ 1 , qj ) 2 2 h = qj+1 + ∇p H(pj+ 1 , qj+1 ) 2 2 h = pj+ 1 − ∇q H(pj+ 1 , qj+1 ) 2 2 2 pj+ 1 = pj − (10.13a) qj+ 1 (10.13b) 2 2 qj+1 pj+1 (10.13c) (10.13d) Die ersten Gleichung ist implizit für pj+ 1 , die zweite explizit für qj . Die dritte Gleichung ist 2 explizit für pj+ 1 und die vierte implizit für qj+1 . 2 Für seperable H können 10.13b und 10.13c kombiniert werden, da ∂V ∂q ∂H ∂p = ∂T ∂p (pj+ 12 ) und ∂H ∂q = (qj ): h ∇q V (qi ) 2 = qj + h∇p T (pj+ 1 ) pj+ 1 = pj − 2 qj+1 (10.14a) (10.14b) 2 pj+1 = pj+ 1 − 2 h ∇q V (qj+1 ) 2 (10.14c) Abbildung 14: Funktionsweise der symplektischen Verfahren Weiters kann der letzte Teilschritt mit dem ersten Teilschritt des nächsten Zeitintervalles verbunden werden. pj+ 1 = pj− 1 − h∇q V (qi ) (10.15a) qj+1 = qj + h∇p T (qj+ 1 ) (10.15b) 2 2 2 Umgeformt ergeben die obigen Gleichungen pj+ 1 − pj− 1 2 2 = ∇q V (qj ) h qj+1 − qj = ∇p T (qj+ 1 ) 2 h 39 (10.16a) (10.16b) Dies entspricht dem zentralen Differenzenquotienten. Dieses Verfahren nennt man auch leapfrog“” Verfahren (Bockspring-Verfahren). Abbildung 15: Schematik des Leapfrog-Verfahrens. Das symplektische Eulerverfahren hat Konsistenzordnung 1, das Störmer-Verlet-Verfahren hat Konsistenzordnung 2. Dies ist eine Übung für seperable Hamiltonfunktionen (UE6, Bsp 26). Lemma 10.5. Das symplektische Eulerverfahren ist symplektisch, d.h. (pj , qj ) 7→ (pj+1 , qj+1 ) ist symplektisch. Beweis. Wir müssen zeigen d(pj+1 ,qj+1 ) d(pj ,qj ) ∂pj+1 ∂pj ∂qj+1 ∂pj pj+1 = pj − hHq (pj+1 , qj ) (10.17) qj+1 = qj + hHp (pj+1 , qj ) (10.18) ist symplektisch. Es gilt ∂pj+1 ∂qj ∂qj+1 ∂qj ! = I + hHqp 0 −hHqp I | {z } I − hHqp hHpp ∂pj+1 ∂pj ∂qj+1 ∂pj ∂pj+1 ∂pj ∂pj+1 ∂p1 ∂pj+1 ∂qj ∂qj+1 ∂qj M1 ∂pj+1 ∂qj − hHqq ∂pj+1 + hHpq hHpp ∂q −hHqp I+ ! I −hHqq = 0 I + hHpq | {z } ! (10.19) (10.20) M2 Nachrechnen: M1−1 M2 ist symplektisch (nachrechnen durch Brute-Force, siehe UE6, Bsp 27). Somit ist das Verfahren als Zusammensetzung symplektischer Verfahren symplektisch. Satz 10.6. Sei H(p, q) = V (q) + 12 pT M −1 p mit V analytisch. M sei SPD und sei λ := 1 1 supq kM − 2 ∇2 V M − 2 k. Dann gilt für das Störmer-Verlet-Verfahren 1 |H(pj , qj ) − H(p0 , q0 )| ≤ Ch2 + c2 e− hλ t (10.21) Beweis. Meier-Lübich-Wanner: Geometric-Numerical-Integration (2002). Übung: Für quadratische Hamiltons H(p, q) = 12 q T Kq + 21 pT M −1 p. Für die modifizierte Energie des Verfahrens e q) = H(p, q) + h2 q T KM −1 p H(p, (10.22) bleibt beim symplektischen Fall exakt erhalten. Wenn man sehr viele Unbekannte hat, rechnet man lieber mit expliziten Verfahren, z.B. bei elektromagnetischen Feldern, wo man oft eine Million Unbekannte hat. Hier bietet sich das Leap-Frog-Verfahren an. 40 11 DAEs: Differential-algebraische Gleichungen Explizite Form: gegeben sind f : [0, T ] × Rn × Rm → Rn n g : [0, T ] × R × R m →R y0 ∈ Rn m (11.1) (11.2) Gesucht ist: y : [0, T ] → Rn z : [0, T ] → Rm y 0 (t) = f (t, y(t), z(t)) 0 = g(t, y(t), z(t)) y(0) = y0 g(...) = 0 ist eine algebraische Nebenbedingung. Beispiel 11.1 (Hamiltonisches System mit Nebenbedingung-Fadenpendel). Fadenpendel mit Fadenlänge l. Es gilt 1 |p|2 + mgq 2m |q| = l ⇔ H(p, q) = g(q) = |q| − l Modellierung über einen Strafterm (Penalisierung), der Stab wird durch eine sehr steife Feder ersetzt. H s (p, q) = H(p, q) + k |g(q)|2 2 Wir haben nun statt einem Faden eine Feder in der Gleichung, wir wollen anschließend jedoch k gegen unendlich gehen lassen. Es gilt (q s )0 = ∂H p ∂H s = = ∂p ∂p m ∂H s ∂H (p ) = − =− −k ∂q ∂q s 0 ∂g ∂q T g Wir führen nun eine neue Variable λ := kg ∈ Rm ein. Es gilt nun (q s )0 = ∂H ∂p T ∂H ∂g (p ) = − + λ ∂q ∂q ∂g1 ∂g1 · · · ∂q ∂q1 n ∂g . .. .. = .. . . ∂q ∂gm ∂gm · · · ∂qn ∂q1 1 − λ = g(q) k s 0 41 Jetzt kann 1 k = 0 gesetzt werden und wir haben nun eine DAE in expliziter Form (s.o.). Wir T q = |q| betrachten das Federpendel mit g(q) = |q| − l. Es gilt ∂g (einfach Ableiten, ist aus ∂q ∇ |~q| ersichtlich). 1 0 p m q 0 0 p = + λ −mg |q| q0 = 0 = |q| − l 11.1 (11.3) (11.4) (11.5) Numerische Verfahren Implizite Zeitintegration, z.B. mit implizitem Euler: yj+1 − yj = f (tj+1 , yj+1 , zj+1 ) h 0 = g(tj+1 , yj+1 , zj+1 ) (11.6a) (11.6b) Explizite Verfahren sind für DAEs nicht geeignet (Grenzwert von steifen DGlen). Wir müssten die Schrittweite für k → ∞ immer mehr verfeinern bei den expliziten Verfahren. Besonders gut eignen sich die Radau-Verfahren (mit Stützstelle cj = 1). Diese erfüllen g(tj+1 , yj+1 , zj+1 ) = 0. Allerdings führen die Radau-Verfahren bei System, welche die Energie erhalten zu Dämpfungen. 11.1.1 Reduktion auf gewöhnliche Differentialgleichungen Es gilt: y 0 (t) = f (t, y(t), z(t)) (11.7a) 0 = g(t, y(t), z(t)) (11.7b) Wir differenzieren g(·) = 0: ∂g ∂g dy ∂g dz + + =0 ∂t ∂y dt ∂z dt Falls gz regulär ist, dann gilt z 0 = −(gz )−1 (gt + gy y 0 (t)) Wir erhalten eine DGl für y0 = f z 0 = −(gz )−1 (gt + gy f ) 0 y f = z0 −(gz )−1 (gt + gy f ) mit den Anfangsbedingungen so, dass g(t, y0 , z0 ) = 0. Falls gz singulär ist, kann weiteres Differenzieren helfen. Dies führt zum Index einer DAE, welcher angibt, wie oft differenziert werden muss, um eine ODE zu erhalten. Falls gz regulär ist, wäre der Index 1. 42 Beispiel 11.2 (Hamiltonisches System mit Nebenbedingung). Es gilt q0 = ∂H ∂p ∂H p =− + ∂q g(q(t)) = 0 0 (11.8a) ∂g ∂q T λ (11.8b) (11.8c) Einmaliges Differenzieren reicht noch nicht: d ∂g 0 ∂g ∂H g(q(t)) = q = =0 dt ∂q ∂q ∂p Wir müssen daher ein zweites Mal differenzieren: d ∂ ∂ (gq , Hp ) = (gq , Hp )q 0 + (qq , Hp )p0 dt ∂q ∂p (11.8) ∂ (gq , Hp )Hp + gq Hpp (−Hq + gqT λ) = ∂q = · · · + gq Hpp gqT λ = 0 Falls gq Hpp gqT regulär, kann λ eliminiert werden. Wir erhalten daher eine ODE für p und q. In den 80er und 90er Jahren war dies eine sehr beliebte Methode. 11.1.2 Symplektische Verfahren für Hamiltonische DAEs Ein symplektisches Verfahren für hamiltonische DAEs ist der sogenannte Rattle-Algorithmus. Gegeben sei (pn , qn ) und gesucht sei (pn+1 , qn+1 ). Teil 1: h pn+ 1 = pn − (Hq (pn+ 1 , qn ) − gq (qn )λn ) (11.9a) 2 2 2 h qn+1 = qn + (Hp (pn+ 1 , qn ) + Hp (pn+ 1 , qn+1 )) (11.9b) 2 2 2 0 = g(qn+1 ) (11.9c) Teil 2: h (Hq (pn+ 1 , qn+1 ) + gq (qn+1 )µn ) 2 2 2 0 = gq (qn+1 )Hp (pn+1 , qn+1 ) pn+1 = pn+ 1 − (11.10a) (11.10b) Dieses Verfahren ist eine Verallgemeinerung des Störmer-Verlet-Verfahrens und ist auch symplektisch. Teil 1: g(qn+1 ) = 0 Teil 2: ∂g ∂q q̇ = 0 ad Übung: y 0 = f1 (y) + f2 (y) (11.11) yj+ 1 = φfh1 (yj ) (11.12) yj+1 = φfh2 (yj+ 1 ) (11.13) 2 2 Anwendung: Kopplung von Navier-Stokes-Gleichungen, bei dem man nichtlinearen Teil und linearen Teil trennt. 43 12 Mehrschrittverfahren Der neue Wert bei Mehrschrittverfahren hängt nun von der Geschichte“ ab. Es gilt ” yj+k = ψ(yj , . . . , yj+k−1 ) (12.1) Dies definiert ein k-Schritt-Verfahren. Normalerweise hat man mehr Struktur vorausgesetzt, z.B. ein lineares MSV: k X al yj+l = h l=0 k X bl f (tj+l , yj+l ) (12.2) l=0 Beispiel 12.1 (Adams-Verfahren). Es gilt ak = 1, ak−1 = −1, ak = 0 und somit yj+k = yj+k−1 + h k X Bl f (tj+l , yj+l ) l=0 Für bk = 0 erhält man ein explizites Verfahren (Adams-Bashforth), sonst mit bl 6= 0 ein implizites Verfahren (Adams-Moulton). Motivation über numerische Integration k = 2: Z tj+2 f (s, y(s))ds yj+2 = yj+1 + tj+1 ≈ yj+1 + h(b0 f (tj , yj ) + b1 f (tj+1 , yj+1 )) Wir bestimmten die Koeffizienten b0 , b1 so, dass Z 2 b0 f (0) + b1 f (1) = f (s)ds ∀f ∈ P1 1 Daraus folgt b1 = 3 2 und b0 = − 21 . Dies führt zum Adams-Bashford-Verfahren 1 3 yj+2 = yj+1 + h − f (tj , yj ) + f (tj+1 , yj+1 ) 2 2 Das Adam-Moulton-Verfahren für k = 2 lautet 2 X Z bl f (l) = 8 12 , b2 f (s)ds ∀f ∈ P2 1 l=0 1 Daraus folgt b0 = − 12 , b1 = 2 = 5 12 yj+2 = yj+1 + und somit h (−f (yj ) + 8f (yj+1 ) + 5f (yj+2 )) 12 Die Konsistenzbedingung für allgemeine lineare MSV lautet k X al yj+l = h k X l=0 l=0 44 bl f (yj+l ) (12.3) Oben haben wir die Gleichungen schon autonomisiert, dies stellt aber kein Problem dar. Der Konsistenzfehler berechnet sich durch Einsetzen der wahren Lösung in das Verfahren: L(t, h, y) = k X al y(t + lh) − h l=0 k X l=0 bl f (y(t + lh)) {z } | (12.4) y 0 (t+lh) Konsistenzordnung p ist erfüllt, wenn L(t, h, y) = O(hp+1 ). Man kann nun eine Taylorentwicklung von L in h an der Stelle t durchführen: L(t, h, y) = k X l=0 p p−1 k X X X 1 j j (j) 1 j j (j+1) al h l y (t) − h h l y (t) + O(hp+1 ) bl j! j! j=0 l=0 p X j=0 p k X X 1 j (j) 1 1 0 j j h y al l − h bl lj−1 = al h y + 0! j! (j − 1)! j=1 j=1 l=0 l=0 l=0 ! ! p k k k X X X X 1 = al y(t) + hj y (j) al l j − j bl lj−1 +O(hp+1 ) j! j=1 l=0 | l=0 {z l=0 } k X k X =0 Die Forderung an die Konsistenzordnung p ist, dass der Ausdruck in der Klammer 0 wird. Lemma 12.2. Ein lineares MSV hat Konsistenzordnung p, falls k X al = 0 (12.5) l=0 k X al lj − jbl lj−1 = 0 ∀j = 1, . . . , p (12.6) l=0 Beweis. Die Skalierung ist frei wählbar, da dies homogene Gleichungen in a und b sind, somit z.B. ak = 1. Mit einem k-Schritt-Verfahren hat man 2k + 2 Koeffizienten, Ordnung p hat (p + 1) + 1 (Skalierung/Gleichungen), d.h. p = 2k ist erreichbar. Beispiel 12.3. Explizites Verfahren für k = 2: a0 = −5 a1 = 4 a2 = 1 b0 = 2 b1 = 4 b2 = 0 Die Koeffizienten in Tabelle 12.3 erfüllen die Ordnungsbedingungen bis p = 3. Es gilt yj+2 = 5yj − 4yj+1 + h(2f (yj ) + 4f (yj+1 )) Wir setzen für f = 0 ein: yj+2 − 5yj + 4yj+1 = 0 Mit dem Ansatz yj = z j gilt z j (z 2 + 4z − 5) = 0 45 somit ergibt sich aus der quadratischen Gleichung z1 = 1, z2 = −5. yj hat damit die Form yj = A1 z1j + A2 z2j = A1 + A2 (−5)j A1 , A2 ergeben sich aus den Startwerten von y0 , y1 , wir sehen sofort das Problem: Falls A2 6= 0 ist die numerische Lösung wegen Instabilität schlecht, da yj ≈ A2 (−5)j . Dies ist ein neues Stabilitätsproblem, das nur bei Mehrschrittverfahren auftritt. Mit der Verkleinerung von h können wir uns nicht mehr helfen. Je kleiner h, um so schneller wächst yj , somit sind instabile MSV auch instabil für h → 0. Um stabile MSV zu erhalten, muss die Null-Stabilität erfüllt sein: Definition 12.4 (Nullstabilität). Von der Nullstabilität eines MSV spricht man genau dann, wenn alle Nullstellen des char. Polynoms g(z) = k X al z l (12.7) l=0 erfüllen, dass |zj | < 1 oder |zj | = 1, falls die Nullstelle einfach ist. Dies ist i.A. nicht leicht zu überprüfen für beliebige Koeffizienten-Tabellen. Mit unserem AdamsVerfahren von vorher mit ak = 1, ak−1 = −1, al = 0 sonst geht dies aber, da gilt z k − z k−1 = 0 und somit z k−1 (z − 1) = 0. Wir erhalten die einfache Nullstelle z = 1 und die (k − 1)-fache Nullstelle z = 0, daher ist das Verfahren 0-stabil. Vererbung asymptotischer Stabilität • Lineare DGl: y 0 = Ay • Eigenwertzerlegung ⇒ y 0 = λy Die numerische Lösung erfüllt k X al yj+l = h k X l=0 l=0 bl λyj+l | {z } f (yj+l ) k X (al − hλbl )yj+l = 0 l=0 Die Lösung lautet yj = k X Ai zij i=0 mit zi als Nullstellen von k X (al − hλbl )z l = 0 l=0 Der Stabilitätsbereich des Verfahrens: S = {hλ ∈ C : ∀Nullstellen von (t) erfüllen |zj | < 1 ∨ |zj | = 1 und Nullstelle einfach} 46 A-stabiles Verfahren: C− ⊂ S 0-stabiles Verfahren: 0 ∈ S Man wünscht sich natürlich A-stabile Verfahren, aber man möchte zumindest erreichen, dass ein Sektor ner negativen Halbebene im Stabilitätsbereich liegt. Dies führt zu A(α)-stabilen Verfahren, wo ein Sektor mit Winkel 2α im Stabilitätsbereich liegt. BDF (Backward Differentiation Formula)-Verfahren Sei bk = 1 und bl = 0 sonst. Es gilt k X l=0 al yj+l = hbk f (yj+k ) | {z } 0 ≈yj+k k 1 X al yj+l ≈ y 0 (tj+k ) hbk l=0 Wegen dieser Näherung für y 0 (tj+k ) kommt der Name des Verfahrens. Beispiel 12.5. Sei k = 0. Wir verwenden das Lagrange-Interpolationspolynom (t − 1)(t − 2) (t − 0)(t − 2) (t − 0)(t − 1) + y1 + y2 (0 − 1)(0 − 2) (1 − 0)(1 − 2) (2 − 0)(2 − 1) 1 3 P20 (2) = y0 − 2y1 + y2 2 2 P 2 = y0 Somit gilt 1 3 yj − 2yj+1 + yj+2 = hf (yj+2 ) 2 2 Alternativ hätten wir die Bedingungsgleichungen für die Ordnungbedingungen hernehmen können. BDF-Verfahren bis k = 7 sind A(α)-stabil. Vorteile von MSV: • relativ einfach höhere Ordnung bei impliziten Verfahren und auch bei expliziten Verfahren. Bei impliziten hat man z.B. ein lineares GLS mit Dimension d (Anzahl der Freiheitsgrade) und nicht n · d. Nachteile von MSV: • Adaptive Schrittweitensteuerung schwierig zu implementieren, nicht wirklich geeignet dafür • benötigt Startwerte y0 , . . . , yk−1 und nicht nur einen, muss sich diese z.B. über RungeKutta-Verfahren besorgen Literatur [1] Winfried Auzinger and Dirk Praetorius. Numerische Mathematik. Skriptum, 2011. [2] Peter Deuflhard and Folkmar Bornemann. Numerische Mathematik 2. Gewöhnliche Differentialgleichungen. Walter de Gruyter Verlag, Berlin, 3. auflage edition, 2008. [3] Norbert Kusolitsch. Maß- und Wahrscheinlichkeitstheorie. Springer-Verlag, Wien, 1. auflage edition, 2011. 47