Numerik von Differentialgleichungen

Werbung
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
Herunterladen