3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta...

22
3 Verfahren f¨ ur steife Differentialgleichungen 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten Runge-Kutta-Verfahren aus Definition 2.13 sind nur die Eintr¨age “unter der Diagonalen” von Null verschieden. F¨ ullt man das Tableau voll auf, so erh¨alt man implizite Runge-Kutta-Verfahren: Definition 3.1 (Implizite Runge-Kutta-Verfahren). Eine Inkrementfunktion Φ = Φ(t, y, h) geh¨ ort zu einem s-stufiges implizites Runge-Kutta-Verfahren, falls sie f¨ ur Zahlen a ij , b i R, c i [0, 1] von der folgenden Form ist: Φ(t, h, y ) := s i=1 b i k i , wobei die Stufen k i , i =1,...,s, das folgende System von nichtlinearen Gleichungen l¨ osen: k i = f ( t + c i h, y + h s j =1 a ij k j ) , i =1,...,s. (3.1) Zus¨ atzlich m¨ ussen die Koeffizienten b i , i =1,...,s die Bedingung s i=1 b i =1 (3.2) erf¨ ullen. Explizite RK-Verfahren sind somit Spezialf¨alle von impliziten RK-Verfahren, bei denen a ij =0 ur j i. Implizite RK-Verfahren werden genau wie explizite RK-Verfahren als Tableaus notiert: das allgemeine s-stufige implizite RK-Verfahren ist c 1 a 11 a 12 ··· a 1 s1 a 1 s c 2 a 21 a 22 ··· a 2 s1 a 2 s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c s a s1 a s2 ··· a ss1 a ss b 1 b 2 ··· b s1 b s oder kompakter: c A b Bemerkung 3.2. Die Inkrementfunktion Φ von impliziten RK-Verfahren ist Φ(t, h, y )= s i=1 b i k i . ur h = 0 sieht man leicht ein, daß dann k i = f (t, y ) die (einzige) L¨osung f¨ ur die Stufen ist. Es folgt deshalb Φ(t, 0,y )= f (t, y ) s i=1 b i . In Hinblick auf Lemma 2.7 sind implizite RK-Verfahren somit nur konsistent, wenn die Koeffizienten b i die Bedingung (3.2) erf¨ ullen. Aus diesem Grund wurde diese Bedingung in die Definition von impliziten RK-Verfahren in Definition 3.1 aufgenommen. 35

Transcript of 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta...

Page 1: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

3 Verfahren fur steife Differentialgleichungen

3.1 Implizite Runge-Kutta-Verfahren

Im Tableau von expliziten Runge-Kutta-Verfahren aus Definition 2.13 sind nur die Eintrage“unter der Diagonalen” von Null verschieden. Fullt man das Tableau voll auf, so erhalt manimplizite Runge-Kutta-Verfahren:

Definition 3.1 (Implizite Runge-Kutta-Verfahren). Eine Inkrementfunktion Φ = Φ(t, y, h)gehort zu einem s-stufiges implizites Runge-Kutta-Verfahren, falls sie fur Zahlen aij, bi ∈ R,ci ∈ [0, 1] von der folgenden Form ist:

Φ(t, h, y) :=s∑

i=1

biki,

wobei die Stufen ki, i = 1, . . . , s, das folgende System von nichtlinearen Gleichungen losen:

ki = f(t + cih, y + h

s∑

j=1

aijkj

), i = 1, . . . , s. (3.1)

Zusatzlich mussen die Koeffizienten bi, i = 1, . . . , s die Bedingung

s∑

i=1

bi = 1 (3.2)

erfullen.

Explizite RK-Verfahren sind somit Spezialfalle von impliziten RK-Verfahren, bei denen aij = 0fur j ≥ i. Implizite RK-Verfahren werden genau wie explizite RK-Verfahren als Tableausnotiert: das allgemeine s-stufige implizite RK-Verfahren ist

c1 a11 a12 · · · a1 s−1 a1 s

c2 a21 a22 · · · a2 s−1 a2 s...

......

. . ....

......

.... . .

...cs as1 as2 · · · as s−1 as s

b1 b2 · · · bs−1 bs

oder kompakter:c A

b⊤

Bemerkung 3.2. Die Inkrementfunktion Φ von impliziten RK-Verfahren ist

Φ(t, h, y) =

s∑

i=1

biki.

Fur h = 0 sieht man leicht ein, daß dann ki = f(t, y) die (einzige) Losung fur die Stufenist. Es folgt deshalb Φ(t, 0, y) = f(t, y)

∑si=1 bi. In Hinblick auf Lemma 2.7 sind implizite

RK-Verfahren somit nur konsistent, wenn die Koeffizienten bi die Bedingung (3.2) erfullen.Aus diesem Grund wurde diese Bedingung in die Definition von impliziten RK-Verfahren inDefinition 3.1 aufgenommen.

35

Page 2: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Der Grundtyp der impliziten RK-Verfahren ist das sog. θ-Schema:

Beispiel 3.3 (θ-Schema). Fur θ ∈ [0, 1] wird das θ-Schema durch das Tableau

θ θ1

beschrieben, d.h. das Verfahren ist

yi+1 = yi + hif(ti + θhi, yi + θ(yi+1 − yi))

(Ubung: man uberzeuge sich davon!) Fur θ = 0 erhalt man das explizite Eulerverfahren, furθ = 1 das implizite Eulerverfahren und fur θ = 1/2 die beliebte implizite Mittelpunktsregel.Ihre Beliebtheit ruhrt daher, daß es gute Stabilitatseigenschaften mit der Tatsache kombiniert,daß es ein Verfahren 2. Ordnung ist (vgl. Satz 3.7).

Bei impliziten RK-Verfahren konnen die Stufen ki nicht einfach sukzessiv bestimmt werden,sondern sind als Losung eines (i.a. nichtlinearen) Gleichungssystems definiert. Fur hinreichendkleine Schrittweiten h kann man zeigen, daß die Stufen ki eindeutig bestimmt werden konnen,wenn f lokal lipschitzstetig im zweiten Argument ist. Der Einfachheit halber zeigen wir folgendevereinfachte Fassung dieser Aussage:

Satz 3.4 (Losbarkeit bei impliziten RK-Verfahren). Sei J ein Intervall, f ∈ C(J × R) und

|f(t, y) − f(t, y)| ≤ L|y − y| ∀(t, y), (t, y) ∈ J × R

fur ein L ≥ 0. Fur s-stufige implizite RK-Verfahren von der obigen Form ist dann das Glei-chungssystem, welches die Stufen ki, i = 1, . . . , s, definiert, fur jedes t ∈ J , y ∈ R losbar, fallsdie Schrittweite h > 0 die Bedingungen

t + h ∈ J,

hL maxi=1,...,s

s∑

j=1

|aij| < 1 (3.3)

erfullt ist.

Beweis: Die Bedingung t+h ∈ J wurde nur explizit gefordert, damit die Zeitpunkte t+cih imDefinitionsbereicht von f liegen konnen. Fur die Losbarkeit fur die Stufen ki beobachtet man,daß das Gleichungssystem (3.1) ein Fixpunktproblem ist. Die Bedingung (3.3) zeigt dann, daßdie zugehorige Abbildung eine Kontraktion auf Rs ist. Die eindeutige Losbarkeit folgt dannaus dem Banachschen1 Fixpunktsatz, wenn man den R

s mit der Maximumsnorm versieht.

Bemerkung 3.5. Satz 3.4 beruht auf dem Banachschen Fixpunktsatz. Dies legt nahe, dieStufen ki mit Hilfe der Fixpunktiteration aus dem Beweis des Banachschen Fixpunktsatzes zubestimmen. In der Praxis wird jedoch das Newtonverfahren2 eingesetzt. Der Grund ist, daßimplizite Verfahren in erster Linie fur steifen Differentialgleichungen eingesetzt, bei denen dieLipschitzkonstante L groß ist. Damit dann die Bedingung (3.3) erfullt ist, mußten dann die

1Banach, Stefan 1892–19452Newton, Sir Isaac 1643–1727

36

Page 3: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Schrittweiten h sehr klein sein; somit wurde ein Vorteil von impliziten Verfahren (namlich imVergleich zu expliziten Verfahren große Schrittweiten) zunichte gemacht werden (Ubung: Betra-

chten Sie das Anfangswertproblem y′ = λy, y0 = 1 mit λ = 10. Es soll ein Schritt des impliziten Eulerverfahrens

gemacht werden. Uberlegen Sie sich, daß das Newtonverfahren die benotigte Stufe k1 in einem Schritt liefert.

Uberlegen Sie sich, daß die Fixpunktiteration des Banachschen Fixpunktsatzes fur k1 nur konvergiert, wenn

hλ < 1, wenn als Startwert die sinnvolle Wahl λy0 getroffen wird.) Ein weiterer Vorteil des Newton-verfahrens ist naturlich die quadratische Konvergenz im Unterschied zur linearen Konvergenzder Fixpunktiteration. Ferner sei darauf hingewiesen, daß die Bedingung (3.3) nur eine hinre-ichende Bedingung fur Losbarkeit des Systems (3.1) ist; in der Praxis hofft man, daß selbst beigroßem L Losbarkeit fur vergleichsweise große h gegeben ist (fur das Beispiel f = λy ist furjedes h mit λh 6= 1 Losbarkeit gegeben!).

Ubung 3.6 (Wohldefiniertheit von IRK-Verfahren). Zeigen Sie folgende Verallgemeinerungvon Satz 3.4. Sei G ⊂ R2 offen, f ∈ C1(G). Sei K ⊂ G eine kompakte Teilmenge. Sei weiterein implizites RK-Verfahren mit s Stufen gegeben. Dann gibt es ein h0 > 0, so daß fur alleh ∈ (0, h0] und jedes (t, y) ∈ K die Stufen ki des impliziten RK-Verfahren eindeutig bestimmtwerden konnen. Zudem existiert ein C > 0, welches nur von K, f und h0 abhangt, so daß furalle Stufen ki, i = 1, . . . , s gilt: dist(ki, f(K)) ≤ Ch.Hinweis: Wahlen Sie eine kompakte Teilmenge K ′ von G mit K ⊂ K ′ ⊂ G und dist(∂K, ∂K ′) > 0. Um den

Banachschen Fixpunktsatz anwenden zu konnen, muß noch die Menge K ⊂ Rs definiert werden, in der dieStufen ki, i = 1, . . . , s gesucht werden. Eine sinnvolle Wahl ist die kompakte Menge

K := f(K ′) × · · · × f(K ′)︸ ︷︷ ︸s mal

.

Uberlegen Sie sich nun, daß fur h hinreichend klein der Banachsche Fixpunktsatz zur Bestimmung der Stufen

ki fur jedes (t, y) ∈ K anwendbar ist.

Der nachste Satz illustriert das prinzipielle Vorgehen beim Nachprufen der Konsistenzordnungbei impliziten Verfahren am Beispiel des θ-Schemas. Formal kann man mit Hilfe des Satzesuber implizite Funktionen auch implizite Einschrittverfahren als explizite Verfahren auffassen.Diese Sichtweise wird am Beispiel des θ-Schemas im folgenden Satz vorgefuhrt.

Satz 3.7 (Konsistenzfehler des θ-Schemas). Sei G ⊂ R2 ein Gebiet, f ∈ C2(G) und K ⊂ Geine kompakte Teilmenge. Dann gibt es ein h0 > 0 und ein C > 0, so daß fur jedes h ∈ (0, h0]gilt:

(i) (Wohldefiniertheit des θ-Schemas) Fur jedes (t0, y0) ∈ K und h ∈ (0, h0] hat die Gleichung

y = y0 + hf(t0 + θh, y0 + θ(y − y0)) (3.4)

eine eindeutige Losung y.

(ii) (Konsistenz) Es gilt fur den Konsistenzfehler fur jedes (t0, y0) ∈ K

|yt0,y0(t0 + h) − y| ≤ C

{h2 fur θ 6= 1/2

h3 fur θ = 1/2.

finis 6.DS

37

Page 4: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Beweis: Die Wohldefiniertheit folgt aus Ubung 3.6. Wir wenden uns deshalb dem Konsisten-zfehler zu. Dabei gehen wir in mehreren Schritten vor.1. Schritt: Sei (t0, y0) ∈ K und R := [t0 − δ, t0 + δ] × [y0 − δ, y0 + δ] ⊂ G. Dann ist

M :=∑

|α|≤2

‖Dαf‖C(R) < ∞.

Es gilt:

• (Lipschitzstetigkeit von f im 2. Argument) |f(t, y) − f(t, z)| ≤ M |y − z| fur alle (t, y),(t, z) ∈ R.

• der Satz von Picard-Lindelof (Satz 1.3) liefert die Existenz von h0 > 0, welches nur von δund M abhangt, so daß yt0,y0

∈ C1(t0−2h0, t0 +2h0). Zudem ist, weil f ∈ C2(G) und derGraph {(t, yt0,y0

(t)) | t ∈ (t0 − 2h0, t0 + 2h0)} ⊂ R (auch dies folgt aus Picard-Lindelof),daß

‖y′′′‖C([t0−h0,t0+h0]) ≤ 2M3 + 3N2 + M =: M ′ < ∞.

• Weiterhin zeigt ein Fixpunktargument (vgl. den Beweis von Satz 3.4), daß falls diezusatzliche Bedingung h0M ≤ 1/2 an h0 gestellt wird, die Gleichung (3.4) fur jedes0 < h ≤ h0 ≤ 1/(2M) eindeutig fur y gelost werden kann3 Insbesondere ist fur jedes0 < h ≤ h0 der Punkt (t + h, y) ∈ R.

2. Schritt: Unser Ziel ist, eine Gleichung fur den Konsistenzfehler τ(t0, y0, h) fur h ∈ (0, h0]herzuleiten. Hierzu fuhren wir den Abschneidefehler r(h) durch die Gleichung

yt0,y0(t0 + h) = yt0,y0

(t0) + hf(t0 + θh, yt0,y0(t0) + θ[yt0,y0

(t0 + h) − yt0,y0(t0)]) + r(h)

ein. Da yt0,y0(t0) = y0 gilt, haben wir folgende zwei Gleichungen zur Verfugung:

yt0,y0(t0 + h) = y0 + hf(t0 + θh, y0 + θ[yt0,y0

(t0 + h) − y0]) + r(h)

y = y0 + hf(t0 + θh, y0 + θ[y − y0])

Subtraktion beider Gleichungen ergibt eine Abschatzung fur den Konsistenzfehler yt0,y0(t0 +

h) − y:

|yt0,y0(t0 + h) − y| ≤ h

∣∣∣f(t0 + θh, y0 + θ[yt0,y0(t0 + h) − y0]) − f(t0 + θh, y0 + θ[y − y0])

∣∣∣+ |r(h)|

≤ hMθ|yt0,y0(t0 + h) − y| + |r(h)|, (3.5)

wobei wir ausgenutzt haben, daß durch unsere Wahl von h0 die Argumente von f im RechteckR bleiben. Da wir h0 so klein gewahlt haben, daß hM ≤ h0M ≤ 1/2, erhalten wir fur denKonsistenzfehler τ(t0, y0, h):

|yt0,y0(t0 + h) − y| ≤

1

1 − hθM|r(h)| ≤ 2|r(h)|. (3.6)

Es bleibt, die Große r(h) abzuschatzen. Dies erfolgt nun durch Taylorentwicklung. Wirfuhren das Vorgehen fur den Fall θ = 1/2 vor; der Fall θ ∈ [0, 1] \ {1/2} wird durch ahnlicheUberlegungen behandelt (Ubung).

3es wird 0 ≤ θ ≤ 1 vorausgesetzt.

38

Page 5: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Wir entwickeln die Funktion yt0,y0nach Taylor um den Mittelpunkt t = t0 + h/2 des Intervalls

[t0, t0 + h]. Es gilt

yt0,y0(t0) = yt0,y0

(t) −h

2y′

t0,y0(t) +

1

2

(h

2

)2

y′′t0,y0

(t) + O(h3)

yt0,y0(t0 + h) = yt0,y0

(t) +h

2y′

t0,y0(t) +

1

2

(h

2

)2

y′′t0,y0

(t) + O(h3).

wobei die Fehlerterme, die sich hinter O(h3) verbergen, abgeschatzt werden konnen durch

1

6‖y′′′

t0,y0‖C([t0−h0,t0+h0])

(h

2

)3

≤ Ch3;

die Konstante C = M ′/(6 · 8) > 0 hangt uber M ′ nur von M ab. Damit gilt

yt0,y0(t0 + h) + yt0,y0

(t0) = 2yt0,y0(t) +

(h

2

)2

y′′t0,y0

(t) + O(h3), (3.7)

yt0,y0(t0 + h) − yt0,y0

(t0) = hy′t0,y0

(t) + O(h3). (3.8)

Somit gilt fur r

r(h) = yt0,y0(t0 + h) − {yt0,y0

(t0) + hf(t0 + h/2, [yt0,y0(t0) + yt0,y0

(t0 + h)]/2)}

={yt0,y0

(t0 + h) − yt0,y0(t0) − hf(t, yt0,y0

(t))}

− h{f(t0 + h/2, [yt0,y0

(t0) + yt0,y0(t0 + h)]/2) − f(t, yt0,y0

(t))}

(3.9)

Wegen der Differentialgleichung y′t0,y0

(t) = f(t, yt0,y0(t)) und (3.8) folgt damit, daß die erste

Klammer in (3.9) die Abschatzung

|yt0,y0(t0 + h) − yt0,y0

(t0) − hf(t, yt0,y0(t))| ≤ Ch3,

erfullt, wobei die Konstante C > 0 unabhangig von h ist (wie oben gesehen, hangt sie nur vonM ab). Fur die zweite Klammer in (3.9) nutzen wir die Lipschitzstetigkeit von f im zweitenArgument4

∣∣hf(t0 + h/2, [yt0,y0(t0) + yt0,y0

(t0 + h)]/2) − f(t, yt0,y0(t))∣∣

≤ hL∣∣[yt0,y0

(t0) + yt0,y0(t0 + h)]/2 − yt0,y0

(t)∣∣ ≤ Ch3,

wobei die Konstante C aus (3.7) bestimmt werden kann. Damit haben wir gezeigt, daß |r(h)| =O(h3). Insgesamt haben wir erzielt:

|yt0,y0(t0 + h) − y| ≤ Ch2+1, (3.10)

d.h. fur θ = 1/2 hat das θ-Schema die Konsistenzordnung 2. Die Konstante C > 0 in (3.10)hangt nur von M ab.3. Schritt: Fur einen vollstandigen Beweis, daß das θ-Schema die im Satz angegebene Ordnunghat, mussen wir zeigen, daß zu gewahlter kompakten Menge K ⊂ G die Konstanten h0 und C

4wir beachten wieder, daß alle Argumente im Rechteck R bleiben

39

Page 6: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

aus (3.10) unabhangig von (t0, y0) ∈ K gewahlt werden konnen. Dies geschieht nun mit einemKompaktheitsargument.Sei K ⊂ G kompakt. Aufgrund der Kompaktheit von K laßt sich ein δ > 0 finden, so daß furjedes (t0, y0) ∈ K gilt:

[t0 − 2δ, t0 + 2δ] × [y0 − 2δ0, y0 + 2δ] ⊂ G.

Weiters hat die kompakte Menge

K ′ := ∪(t0,y0)∈K [t0 − δ, t0 + δ] × [y0 − δ, y0 + δ]

die Eigenschaft K ′ ⊂ G und fur jedes (t0, y0) ∈ K ist das Rechteck R = [t0 − δ, t0 + δ] × [y0 −

δ, y0 + δ] ⊂ K ′ ⊂ G. Setzt man M :=∑

|α|≤2 ‖Dαf‖C(K ′), so ergibt sich klarerweise, daß jedes

Rechteck R von der Form, wie sie in den Schritten 1–2 betrachtet wurde, die AbschatzungM ≤ M erfullt. Weil h0 und C im 2. Schritt lediglich von M und δ abhangen (welche nunwiederum von K und f abhangen), ist der Beweis abgeschlossen.

Bemerkung 3.8. Der Beweis von Satz 3.7 zeigt, daß der Konsistenzfehler des θ-Schemas imwesentlichen durch die Große

r(h) = yt0,y0(t + h) − {yt0,y0

(t) − hf(t + θh, yt0,y0(t) + θ[yt0,y0

(t + h) − yt0,y0(t)])} (3.11)

bestimmt wird. Allgemeiner schatzt man in der Numerik oft den Konsistenzfehler fur einimplizites Verfahren der Form yi+1 = yi+hiΦ(ti, hi, yi, yi+1) ab, indem man fur eine hinreichendglatte Losung y der Differentialgleichung die Große

r(h) = y(t + h) − {y(t) + hΦ(t, h, y(t), y(t + h))}

durch Taylorentwicklung abschatzt. Im Beweis von Satz 3.7 (der Schritt von (3.5) auf (3.6))wird am Beispiel des θ-Schemas vorgefuhrt, warum r(h) tatsachlich im wesentlichen der Kon-sistenzfehler im Sinne von Definition 2.6 ist.

3.1.1 Bemerkungen zu impliziten RK-Verfahren

Gaußverfahren

Bei expliziten RK-Verfahren haben wir in Satz 2.17 gesehen, daß ein s-stufiges Verfahren maxi-mal die Konvergenzordnung p = s erreichen kann (fur s ≥ 5 waren die Butcherschranken sogarnoch restriktiver). Fur impliziten RK-Verfahren kann man zeigen, daß die maximal erreichbarOrdnung p = 2s ist (siehe, z.B. [1, Lemma 6.34]). Diese maximale erreichbare Ordnung wirdauch tatsachlich von den sog. Gaußverfahren erreicht.Wichtige Vertreter impliziter RK-Verfahren sind die Gaußregeln5, und die verwandten Radau-und Lobattoregeln 6 Die Namen dieser impliziten RK-Verfahren ruhren daher, daß fur rechteSeiten f , welche nicht von y abhangen, die bekannten Gauß-, Raudau- und Lobattoquadratur-regeln entstehen.

5Gauß, Carl Friedrich, 1777–18556Rodolphe Radau (1835–1911), Rehuel Lobatto (1797-1866)

40

Page 7: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

1. Gaußregeln: Die Stutzstellen ci und die Koeffizienten bi entsprechen den Stutzstellen undGewichten fur die klassische Gaußquadratur (naturlich bezogen auf das Intervall [0, 1]).Insbesondere reduziert sich fur rechte Seiten f , welche nur von t abhangen, eine Gaußregelauf die klassische Gaußquadratur. Eine Gaußregel mit s Stufen hat Konsistenzordnungp = 2s.

Beispiel fur s = 2 und p = 4:

3−√

36

14

3−2√

312

3+√

36

3+2√

312

14

12

12

2. Radauregeln: Bei Raudauregeln ist entweder der linke Endpunkt t oder der rechte End-punkt t + h ein Quadraturpunkt, d.h. entweder ist c1 = 0 oder cs = 1. Raudauregelnmit s Stufen haben Konsistenzordnung p = 2s − 1. Die einfachsten Beispiele sind dasexplizite und das implizite Eulerverfahren (s = 1 und p = 1). Weitere Beispiele sind z.B.

Beispiele fur s = 2 und p = 3:0 0 023

13

13

14

34

13

13

01 1 0

34

14

3. Lobattoregeln: Bei Lobattoregeln ist sowohl der linke Endpunkt t als auch der rechteEndpunkt t + h ein Quadraturpunkt, d.h. c1 = 1 und cs = 0. Lobattoregeln mit s Stufenhaben Konsistenzordnung p = 2s − 2. Ein Vorteil ist, daß sie so konstruiert werdenkonnen, daß die erste Zeile und die letzte Spalte des Butcherschemas nur Nullen enthalt,d.h. die Stufen k1 und ks konnen explizit bestimmt werden; damit reduziert sich dieAnzahl impliziter Gleichungen fur die Stufen.

Beispiele fur s = 2 und p = 2, bzw. s = 3, p = 4:0 0 01 1 0

12

12

0 0 0 012

14

14

01 0 1 0

16

23

16

3.1.2 Diagonal implizite und linear implizite Verfahren

Bei impliziten RK-Verfahren muß ein (nichtlinearen) Gleichungssystem fur die Stufen ki gelostwerden. Da dies kompliziert bzw. aufwendig sein kann (Newtonverfahren!), hat man verein-fachte Verfahren entwickelt. Eine Vereinfachungsmoglichkeit sind die diagonal impliziten Ver-fahren, bei denen die Koeffizienten aij aus dem Tableau die Bedingung aij = 0 fur j > i erfullen(es sollte naturlich mindestens ein aii 6= 0, da sonst ein explizites Verfahren vorliegt). Diese sindnumerisch etwas einfacher zu behandeln, da die Stufen ki sukzessive bestimmt werden konnen.Um das Losen einer nichtlinearen Gleichung (oder eines nichtlinearen Gleichungssytems im Fallvon Systemen von Differentialgleichungen) vermeiden, wurden linear-implizite RK-Verfahren(auch nach Rosenbrock Rosenbrock-Verfahren genannt) entwickelt. Wir fuhren die Grundideevon linear-impliziten RK-Verfahren fur autonome Differentialgleichungen der Form

y′(t) = f(y(t)), y(t0) = y0,

vor. Die Differentialgleichung wird in der Form

y′(t) = J y(t) +[f(y(t)) − J y(t)

]

41

Page 8: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

geschrieben, wobei J = ∂yf(y0) gesetzt wird. Fur geeignete Parameter bi, i = 1, . . . , s, und αij ,βij , i, j = 1, . . . , s, werden dann die Stufen ki definiert als Losungen von

ki = J (y0 + h

i∑

j=1

βijkj) +

(f(y0 + h

i−1∑

j=1

αijkj) − J (y0 + h

i−1∑

j=1

αijkj)

), i = 1, . . . , s

und anschließend y = y0 + h∑s

i=1 biki gesetzt. Man beachte, daß die Summen bis i bzw. i − 1laufen. Daraus ergibt sich, daß die Stufen ki einfach sukzessive als Losungen von linearenGleichungen bestimmt werden:

(i) J := ∂yf(y0)

(ii) (Id − hβiiJ)ki = hi−1∑

j=1

(βij − αij)Jkj + f(y0 + hi−1∑

j=1

αijkj), i = 1, . . . , s

(iii) y := y0 + h∑s

i=1 biki.

(Im zweiten Schritt haben wir Id geschrieben, um anzudeuten, wie im Falle von vektorwertigenFunktion f vorzugehen ist; in diesem Fall ist J eine Matrix und die Stufen ki sind Vektoren.) finis 7.DS

3.2 Steife Differentialgleichungen

3.2.1 Einfuhrung in die Problematik

Vom praktischen Standpunkt will man die Schrittweite so wahlen durfen, daß die gesuchteLosung gut (d.h. mit einer vorgeg. Genauigkeit) approximiert werden kann. Im Idealfallsollte die Schrittweite lediglich von der zu approximierenden Losung abhangen, und es solltekeine weiteren Schrittweitenbeschrankungen geben, die sich nur durch das gewahlte numerischeVerfahren ergeben. Wir werden nun sehen, daß fur gewisse ODEs (sog. “steife” Probleme),die z.B. in der chemischen Reaktionskinetik auftreten, explizite Einschrittverfahren die Losungnicht mit vertretbarem Aufwand approximieren konnen, wahrend implizite Verfahren dem Ide-albild von Schrittweitenbedingungen, die lediglich durch die Approximierbarkeit der gesuchtenLosung vorgegeben werden, fur steife Probleme ziemlich nahe kommen.

Einige Beispiele

Um die typische Schwierigkeit zu demonstrieren, betrachten wir die folgenden zwei Beispiele:

Beispiel 3.9. Wir betrachten fur λ < 0 das Anfangswertproblem

y′(t) = λy(t), auf [0, T ], y(0) = y0.

Wendet man das explizite Eulerverfahren mit konstanter Schrittweite h > 0 an, so ergibt sichals Iterationsvorschrift

yi+1 = yi + λhyi, i = 0, 1, . . . (3.12)

und damityi = y0(1 + λh)i = y0(1 + λh)ti/h, ti = ih.

42

Page 9: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

0 0.2 0.4 0.6 0.8 1−40

−30

−20

−10

0

10

20

30

40

50

60

t

f(t,y) = λ y, λ = −25, h = 0.1

exakte Loesungexpl. Eulerverf.impl. Eulerverf.

0 0.1 0.2 0.3 0.4 0.5−8

−6

−4

−2

0

2

4

6

t

f(t,y) = λ y, λ = −25, h = 0.1

exakte Loesungexpl. Eulerverf.impl. Eulerverf.

Figur 3.1: (vgl. Beispiel 3.9) Funktionsplot bei Verwenden des expliziten und des implizitenEulerverfahrens fur y′(t) = λy(t), y(0) = 1. Links: auf [0, 1]. Rechts: Ausschnitt auf [0, 0.5].

Fur |λh| ≥ 2 ist |1 + λh| > 1, so daß |yi| → ∞ fur i → ∞. Da fur die gesuchte Losung y gilt:limt→∞ y(t) = 0, reflektiert das numerische Verfahren nicht einmal das qualitative Verhalten derLosung wie auch in Fig. 3.1 illustriert. Das Konvergenzresultat Satz 2.10 garantiert naturlichKonvergenz fur h → 0; die numerische Approximation beginnt aber erst das qualitative Verhal-ten der Losung widerzuspiegeln, wenn |λh| < 2. Ist |λ| groß, erzwingt die Bedingung |λh| < 2sehr kleine Schrittweiten h, d.h. man muß einen hohen Aufwand treiben.Das implizite Eulerverfahren verhalt sich hier wesentlich gunstiger: Die Iterationsvorschriftyi+1 = yi + λhyi+1 kann zu

yi+1 =1

1 − λhyi, i = 0, 1, . . . (3.13)

umgeformt werden und liefert damit in geschlossener Form

yi = y01

(1 − λh)i= y0(1 − λh)−ti/h.

Man erkennt y → 0 fur i → ∞, welches das qualitative Verhalten der Losung ist (vgl. Fig. 3.1).Auch das implizite Eulerverfahren ist nach Satz 3.7 ein Verfahren erster Ordnung und kon-vergiert fur festes ti gegen die korrekte Losung.

Beispiel 3.10. Wir betrachten das Losen des Anfangswertproblems

y′ = Ay, y(0) =

10−1

, A =

−21 19 −2019 −21 2040 −40 −40

.

Die Eigenwerte von A sind gegeben durch λ1 = −2, λ2 = −40(1 + i), λ3 = −40(1 − i). Diegesuchte Losung ist

y1(t) =1

2e−2t +

1

2e−40t (cos 40t + sin 40t) ,

y2(t) =1

2e−2t −

1

2e−40t (cos 40t + sin 40t) ,

y3(t) = −e−40t (cos 40t − sin 40t) .

43

Page 10: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

Loesungskomponenten der ODE aus Lambert

y1

y2

y3

0 0.1 0.2 0.3 0.4 0.5−20

−15

−10

−5

0

5

10

15

20

t

y 1

Vergleich von expl. und impl. Euler bei steifer ODE

exakte Lsgexpl. Eulerimpl. Euler

0 0.1 0.2 0.3 0.4 0.5−8

−6

−4

−2

0

2

4

6

8

10

t

y 2

Vergleich von expl. und impl. Euler bei steifer ODE

exakte Lsgexpl. Eulerimpl. Euler

0 0.1 0.2 0.3 0.4 0.5−8

−6

−4

−2

0

2

4

6

8

10

t

y 3

Vergleich von expl. und impl. Euler bei steifer ODE

exakte Lsgexpl. Eulerimpl. Euler

Figur 3.2: Vergleich von explizitem und implizitem Eulerverfahren fur das steife Problem ausBeispiel 3.10: exakte Losung(links oben) und numerische Approximationen.

Im Bereich 0 ≤ t ≤ 0.1 variieren alle drei Losungskomponenten schnell, so daß die Notwendigkeiteiner kleinen Schrittweite h << 1 plausibel erscheint. Fur t > 0.1 sind die Komponenten y1

und y2 nahezu identisch und variieren sehr langsam (der hochoszillatorische Anteil der Losungist wegen des Faktors e−40t weggedampft worden) und y3 ist fast Null. Es bietet sich deshalban, großere Schritte zu machen. Allerdings zeigt es sich in Fig. 3.2, daß z.B. fur h = 0.05das explizite Eulerverfahren vollig inakzeptable Resultate liefert. In der Tat werden wir spatersehen, daß das explizite Eulerverfahren die Stabilitatsbedingung

|1 + hz| ≤ 1 z ∈ {λ1, λ2, λ3}

d.h., h ≤ 140

= 0.025 erfullen muß, damit eine sinnvolle Approximation erwartet werden kann.Das implizite Eulerverfahren, welches wir ebenfalls in Fig. 3.2 sehen, verhalt sich hier wesentlichbesser.

Beispiel 3.11. Fur λ1, λ2 < 0 wird die Losung des folgenden Systems von Differentialgleichungen gesucht:

y′(t) = Ay(t), A =

(λ1+λ2

2λ1−λ2

2λ1−λ2

2λ1+λ2

2

).

44

Page 11: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t

exakte Lsg expl. Eulerimpl. Euler

Figur 3.3: Vergleich von explizitem und implizitem Eulerverfahren fur Beispiel 3.12.

Die allgemeine Losung y(t) = (y1(t), y2(t))⊤ ist

y1(t) = C1eλ1t + C2e

λ2t,

y2(t) = C1eλ1t − C2e

λ2t.

Wendet man das explizite Eulerverfahren mit konstanter Schrittweite h auf dieses System an, so ergibt sichnumerische Approximation

y1,i = C1(1 + λ1h)i + C2(1 + λ2h)i = C1(1 + λ1h)ti/h + C2(1 + λ2h)ti/h,

y2,i = C1(1 + λ1h)i − C2(1 + λ2h)i = C1(1 + λ1h)ti/h − C2(1 + λ2h)ti/h.

Wir beobachten die gleiche Schwierigkeit wie in Beispiel 3.9: Im Falle C1, C2 6= 0 muß |λ1|h < 2 und |λ2|h <2 sein, damit die numerische Losung wenigstens qualitativ das Verhalten der exakten Losung widerspiegelt.Ist |λ1| >> |λ2|, so ist das explizite Eulerverfahren extrem ineffizient: Obwohl der Losungsanteil C1e

λ1t zurGesamtlosung fur festes t > 0 fast nicht beitragt, verlangt das explizite Eulerverfahren, daß die Schrittweiteh die Bedingung |λ1|h < 2 erfullt. Verhaltnisse |λ1|/|λ2| von der Großenordnung 103–106 treten in der Praxisdurchaus auf. Wir beobachten also das “widersinnige” Verhalten, daß die Losungskomponente eλ1t, die eigentlichim Vergleich zur Komponenten eλ2t vernachlassigbar ist, vorschreibt, welchen Aufwand man mit dem explizitenVerfahren treiben muß, um eine vernunftige Approximation zu erhalten.Genau wie in Beispiel 3.9 kann man sehen, daß der Einsatz des impliziten Eulerverfahrens ein Verfahren liefert,daß auch fur (relativ) große Schrittweiten h das qualitativ richtige Verhalten der Losung widerspiegelt. (Ubung:Geben Sie die Approximationen des impliziten Eulerverfahrens in geschlossener Form an. Hinweis: Hierzumussen die Matrizen (Id2 − λhA)−i, i ∈ N, mithilfe von Diagonalisierung geschlossen dargestellt werden).

Beispiel 3.12. Wir betrachten noch einmal das Problem aus Beispiel 1.6 mit y0 = 0. DasProblem ist von der Bauart y′ = λy + f(t), wobei λ > 0 (vergleichsweise) groß ist. Wir hattenin Beispiel 1.6 gesehen, daß das Problem sehr sensitiv bzgl. Storungen der Anfangsdaten ist.Solche Probleme sind naturgemaß fur jedes numerische Verfahren hart, und es ist nicht klar, daßein implizites Verfahren besser ist. In Fig. 3.3 sehen wir in der Tat qualitativ, daß das impliziteEulerverfahren nicht besser als das explizite Eulerverfahren ist; beide Verfahren liefern furh = 0.025 ungenugende Approximationen.

45

Page 12: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Diskussion der Beispiele

Das unterschiedliche Verhalten des expliziten und impliziten Eulerverfahrens wird mit demBegriff der Stabilitat naher gefaßt. Die Idee der A-Stabilitat (Definition 3.17) von numerischenVerfahren ist, daß einige qualitative Eigenschaften der exakten Losung auch vom numerischenVerfahren erhalten werden. Hierzu betrachten wir das folgende System

y′ = Ay, y(0) = y0, (3.14)

wobei A ∈ Rn×n. Wir nehmen nun an, daß A diagonalisierbar ist. Dann hat die Losung dieForm

y(t) =

n∑

i=1

cieλitv(i),

wobei die λi ∈ C die Eigenwerte von A sind und die v(i) die zugehorigen Eigenvektoren; dieKoeffizienten ci sind geeignete reelle Zahlen. Die Losungskomponenten cie

λitv(i) haben folgendeVerhalten abhangig davon, ob sich λi in der linken oder rechten komplexen Halbebene befindet:

• Die Losungskomponenten deren zugehorige Eigenwerte Reλi > 0 sind, wachsen fur t →∞. Diese Losungskomponenten von y dominieren die Losung y (falls die entsprechendenKoeffizienten ci 6= 0 sind) und mussen von numerischen Verfahren erfaßt werden. Um dieseadaquat numerisch zu approximieren, muß ggf. die Schrittweite klein gewahlt werden, d.h.|λi|h sollte hinreichend klein sein. Diese Schrittweitenbeschrankung ist unvermeidbar,wenn man die Losung y von (3.14) numerisch sinnvoll approximieren will.

• Die Losungskomponenten, deren zugehorige Eigenwerte Reλi < 0 sind, gehen gegen 0fur t → ∞. Ist Reλi sehr stark negativ, dann werden diese Losungskomponenten sehrschnell weggedampft. Diese Losungkomponenten tragen kaum zur Gesamtlosung (zumin-dest fur t → ∞) bei und brauchen in vielen Anwendungen nicht genau bestimmt werden.Sind sie vom Approximationsstandpunkt vernachlassigbar, so will man keine Schrittweit-enbeschrankung hinnehmen, die daher kommt, daß diese Losungkomponenten aufgelostwerden mussen, obwohl sie fast nichts zur Gesamtlosung beitragen. Beispiele 3.9, 3.10,3.11 zeigen, daß man bei expliziten Verfahren wie dem Eulerverfahren eine Schrittweit-enbeschrankung hinnehmen muß, um vernunftige Losungen zu erhalten.

Will man die vernachlassigbaren Losungskomponenten nicht auflosen, so muß man Verfahrenverwenden, die doch wenigstens einige qualitative Eigenschaften der Losungskomponenten wider-spiegeln. Eine Minimalforderung fur Probleme der Form (3.14) wird sein, daß die numerischenApproximationen zu Losungskomponenten zu Eigenwerten λi mit Reλi ≤ 0 beschrankt bleiben.Diese Minimalforderung fuhrt dann auf den Begriff der A-Stabilitat in Definition 3.17, der siewenigstens fur diagonalisierbare Matrizen A sicherstellt. Um eine einfachere Theorie zu en-twickeln, vereinfachen wir diese Forderung mit Hilfe folgender Ubung:

Ubung 3.13. Sei A eine diagonalisierbare Matrix. Dann ist die Anwendung eines RK-Verfahrensauf (3.14) aquivalent zur Anwendung desselben RK-Verfahrens auf die diagonalisierte Form; inder diagonalisierten Form zerfallt dann das Verfahren auf die komponentenweise Anwendungdes RK-Verfahren, d.h. in RK-Verfahren fur Probleme der Form

y′i = λiyi, i = 1, . . . , n, (3.15)

wobei die λi ∈ C die Eigenwerte von A sind.

46

Page 13: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Ubung 3.13 zeigt, daß man das Verhalten von RK-Verfahren fur diagonalisierbare Systeme derForm (3.14) durch Analyse des RK-Verfahrens angewendet auf die skalaren Probleme (3.15)verstehen kann. Dies motiviert, das Verhalten von RK-Verfahren fur die Modellgleichung

y′ = λy, (3.16)

zu betrachten, wobei λ ∈ C zugelassen wird. Mit dem Begriff der A-Stabilitat wird nun gefaßt,fur welche Kombinationen von h und λ mit Reλ ≤ 0 ein RK-Verfahren Approximationen yi

liefert, die wenigstens beschrankt fur i → ∞ bleiben.

Bemerkung 3.14. Die Betrachtung des Problems (3.14) kann man motivieren, indem manqualitativ zu verstehen sucht, wie ein numerisches Verfahren mit Storungen von Anfangsdatenumgeht (vgl. auch Ubung 1.7). Seien hierzu u und v zwei Losungen der Differentialgleichungy′ = f(t, y). Schreibt man v = u + δ fur klein angenommene Storung δ (d.h. man linearisiertum die Losung u), so ergibt sich durch Taylorentwicklung (“Linearisierung”)

δ′ = f(t, v) − f(t, u) = f(t, u + δ) − f(t, u) = ∂yf(t, u)δ + · · · .

Vereinfacht man weiter f(t, u(t)) ≈ f(t0, u(t0)) fur kleine |t − t0|, so erkennt man, daß dieStorung δ durch ein Differentialgleichungssystem der Form (3.14) mit A = ∂yf(t0, u(t0)) beschriebenwird mit (kleiner) Storung δ(t0). Die Storungsanteile, die zu Eigenwerten λi mit Reλi < 0gehoren, werden schnell weggedampft und bleiben klein. A-stabile numerische Verfahren teilendiese Eigenschaft mit dem kontinuierlichen Problem: die Storanteile, die zu Eigenwerten λi mitReλi < 0 gehoren, werden auch von dem numerischen Verfahren nicht verstarkt.

Bemerkung 3.15. Wir haben oben fur (3.14) und diagonalisierbares A herausgearbeitet, daß es aufgrund vonApproximationseigenschaften unvermeidbare Schrittweitenbeschrankungen gibt, die mit den Eigenwerten λi mitReλi ≥ 0 zusammenhangen. Schrittweitenbeschrankungen, die mit den Eigenschaften (der sog. “Stabilitat”)des Verfahren zusammenhangen, hangen eng mit den Eigenwerten mit negativem Realteil zusammen. Typis-cherweise sind die Schrittweitenbeschrankungen, die sich aus “Stabilitatsbedingungen” ergeben, je stringenter,desto großer die Betrage der Eigenwerte λi mit Reλi ≤ 0 sind (siehe unten). Es wird deshalb in der Literaturauch die Steifigkeitsrate

κ =max{|Reλi| |Reλi < 0}

min{|Reλi| |Reλi < 0}

eingefuhrt. Ist κ >> 1, so spricht man von einem steifen Problem. Steifigkeitsraten κ ≈ 106 treten in der Praxis,z.B. der chemischen Reaktionskinetik durchaus auf.

3.2.2 Stabilitatsgebiete von RK-Verfahren

A-Stabilitat von RK-Verfahren wird anhand des Modellproblems (3.16) untersucht. Aufgrundder einfachen Struktur der Differentialgleichung (3.16) sind geschlossene Formeln fur die Ap-proximationen yi fur ein gegebenes RK-Verfahren moglich, wie wir im folgenden zeigen. Zunachstbeobachten wir, daß die Formeln (3.12), (3.13) die Darstellung

yi+1 = R(z)yi, z = λh (3.17)

fur die Approximationen yi erlauben. Damit ist offensichtlich yi gegeben durch

yi = (R(z))i y0, i ∈ N0, z = λh. (3.18)

47

Page 14: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Im Falle des expliziten Eulerverfahrens R ein Polynom (vom Grad 1) und im Falle des implizitenEulerverfahrens R eine rationale Funktion ist. Ganz allgemein ist die entsprechende FunktionR fur explizite RK-Verfahren ein Polynom wahrend es fur implizite Verfahren eine rationaleFunktion ist, wie der folgende Satz zeigt:

Satz 3.16. Sei ein s-stufiges RK-Verfahren gegeben, das durch ein Tableau der Form

c A

b⊤

beschrieben wird, wobei c, b ∈ Rs und A ∈ Rs×s. Dann hat ein Schritt mit Weite h diesesRK-Verfahrens angewandt auf die Differentialgleichung (3.16) die Form

yi+1 = R(λh)yi,

wobei R die in (3.19) angegebene rationale Funktion ist.7 Zudem gilt:

(i) Sei σ(A) ⊂ C die Menge der Eigenwerte von A. Dann gilt fur e := (1, 1, . . . , 1) ∈ Rs:

R(z) = 1 + zb⊤ (Ids − zA)−1e, z ∈ {ζ ∈ C | 1/ζ 6∈ σ(A)} (3.19)

(ii) Fur s-stufige explizite Runge-Kutta-Verfahren ist R ein Polynom vom Grad ≤ s.

(iii) R ist stetig bei z = 0, und es gilt R(z) = 1 + z + O(|z|2), z → 0.

(iv) Ist das Runge-Kutta-Verfahren ein Verfahren mit Konsistenzordnung p ∈ N, so ist

R(z) = ez + O(|z|p+1), z → 0.

Beweis: Betrachte die Inkrementfunktion Φ(t, y, h), die vom RK-Verfahren definiert wird. DieStufen ki erfullen das Gleichungssystem

ki = f(t + cih, y +s∑

j=1

aijhkj), i = 1, . . . , s.

Im vorliegenden Fall f(t, y) = λy ergibt sich durch Multiplikation der Gleichungen mit h daslineare Gleichungssystem

hki = λhy +

s∑

j=1

aij(λh)hkj , i = 1, . . . , s.

Wir setzen nun ki := hki und schreiben k ∈ Rs fur den Vektor mit Komponenten ki, i =1, . . . , s,. Mit e = (1, 1, . . . , 1)⊤ ∈ Rs sowie z = λh ist dann das lineare Gleichungssystemgegeben durch

(Ids − zA) k = yze.

Somit ergibt sichk = yz (Ids − zA)−1

e.

7R ist eine rationale Funktion, falls es Polynome P , Q gibt, so daß R(z) = P (z)/Q(z).

48

Page 15: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

Ein Schritt des RK-Verfahrens

y = y + hΦ(t, y, h) = y +

s∑

i=1

biki

kann damit geschrieben werden als

y = y + yzb⊤ (Ids − zA)−1e =

(1 + zb⊤ (Ids − zA)−1

e)y,

falls 1/z nicht einer der Eigenwerte von A ist. Somit hat R die in (3.19) angegebene Form.Die Funktion R ist eine rationale Funktion, was mithilfe der Cramerschen8 Regel eingesehenwerden kann (Ubung).Wir beweisen nun die weiteren Aussagen des Lemmas:Beweis von (ii): Fur den Fall von expliziten RK-Verfahren kann man einfacher durch Induktion sehen, daß dieFunktion R ein Polynom vom Grad s ist (Ubung).Beweis von (iii): Die Stetigkeit von R bei z = 0 folgt aus der Darstellung. Fur die Beziehung R(z) = 1 + z +O(|z|2) nutzen wir die Neumannsche Reihe fur hinreichend kleine |z| aus: Ist |z| so klein, daß ‖zA‖2 ≤ q < 1,so gilt

(Ids − zA)−1 =

∞∑

i=0

(zA)i = Ids +

∞∑

i=1

(zA)i =: Ids + B(z),

und wir konnen B(z) abschatzen durch

‖B(z)‖2 =

∥∥∥∥∥

∞∑

i=1

(zA)i

∥∥∥∥∥2

∞∑

i=1

‖zA‖i2 ≤ |z|

‖A‖2

1 − ‖zA‖2≤ |z|

‖A‖2

1 − q.

Damit ergibt sich

R(z) = 1 + zb⊤ ( Ids − zA)−1

e = 1 + zb⊤ ( Ids + B(z)) e = 1 + zb⊤e + zb⊤B(z)e;

nutzen wir nun 1 =∑s

i=1 bi = b⊤e und |b⊤B(z)e| ≤ ‖b‖2 ‖B(z)‖2 ‖e‖2 aus, so erhalten wir

R(z) = 1 + z + zb⊤B(z)e, |b⊤B(z)e| ≤ ‖b‖2 ‖e‖2‖A‖2

1 − q|z| fur |z| ≤ q/‖A‖2.

Dies ist gerade die gewunschte Aussage. finis 8.DSBeweis von (iv): Nach Annahme ist das RK-Verfahren ein Verfahren der Ordnung p. Damit folgt insbesonderefur die Wahl λ = −1, t0 = 0, y0 = 1, daß es ein C > 0 gibt, so daß der Konsistenzfehler τ(h) beschrankt istdurch |τ(h)| ≤ Chp+1. Weiter folgt aus der Definition von τ und z = −h, daß τ(h) = e−h − R(−h). Damiterhalten wir fur z < 0 hinreichend klein

|ez − R(z)| = |τ(−z)| ≤ C|z|p+1. (3.20)

Wir wollen nun aus dieser Abschatzung die Bedingung z < 0 entfernen. Hierzu beobachten wir, daß die Funktion

f(z) := ez − R(z)

bei z = 0 eine Taylorentwicklung bis zur Ordnung p hat:

f(z) =

p∑

n=0

fnzn + Rp(z), fn :=1

n!f (n)(0),

wobei |Rp(z)| ≤ CR,p|z|p+1 fur alle z ∈ R hinreichend nahe bei 0; die Konstante CR,p > 0 hangt nur von R und

p ab. Die Aussage (3.20) gilt fur alle z hinreichend klein (unabhangig vom Vorzeichen von z), falls wir fn = 0

8Gabriel Cramer, 1704-1752, Genfer Mathematiker

49

Page 16: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

fur 0 ≤ n ≤ p zeigen konnen. Wir zeigen dies durch Widerspruch. Sei n ∈ {0, . . . , p} der kleinste Index mitfn 6= 0. Dann ergibt sich nun aus der Abschatzung fur R und (3.20) fur z < 0:

C|z|p+1 ≥ |ez − R(z)| = |f(z)| = |fnzn +

p∑

ν=n+1

fνzν + Rp(z)| ≥ |fn| |z|n −

p∑

ν=n+1

|fν | |z|ν + CR,p|z|

p+1

≥ |fn| |z|n − C|z|n+1

fur geeignetes C > 0. Division durch |z|n ergibt

C|z|p+1−n ≥ |fn| − C|z|

fur alle hinreichend kleine |z|. Laßt man nun z → 0−, so ergibt sich fur 0 ≤ n ≤ p ein Widerspruch, denn

|fn| > 0 nach Annahme. Also gilt fn = 0 fur 0 ≤ n ≤ p.

Fur konstante Schrittweite h ist damit bei RK-Verfahren fur (3.16) die Losung yi wie bereitsin (3.18) gesagt geschlossen darstellbar und hat die Form

yi = (R(z))i y0, i = 0, 1, . . . .

Fur Reλ < 0 gilt fur die exakte Losung y(t) = eλty0, daß y(t) → 0 fur t → ∞. Man fordertdeshalb von einem stabilen Verfahren, daß diese qualitative Eigenschaft ebenfalls erfullt ist.Offensichtlich ist das nur gegeben, wenn |R(z)| < 1 gilt. Wir definieren deshalb mit Dahlquist9:

Definition 3.17 (Stabilitatsgebiet von Einschrittverfahren, A-Stabilitat). Die in (3.19) definierteFunktion R heißt die zu dem RK-Verfahren gehorige Stabilitatsfunktion. Sie ist eine rationaleFunktion, die auf C (mit Ausnahme hochstens endlich vieler Pole) definiert ist. Die Menge

S := {z ∈ C | |R(z)| ≤ 1}

heißt das Stabilitatsgebiet des Runge-Kutta-Verfahrens. Setzt man

C− := {z ∈ C |Rez ≤ 0}, (3.21)

so heißt ein RK-Verfahren A-stabil, falls sein Stabilitatsgebiet S die Bedingung C− ⊂ S erfullt.

Der folgende Satz zeigt, daß kein explizites RK-Verfahren A-stabil sein kann; um A-Stabilitatzu erhalten, mussen deshalb implizite Verfahren eingesetzt werden.

Satz 3.18. Es gilt:

(i) Kein explizites RK-Verfahren ist A-stabil.

(ii) Fur jedes RK-Vefahren ist 0 ∈ ∂S.

(iii) Sei ein implizites s-stufiges RK-Verfahren gegeben mit Tableau

c A

b⊤

9Dahlquist, Germund, 1925–2005

50

Page 17: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

fur c, b ∈ Rs, A ∈ Rs×s. Falls A invertierbar ist und der Koeffizientenvektor b⊤ gleicheiner Zeile von A ist (d.h. fur ein j ∈ {1, . . . , s} gilt bi = aji, i = 1, . . . , s), dann erfulltdie Stabilitatsfunktion R des Verfahrens die Abschatzung

|R(z)| ≤ C1

|z| + 1, ∀z ∈ C mit |z| ≥ r0,

fur ein C und ein r0 ≥ 0, welche nur von A−1, b abhangen. Das Verfahren ist damitL-stabil (siehe Def. 3.23).

Beweis: Beweis von (i): In Satz 3.16 haben wir gesehen, daß die Stabilitatsfunktion jedesexpliziten s-stufigen RK-Verfahrens ein Polynom vom Grad ≤ s ist. Nehmen wir an, daß dasVerfahren A-stabil ist. Dann folgt

lim supz→−∞

|R(z)| ≤ 1.

Weil R ein Polynom ist, impliziert dies, daß R konstant ist. Aus Satz 3.16, (iii) folgt R(z) =1 + z + O(|z|2) fur z → 0. Damit kann aber R nicht die konstante Funktion sein.Beweis von (ii): Nach Satz 3.16, (iii) gilt fur RK-Verfahren R(z) = 1 + z + O(|z|2). Damit istfur ε > 0 hinreichend klein |R(ε)| > 1 und |R(−ε)| < 1. Mithin ist 0 ∈ ∂S.Beweis von (iii): Die Annahme, daß b⊤ mit einer Zeile (sagen wir: der j-ten) von A ubereinstimmt,impliziert

b⊤ = e⊤j A, (3.22)

wobei ej ∈ Rs der j-te Einheitsvektor ist. Weiter verwenden wir wieder die Darstellung von Raus (3.19) sowie die Neumannsche Reihe:

R(z) = 1 + zb⊤ (Ids − zA)−1e = 1 + b⊤

(1

zIds −A

)−1

e = 1 − b⊤A−1

(Ids −

1

zA

)−1

e

= 1 − b⊤A−1

(Ids −

1

zA

)−1

e = 1 − b⊤A−1

(Ids +

1

zA−1 + · · ·

)e

= 1 − b⊤A−1e + O(1/|z|), z → ∞.

(Ubung: Uberlegen Sie sich eine explizite Abschatzung fur die Funktion, die sich hinter derO(·)-Notation verbirgt—vgl. den Beweis von Satz 3.16, (iii)). Weiter erhalten wir wegen (3.22)b⊤A−1e = e⊤j e = 1 und somit die gewunschte Aussage

R(z) = O(1/|z|), z → ∞.

Bemerkung 3.19 (A(α)-Stabilitat). Der Begriff der A-Stabilitat kann zum Begriff der A(α)-Stabilitat verall-gemeinert werden. Fur α > 0 heißt ein RK-Verfahren A(α) stabil, wenn sein Stabilitatsgebiet S die Bedingung

C(α) ⊂ S, C(α) = {reiϕ ∈ C | r > 0, ϕ ∈ (π − α, π + α)}

erfullt. Genau wie im Satz 3.18 kann man beweisen, daß es fur jedes α ∈ (0, π/2) kein explizites RK-Verfahrengibt, das A(α)-stabil ist.

51

Page 18: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

−5 −4 −3 −2 −1 0−3

−2

−1

0

1

2

3

stabil

instabil

Stabilitaetsgebiet von expl. Euler

−1 0 1 2 3−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

stabil instabil

Stabilitaetsgebiet von impl. Euler

−5 −4 −3 −2 −1 0−3

−2

−1

0

1

2

3

stabil

instabil

Stabilitaetsgebiet von RK4

−1 0 1 2 3−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

stabil instabil

Stabilitaetsgebiet der impliziten Mittelpunktsregel

Figur 3.4: Stabilitatsgebiete fur explizites Eulerverfahren, implizites Eulerverfahren, RK4 undimplizite Mittelpunktsregel.

Beispiel 3.20 (Stabilitatsgebiete von Euler- und RK4-Verfahren). Die StabilitatsfunktionenReE , RiE , RRK4 des expliziten, des impliziten Eulerverfahren, sowie der impliziten Mittelpunk-tsregel RiM und des RK4-Verfahrens sind gegeben durch (Ubung: man rechne dies nach!)

ReE(z) = 1 + z, RiE(z) =1

1 − z,

RiM(z) =1 + z/2

1 − z/2, RRK4(z) = 1 + z +

1

2z2 +

1

6z3 +

1

24z4.

Die entsprechenden Stabilitatsgebiete sind in Fig. 3.4 angegeben. Man sieht, daß das im-plizite Eulerverfahren und der impliziten Mittelpunktsregel A-stabil sind. Man sieht an denStabilitatsfunktionen auch die Eigenschaft (iv), welche besagt, daß die Stabilitatsfunktion furz → 0 eine gute Approximation an die Exponentialfunktion liefern muß. Weiter sieht man, daßstets — wie in Satz 3.18, (ii) gezeigt — der Ursprung am Rand des Stabilitatsgebietes liegt,d.h. 0 ∈ ∂S.

52

Page 19: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

3.2.3 Stabilitat: weitere Beispiele

Numerische Schwierigkeiten mit expliziten Verfahren treten auch bei komplizierteren Differen-tialgleichungen auf als bei der Modelgleichung (3.16). Wir wollen die Leistungsfahigkeit selbsteines so einfachen Verfahrens wie des impliziten Eulerverfahrens anhand der folgenden beidenBeispiele demonstrieren:

Beispiel 3.21. Zur numerischen Berechnung der Losung des Anfangswertproblems

y′(t) = λ (y − cos t) , y(0) = 0, λ = −20,

wird das implizite mit dem expliziten Eulerverfahren verglichen. In Fig. 3.5 wird die numerischeLosung fur h = 0.1001 und h = 0.01 gezeigt. Wahrend bereits fur h = 0.1001 das impliziteEulerverfahren die gesuchte Losung (bis auf eine kleine Umgebung von t = 0) gut approximiert,versagt das explizite Eulerverfahren vollig (beachte: |λh| > 2). Erst fur h = 0.01 ist z = λh imStabilitatsbereich des expliziten Eulerverfahrens, und die numerische Losung approximiert diegesuchte exakte Losung gut.

Beispiel 3.22 (Robertson’s Beispiel). Ein oft studiertes Beispiel ist die folgende System vondrei Differentialgleichungen, welches gekoppelte chemische Reaktionen simuliert:

y′1 = −0.04y1 + 104y2y3

y′2 = 0.04y1 − 104y2y3 − 3 · 107y2

2

y′3 = 3 · 107y2

2

(3.23)

mit den Anfangsbedingungen y1(0) = 1.0, y2(0) = y3(0) = 0. Wir betrachten die Komponentey2 der Losung. Sie wachst bei t = 0 extrem schnell auf den eine Wert ≈ 3.7 · 10−5 (vgl. denLosungsplot in Fig. 3.7 unten links) und klingt dann langsam wieder ab. Bei t = 0.3 ist der“exakte” Wert y2(0.3) = 3.074626578578934 · 10−5.Wir vergleichen zuerst das Verhalten des expliziten mit dem des impliziten Eulerverfahrens.In Tabelle 3.1 wird der relative Fehler der beiden Eulerverfahren bei T = 0.3 fur verschiedeneWerte von (uniformen) Schrittweiten h gezeigt. Wahrend das implizite Eulerverfahren auch fur“große” Werte von h bereits gute Ergebnisse liefert (h = 0.1 entspricht 3 Schritten!), liefert dasexplizite Eulerverfahren erst gute Ergebnisse, wenn die Schrittweite sehr klein ist (fur h = 0.1und h = 0.01 versagt es vollstandig). In Fig. 3.6 wird ein Funktionsplot von implizitem undexpliziten Eulerverfahren gezeigt, der das Versagen des expliziten Eulerverfahrens illustriert.In Fig. 3.7 wird auch das Verhalten des adaptiven Algorithmus 2.23 fur dieses Anfangswertprob-lem gezeigt. Die Inkrementfunktion Φ ist das klassische RK4-Verfahren (weitere Parameter:hmin = 0.0, ρ = 0.8). In Fig. 3.7 wird fur die Toleranzen τ = 10−2 und τ = 10−5 ein Funk-tionsplot von y2 sowie die gewahlten Schrittweiten gezeigt. Man erkennt, daß fur τ = 10−2 derFehler groß bleibt, obwohl bereits 129 Schritte gemacht werden mußten. Mit der stringenterenToleranz τ = 10−5 ist eine Verbesserung eingetreten, die in erster Linie darauf beruht, daßder “transiente” Teil (der Bereich fur sehr kleine t) durch einige extrem kleine Schritte besseraufgelost wurde. Wir beobachten in Fig. 3.7 auch, daß die Schrittweiten “oszillieren”, was aufzahlreiche step rejects und damit Ineffizienz (unnotige Funktionsauswertungen) hinweist.

53

Page 20: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

0 1 2 3 4 5 6 7−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

t

Explizites Eulerverf., f(t,y) = −20*(y − cos(t)), h= 0.1001

Expl. EulerExakte Lsg

0 1 2 3 4 5 6 7−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

Implizites Eulerverf., f(t,y) = −20*(y − cos(t)), h= 0.1001

Impl. EulerExakte Lsg

0 1 2 3 4 5 6 7−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

Explizites Eulerverf., f(t,y) = −20*(y − cos(t)), h= 0.01

Expl. EulerExakte Lsg

0 1 2 3 4 5 6 7−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t

Implizites Eulerverf., f(t,y) = −20*(y − cos(t)), h= 0.01

Impl. EulerExakte Lsg

Figur 3.5: (vgl. Beispiel 3.21)

54

Page 21: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

h 10−1 10−2 10−3 10−4 10−5

expl. Euler 2.0E+14 NaN 5.E-1 1.1E-6 1.1E-7impl. Euler 1.0E-3 1.0E-4 1.0E-5 1.1E-6 1.1E-7

Tabelle 3.1: (vgl. Beispiel 3.22) Relative Fehler von explizitem und implizitem Eulerverfahrenbei Bestimmung von y2(0.3).

0 0.05 0.1 0.15 0.2 0.25 0.30

1

2

3

4

5x 10

−5 impl. Euler, h = 0.01

t

y 2

0 0.05 0.1 0.15 0.2 0.25 0.30

1

2

3

4

5x 10

−5

t

y 2

expl. Euler, h = 0.001

Figur 3.6: (vgl. Beispiel 3.22) Funktionsplots fur implizites (h = 0.01) und explizites (h =0.001) Eulerverfahren.

3.2.4 Weitere Stabilitatsbegriffe

Der Begriff der A-Stabilitat ist faßt die Forderung, die Eigenschaft, daß Losungen des Mod-ellproblems (3.16) fur Reλ < 0 beschrankt bleiben (fur t → ∞), vom numerischen Verfahrenerfullt werden. Fur Reλ < 0 gilt sogar, daß die Losung gegen Null strebt fur t → 0. Willman diese Eigenschaft fur ein numerisches Verfahren vererben, so wird man sinnvollerweisefordern, daß fur Reλ < 0 und große Schritte h die numerische Approximation klein ist, daßalso fur h → ∞ die numerische Approximation gegen Null konvergiert. Dies bedeutet furRK-Verfahren, daß die Stabilitatsfunktion R die Bedingung limz→−∞ R(z) = 0 erfullen soll.Da die Stabilitatsfunktionen R nach Satz 3.16 rationale Funktionen sind, ist diese Forderunggleichbedeutend mit lim|z|→∞ R(z) = 0.Diese Bedingungen stellen wir im Begriff der L-Stabilitat zusammen:

Definition 3.23 (L-Stabilitat). Ein A-stabiles RK-Verfahren heißt L-stabil, falls die Sta-bilitatsfunktion R die Bedingung lim|z|→∞ R(z) = 0 erfullt.

Bemerkung 3.24. Analog zum Begriff der A(α)-Stabilitat kann man L(α)-Stabilitat einfuhren: Ein A(α)-stabiles RK-Verfahren heißt L(α)-stabil, wenn lim|z|→∞ R(z) = 0.

Viele wichtige implizite RK-Verfahren sind A- und L-stabil:

Satz 3.25 (Stabilitat von Gauß- und Radau-Verfahren). Die Gaußverfahren sind A-stabil.Die Radau-Verfahren bei denen cs = 1 sind L-stabil.

55

Page 22: 3 Verfahren fu¨r steife Differentialgleichungen 3.1 Implizite Runge-Kutta …melenk/teach/num_DGL_SS10/... · 2011-06-22 · 3.1 Implizite Runge-Kutta-Verfahren Im Tableau von expliziten

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35−2

0

2

4x 10

−5 adapt. RK4; τ = 0.01, steps = 129, step rejects = 76

t0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

10−4

10−3

10−2

t

Sch

rittw

eite

adaptives RK4; τ = 0.01

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

0.5

1

1.5

2

2.5

3

3.5

4x 10

−5 adapt. RK4; τ = 1e−05, steps = 146, step rejects = 71

t0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

10−5

10−4

10−3

10−2

t

Sch

rittw

eite

adaptives RK4; τ = 1e−05

Figur 3.7: (vgl. Beispiel 3.22) RK4-Verfahren mit Schrittweitensteuerung fur τ = 10−2 (oben)und τ = 10−5 (unten). Gezeigt wird der Funktionsplot fur y2 (links) und die Schrittweitenwahl(rechts).

Beweis: Siehe z.B. [1, Abschnitt 6.3.2].

Das implizite Eulerverfahren ist ein einstufiges Radau-Verfahren und somit L-stabil. Die im-plizite Mittelpunktsregel ist das einstufiges Gauß-Verfahren und somit A-stabil. Diese Aussageerhalten wir naturlich auch durch direkte Betrachtung der Stabilitatsfunktionen (vgl. Beispiel 3.20).

Bemerkung 3.26 (B-Stabilitat). Ein weiterer Stabilitatsbegriff ist der der B-Stabilitat. Nichtexpansive ODEshaben die Eigenschaft, daß

|yt0,y0(t) − yt0,y′

0(t)| ≤ |y0 − y′

0| ∀t > t0.

RK-Verfahren, die diese Eigenschaft mit ODE teilen, heißt B-stabil. Man kann zeigen, daß die Gauß- und Radau-Verfahren (mit cs = 1) B-stabil sind und daß B-stabile RK-Verfahren A-stabil sind. Fur weiteres verweisen wirauf [1, Abschnitt 6.3.2].

finis 9.DS

56