Mathematik f¨ur Informatiker III
Mathematik f¨ur Informatiker III
Andreas Griewank
(griewank@math.hu-berlin.de) Wiss. Mitarbeiter:
Jan Riehme (riehme@math.hu-berlin.de) Stefan K¨orkel (skoerkel@math.hu-berlin.de)
Julia Sternberg (jstern@math.hu-berlin.de)
Institut f¨ur Angewandte Mathematik Humboldt Universit¨at zu Berlin
9. M¨arz 2006
– 1–
Mathematik f¨ur Informatiker III
Teil D
Differentialgleichungen mit Numerik
Vorl¨aufige Gliederung 1.Numerik im ¨Uberblick
2.Gleitkommadarstellung und -arithmetik 3.L¨osung (nicht-)linearer Gleichungssysteme 4.Gew¨ohnliche Differentialgleichungen (=ODE) 5.Euler Verfahren f¨ur Systeme von ODEs 6.Interpolation mit Polynomen und Splines 7.Quadraturen = Numerische Integration 8.Randwertprobleme und Schwingende Seite
I
Ubung zu 1-3 abzugeben am 8.11 ¨
I
Ubung zu 4-6 abzugeben am 22.11. ¨
– 2–
Mathematik f¨ur Informatiker III
Literaturhinweise I
Peter Hartmann,
Mathematik f¨ur Informatiker. 3. ¨uberarbeitete Auflage, 2004, Vieweg.
Bei Lehmann’s vorhanden, ca. 30e.
Gute Grundlage, ¨ausserst lesbar, ISBN: 3-528-23181-5 Guerino Mazzola, G´erard Milmeister, Jody Weissmann, Comprehensive Mathematics for Computer Scientists 1, 2004, Springer.
Ziemlich axiomatisch und knapp geschrieben. Zweiter Band in Vorbereitung. Definitiv f¨ur h¨ohere Anspr¨uche. Begleitender Kurs im Internet verf¨ugbar. ca 30e, ISBN: 3-540-20835-6
Gerhard Opfer,
Numerische Mathematik f¨ur Anf¨anger. Eine Einf¨uhrung f¨ur Mathematiker, Ingenieure und Informatiker. 4. durchgesehene Auflage, 2002, Vieweg
– 3–
Mathematik f¨ur Informatiker III
Literaturhinweise II
Hans-G¨org Roos, Hubert Schwetlick,
Numerische Mathematik. Das Grundwissen f¨ur jedermann.
Mathematik f¨ur Ingenieure und Naturwissenschaftler. 1999, Teubner Friedrich Stummel, Karl Hainer,
Praktische Mathematik. 1982, Teubner J.M. Ortega, W.C. Rheinboldt,
Iterative solution of nonlinear equations in several variables. 1970 Academic Press, Inc.
Josef Stoer,
Numerische Mathematik 1. Eine Einf¨uhrung - unter
Ber¨ucksichtigung von Vorlesungen von F.L. Bauer. 7. neubearbeitete und erweiterte Auflage, 1994, Springer.
– 4–
Mathematik f¨ur Informatiker III
Numerik im ¨Uberblick – Was ist, was will ’Numerik’
D - 1 Numerik im ¨ Uberblick – Was ist, was will ’Numerik’
Ausgangsdilemma
Die Modellierung natur- oder sozialwissenschaftlicher Zusammenh¨ange bzw ’Systeme’ f¨uhrt zu mathematischen ’Gleichungen’, die nur in ganz einfachen F¨allen per Hand oder sonstwie ’exakt’ gel¨ost werden k¨onnen.
Zum Beispiel k¨onnen schon bei der unbestimmten IntegrationMapleund Mathematicanur in speziellen Ausnahmef¨allen eine L¨osung als Formel angeben.
Es l¨asst sich sogar zeigen, dass eine solche ’symbolische’ L¨osung im Regelfall garnicht existiert.
– 5–
Mathematik f¨ur Informatiker III
Numerik im ¨Uberblick – Was ist, was will ’Numerik’
Praktischer Ausweg
Die mathematischen Gleichungen werden in Computerprogramme umgesetzt und, wenn es sich dabei um Differentialgleichungen handelt
’diskretisiert’.
Die resultierenden Systeme linearer oder nichtlinearer algebraischer Gleichungen werden dann ann¨aherungsweise ¨uber dem Raster(=Screen) der Gleitkommazahlen gel¨ost
Die Ergebnisse werden ausgedruckt oder besser graphisch dargstellt.
– 6–
Mathematik f¨ur Informatiker III
Numerik im ¨Uberblick – Was ist, was will ’Numerik’
Stufen des ’Wissenschaftlichen Rechnens’
(i)Modellierung ( des Anwendungssystems )
(ii)Diskretisierung ( von Differentialgleichungen )
(iii)Dateneingabe ( f¨ur aktuelle Situation )
(iv)L¨osung ( durch Gleitkomma-Algorithmen )
(v)Datenausgabe ( in geeigneter Form )
Eventuell k¨onnen (iii) - (v) auch innerhalb einer Wiederholungsanweisung (Schleife, Schlaufe) ausgef¨uhrt werden (z.B. wenn die Ausgabe zur Echtzeitsteuerung eines System dient).
– 7–
Mathematik f¨ur Informatiker III
Numerik im ¨Uberblick – Was ist, was will ’Numerik’
Numerische Grundaufgaben und ihre L¨osbarkeit
Numerische Grundaufgaben und ihre L¨osbarkeit
Lineare algebraische Gleichungssysteme
Im Prinzip v¨ollig im Griff. Variablenzahl jeweils durch Speichergr¨osse und Prozessorzahl und -geschwindigkeit beschr¨ankt.
Nichtlineare algebraische Gleichungssysteme
Lokal, d.h. bei vorhandener guter Anfangsn¨aherung: wie linearer Fall.
Global: beliebig schwierig und eventuell unl¨osbar.
Anfangswertaufgaben f¨ur ODEs
Im Prinzip v¨ollig im Griff unabh¨angig von Linearit¨at.
Randwertaufgaben f¨ur ODEs
Standarddiskretisierung f¨uhrt auf lineare bzw nichtlineare algebraische Gleichungen und ist entsprechend l¨osbar.
Partielle Differentialgleichungen PDE
Nur im elliptischen Fall schnell l¨osbar, alles andere ist Forschungsgebiet und st¨osst jeweils an die Grenzen vorhandener Rechnerkapazit¨aten.
– 8–
Mathematik f¨ur Informatiker III
Numerik im ¨Uberblick – Was ist, was will ’Numerik’
Numerische Grundaufgaben und ihre L¨osbarkeit
Warnung
Alles wird beliebig viel schwieriger wenn
Ieinige Variablen ganzzahlig sein m¨ussen und / oder
Idie L¨osung gegebenen Ungleichungen gen¨ugen muss wie in der Optimierung ¨ublich.
– 9–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
D - 2 Gleitkommadarstellung und -arithmetik
Ein System von Gleitkommazahlen wird definiert durch:
IBasis (oder Radix)b(= ¨ublicherweise 2)
IMantissenl¨angel
IMinimaler Exponentemin IMaximaler Exponentemax
Teilmenge der reellen Zahlen
Rmit Darstellung
x= −1s0.m1m2· · ·ml
| {z }
Mantissem
be∼ −1s
m1be−1+m2be−2+m3be−3+. . .+mlbe−l
Vorzeichenbit
s, Mantissem, Exponentes∈
0,1 mi ∈ {0,1, . . . ,b−1} e∈ {emin,emin+ 1, . . . ,emax}
– 10–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Bin¨ardarstellung, d.h. Basis
b= 2
ist die am h¨aufigsten verwendete Basis von Gleitkommazahlen Auchb= 10 wird zuweilen in Hardware verwendet.
Arten von Gleitkommazahlen
Inormalisierte Gleitpunktzahl:
m1 >0 =⇒ 1 b ≤m ≤
x b−e <1
x=±0.m1m2m3· · ·ml·bewithm1>0 =⇒eindeutige Darstellung
Iunnormalisiert:m1= 0 zugelassen =⇒ keine Eindeutigkeit
Idenormalisiert:m1 = 0,e =emin
Vorsicht:
Rechnen mit denormalisierten Zahlen f¨uhrt zu verst¨arkten
Rundungseffekten. – 11–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Betragsm¨assig kleinste normalisierte Zahl
TINY TINY= 0.1·bemin=bemin−1Betragsm¨assig gr¨oßte normalisierte Zahl
HUGEHUGE= 0.(b−1)(b−1)(b−1). . .(b−1). . .bemax=bemax(1−b−l)
Epsilon (relative Maschinengenauigkeit)
εist die kleinste Zahlεf¨ur die 1 +εin Gleitkommaarithmetik nicht 1 ergibt, d.h.ε≈b−l
Merke:
IMantissenl¨angelbestimmt die Rechengenauigkeit.
IExponentenbereichemax−eminbestimmt den Wertebereich.
– 12–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Beispiel D.1 (Gleitpunktzahlsystem mit Basis 2 und Mantissenl¨ange 3)
PSfrag replacements
x= 0.m1m2m32e Exponentenbereich−1≤e≤1 Normalisierte positive Zahlen: m1= 1, m2∈ {0,1} 3m3
Denormalisierte positive Zahlen: m1= 0, e=−1, m2∈ {0,1} 3m3
v5=v3∗v4
0
denormalisiert TINY=14, HUGE=74, EPSILON=18 1
e −1−1−1−1−1−1−1−1 m1
m2
m3
1 16
1 8 3
16 1 4 5 16 3
8 7 16 1
2 5 8
3
4 7
8 1 54 32 74
0 0 0 0
0 0 0 0 0
0 0 0
0 0 0 0 0
0 0 0
0
0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1
1 1 1
1 1 1 1 1
1 1 1
1 1 1 1
-1
– 13–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Beispiel D.2 (Einfache genaue Gleitkommazahlen im Salford Fortran 95 Compiler)
b= 2, l= 24, emin=−125, emax= 128 HUGE ≈ 2128 = 21012.8
≈ 10312.8
≈ 1038 TINY ≈ 2−125−1 = 210−12.6
≈ (103)−12.6 ≈ 10−38 Epsilon ≈ 2−24 = 210−2.4
≈ 103−2.4
≈ 10−7
Folgerung D.3
Bei Verwendung der Gleitkommazahlen des Salford Fortran 95 Compilers in Standardgenauigkeit wird mit etwasieben signifikanten
Dezimalstellengerechnet.
– 14–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Gleitpunktoperationen
Gleitpunktoperationen
Bemerkenswert
( 1.0 / 8.0 ) * 8.0=1.0 ( 1.0 / 5.0 ) * 5.06=1.0
Konsequenz
Gleitpunktoperationen st¨oren normale algebraische Rechenregeln, insbesondere Distributivit¨at:
Im Allgemeinen gilt (a+b)∗c6=a∗c+b∗c.
Man muss sich also ¨uber die Reihenfolge der Anwendung von Operationen Gedanken machen.
– 15–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Gleitpunktoperationen
Allgemein g¨ultiger Standard: ANSI - IEEE 754
(ANSI→American National Standards Institute und IEEE→Institute of Electrical and Electronics Egineering.)
Grundideen:
(i)Alle Zwischenergebnisse werden zur n¨achsten Gleitpunktzahl gerundet.
(ii)The show must go on. Auch bei Fehlern wird weiter gerechnet.
– 16–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Zu Grundidee (i) – Rundung von Zwischenergebnissen
Zu Grundidee (i) – Rundung von Zwischenergebnissen
Auch wennxundyim Gleitpunktbereich liegen, gilt dies im Allgemeinen nicht f¨ur das Ergebnisx◦y, wobei◦ ∈ {−,+,·, /}. Dann wirdx◦y zun¨achst mit erh¨ohter Genauigkeit berechnet und anschließend zur n¨achstliegenden Gleitpunktzahl gerundet.
Rundungsarten
∇(x◦y) nach unten gerundet
(gr¨oßte untere Schranke im Gleitpunktbereich)
∆(x◦y) nach oben gerundet
(kleinste obere Schranke im Gleitpunktbereich)
Verh¨altnis der Rundung nach oben und unten
Fallsegemeinsamer Exponent von ∆(x◦y) und∇(x◦y) ist, dann gilt
∆(x◦y) − ∇(x◦y) ≤2−l2e≤2−l2· |x◦y|, da|x◦y| ≥122e
q q
0.m·2e 0.˜m·2e
– 17–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Zu Grundidee (i) – Rundung von Zwischenergebnissen
Bezeichnet man also mit(x◦y)∈ {∇(x◦y),∆(x◦y)}die Gleitpunktzahl, die am n¨achsten zux◦yliegt, so gilt
|(x◦y)−x◦y| ≤ 12|∆(x◦y)− ∇(x◦y)| ≤2−l|x◦y| ≤ eps· |x◦y| wobeieps= 2−ldie relative Maschinengenauigkeit ist.
Alternative Schreibweise:
fl(x◦y) = (x◦y)∗(1 +ε), wobei |ε| ≤eps.
fl(x◦y) bezeichnet das in Gleitpunktarithmetik erzielte Ergebnis f¨ur x◦y.
Konsequenz f¨ur relativen Fehler:
fl(x◦y)−(x◦y) x◦y
≤ |ε| ≤eps
– 18–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Zu Grundidee (i) – Rundung von Zwischenergebnissen
Warnung:
Rundungsfehler entstehen in (fast) jeder einzelnen Operation und pflanzen sich fort.
Algorithmen (z.B. zur Matrixfaktorisierung) m¨ussen deswegen auf ihre Stabilit¨at, d.h. die Verst¨arkung oder Abd¨ampfung von Rundungsfehlern, untersucht werden.
Beispiel D.4
Gausssche Elimination ohne Pivotierung ist extrem instabil.
Gauss mit Pivotierung ist dagegen recht stabil.
– 19–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Zu Grundidee (i) – Rundung von Zwischenergebnissen
Frage
Was passiert, wennx◦yaußerhalb des Wertebereichs[-HUGE, HUGE]
liegt, d.h. entweder∇(x◦y) oder ∆(x◦y) nicht existiert?
Beispiel D.5 (Programm) REAL u,s,t
s = TINY(u)**2 ! ergibt 0
t = HUGE(u)*8 ! ergibt INF, signalisiert OVERFLOW
– 20–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Zu Grundidee (ii) – Fortsetzung der Berechnung trotz Fehlers
Zu Grundidee (ii) – Fortsetzung der Berechnung trotz Fehlers
MitINFund-INFkann (soweit es geht)normalweiter gerechnet werden, ohne dass sich je wieder normale Zahlen ergeben.
(Einige) Rechenregeln
x + INF == INF f¨ur allex6=-INF x * INF == sign(x) * INF f¨urx6=0 x / 0 == sign(x) * INF f¨urx6=0 wobeisign(x)das Vorzeichen von x liefert.
Undefinierte Operationen wie0/0,INF/INF,INF-INFund0*INF ergeben den sehr speziellen WertNaN≈Not a Number.
Da einNaNnicht mit sich selbst oder etwas anderem verglichen werden kann, gilt
x 6=x .EQUIV. .TRUE.
genau dann wennxeinNaNist.
– 21–
Mathematik f¨ur Informatiker III Gleitkommadarstellung und -arithmetik
Zu Grundidee (ii) – Fortsetzung der Berechnung trotz Fehlers
Infektionsprinzip:
Wenn immer einNaNals Argument oder Operator einer Operation auftritt sind die Ergebnisse wiederumNaNs.
Auf diese Weise wird der gesamte Berechnungszweig als ung¨ultig ausgewiesen.
– 22–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
D - 3 Summation numerischer Reihen Fehlerfortpflanzung
Erinnerung:
fl(x◦y) =x◦y∗(1+ε) mit −eps≤ε≤eps wobei ◦ ∈ {+,−,∗, /}
Prinzip Hoffnung f¨ur komplexe Berechnungen
Da Auf- oder Abrunden mehr oder minder zuf¨allig auftreten hebt sich deren Wirkung (hoffentlich) im Großen und Ganzen auf.
– 23–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Positives Beispiel: Geometrische Reihe:
s= Xn
i=0
xi=1−xn+1
1−x falls x6= 1 .
Einfach genaues Auswertungsprogramm in Fortran 95
INTEGER i,nREAL(KIND=1) x,y,s REAL(KIND=2) check
s = 0 ! Partialsumme
y = 1 !jeweils Potenz von x
DO i = 0, n
s = s+y ; y = y*x END DO
check = x ; eps = EPSILON(x) check = (1-check**(n+1))/(1-check) WRITE(*,*) s,check,s/check-1,n*eps
– 24–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Programm ergibt f¨ur
n= 100 und
x= 2.0/3.0
s check s/check - 1 n * eps 3.0000002 3.00000019 2·10−8 1.2·10−5Beobachtungen
IGleitpunktwert vonxist offenbar gr¨oßer als23(durch Rundung), da beide Summen gr¨oßer als
1 +2 3+
2 3
2
+· · ·+ 2
3 n
= 3 1− 2
3 n+1!
| {z }
≤1
≤3
IDer beobachtete relative Fehler zwischen einfach und doppelt genauer L¨osung ist lediglich 2·10−8, d.h. von der Gr¨oßenordnung der Maschinengenauigkeit, obwohl wir 100 Operationen durchgef¨uhrt haben. Die Rundungen scheinen sich partiell aufgehoben zu haben.
IEine exakte Absch¨atzung f¨ur denworst case(d.h. schlimmster Fall) ergibt den Wert (1 +eps)100≈100·epsals relativen Fehler. Das
l¨asst sich wie folgt herleiten. – 25–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Theoretische Schranke des Fehlers im obigen Programm
F¨uryi+1=fl(yi∗x) als berechneter Wert vonyimi-ten Schritt gilt:y0= 1 y1=x
y2=fl(y1·x) =x2(1 +ε2)
y3=fl(y2·x) =x3(1 +ε2)(1 +ε3) =x3(1 + ˜ε3)2 wobei|˜ε3| ≤eps y4=fl(y3·x) =x4(1 + ˜ε2)2(1 +ε4) =x4(1 + ˜ε4)3
...
yi=xi(1 + ˜εi)i−1 ...
yn=xn(1 + ˜εn)n−1
– 26–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Entsprechend erh¨alt man f¨ur die Partialsummensi+1=fl(si+yi) als berechnete Werte von 1 +x. . .+xi+1
s1=fl(y0+y1) =fl(1 +x) = (1 +x)(1 +εn+1) s2=fl(s1+y2) =fl(s1+y2)(1 +εn+2)
= (1 +x)(1 +εn+1) +x2(1 +ε2) (1 +εn+2)
= (1 +x+x2)(1 + ˜εn+2)2 f¨ur |˜εn+2| ≤eps sn= (1 +x+x2+· · ·+xn)(1 + ˜ε2n)n≤s(1 +ε)n
so dass fallseps1n ⇐⇒ n·eps1
|(sn/s−1)|=|(1 +ε)n|−1 = 1+n·ε+n·(n−1)
2 ε2. . .−1≈n·|ε|≤n·eps
Ergebnis:
Worst case error- Absch¨atzung:
|sn/s−1| ≈n·eps
– 27–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Negatives Beispiel (d.h. Prinzip Hoffnung versagt) : Harmonische Reihe
X∞
i=1
1 i =
∞ (mathematisch, in exakter Arithmetik)
15.403 auf Griewank’s Laptop, in einfacher Genauigkeit (f¨ur alle hinreichend großen Summations-Schranken
= Zahl der Terme)
Frage:
Was passiert?
Antwort:
Die Summation bleibt irgendwannliegen, da die zus¨atzlichen Terme im Vergleich zur berechneten Teilsumme zu klein werden.
– 28–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Erkl¨arung:
BetrachtekleinenSummandenyundgroßenSummanden x= 0.m1m2. . .ml·2eso dassx=x+ 2−l+edie n¨achst gr¨oßere Gleitpunktzahl zuxist undx=x−2−l+eist die n¨achst kleinere Gleitpunktzahl zux.
PSfrag replacements
2e−1 x
2−l+e 2−l+e
2e
x x
Konsequenz:
Falls|y|<122−l+e= 2−l−1+e gilt immer fl(x+y) =x.
Eine hinreichende Bedingung ist:|y| ≤ |x| ·eps.
– 29–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Am Beispiel derharmonischen Reihegilt nach (n−1) Termen:
x=
n−1
X
i=1
1 i &
Zn 1
1 zdz= ln(n).
Also bleibt die Summationliegen(d.h. die Partialsummen wachsen nicht mehr weiter) wenn
|y|=1
n≈ln(n)·eps was auf jeden Fall gilt wenn
n& 1 eps·ln(n)
– 30–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Beispiel D.6 (Programm, das die harmonische Reihe summiert, bis die Partialsummen konstant bleiben:)
REAL(KIND=1) salt,sneu,one
salt = -1 ; sneu = 0 ; one = 1.0 ; n = 1 DO WHILE (sneu6=salt)
salt = sneu sneu = sneu+one/n n = n+1
END DO
WRITE(*,*) sneu,n
Ergebnis auf Griewank’s Laptop
sneu = 15.403. . . n = 2097152≈2·106 Laufzeit ≈ 16Sekunde
D.h. obiger Schleifenk¨orper wird in etwa 107mal pro Sekunden ausgef¨uhrt (entspricht ca. 10 Megaflops, d.h. 10 Millionen Operationen/Sekunde.)
– 31–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Fehlerfortpflanzung
Vergleich zur theoretischen Herleitung
n= 2097152 ergibt ln(n)∗n∗EPSILON(x) = 3.6
Frage:
Was passiert bei Ausf¨uhrung des obigen Programms, wenn statt mit einfacher Genauigkeit (d.h.KIND=1) nun mit doppelt genauen Gleitkommazahlen (d.h.KIND=2) gerechnet wird?
Antwort:
Das Programm l¨auftewig, daeps−1und damit dann auchnum Faktor 253/224≈229≈12109gewachsen ist.
In Sekunden:
1 6·1
2·109s = 108
36·103h = 25·104h = 25.000 Stunden ≈1000 Tage.
– 32–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Rundungsfehlerabsch¨atzung bei Riemann
Rundungsfehlerabsch¨atzung bei Riemann
Verallgemeinerung der harmonischen Reihe:
Riemannsche Zetafunktion
ζ(x) =X∞
k=1
1
kx f¨ur x>1 Konvergenzbeweis mittels Integralschranke
PSfrag replacements X∞
k=1
1 kx ≤1 +
Z∞
1
dy
yx = 1 +y−x+1 1−x
∞ 1
= 1− 1 1−x = x
x−1 1
k−x
– 33–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Rundungsfehlerabsch¨atzung bei Riemann
∆ζn(x) = ζ(x)−ζn(x) = X∞
k−1
k−x− Xn
k=1
k−x
= X∞
k=n+1
k−x ≤ Z∞
n
k−xdk = k1−x 1−x
∞ k=n
= 1
k1−x(1−x)
∞ k=n
= 0− 1
nx−1(1−x) = 1
nx−1(x−1) ≤tol
⇒ n ≥ x−1 s 1
tol(x−1)
– 34–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Rundungsfehlerabsch¨atzung bei Riemann
Partialsummen:
ζn(x) = Pn k=1 1
kx wachsen monoton mitnund sind nach oben durchx−1x beschr¨ankt, haben also einen eindeutigen Grenzwertζ(x).
Praktische Notwendigkeit: Diskretisierung
Hier, wie h¨aufig in numerischer Mathematik muss mathematisches Problem durch Ausf¨uhrung endlich vieler Operationen auf endlich vielen Variablen ann¨aherungsweise gel¨ost werden. Hier einfach Ann¨aherung von ζ(x) durchζn(x). Der entsprechende Abbruchfehler|ζ(x)−ζn(x)|kann hier einfach mit Hilfe einer Integralschranke abgesch¨atzt werden.
Unabh¨angig vom in der Numerischen Analysis betrachteten Diskretisierungsfehlerist der Rundungsfehler zu ber¨ucksichtigen.
– 35–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Rundungsfehlerabsch¨atzung bei Riemann
Rundungsfehlerabsch¨atzung
F¨urbi>0fl . . . b1+b2
+b3
+b4
. . .+bn+1
+bn
= . . . b1+b2
1 +ε1
+b3
1 +ε2
+b4
1 +ε3
. . .+bn
1 +εn−1
= b11 + ˜ε1n−2
+b21 + ˜ε1n−1
+b31 + ˜ε2n−2
+. . .+bn1 + ˜εn−11
=⇒
fl b1+. . .+bn
− b1+b2+. . .+bn
≤ b1
h
1 +epsn−1
−1i +b2
h
1 +epsn−1
−1i
+. . .+bn1 +eps
≈
b1+b2
(n−1) + (n−2)b3+ (n−3)b4+. . .+bn
eps
Mit anderen Worten:
Der an derj+ 1-ten Stelle eingebrachte Summand wird (n−j) -mal in den Operationen von einer Rundung betroffen und tr¨agt entsprechend zur Gesamtfehlerschranke bei.
– 36–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Rundungsfehlerabsch¨atzung bei Riemann
Schlussfolgerung:
Um Rundungsfehler zu minimieren sollten Summen m¨oglichst vom kleinsten zum gr¨oßten Summanden gebildet werden. Bei konvergenten (hoffentlich monoton fallenden) Reihen sollte von hinten, d.h. r¨uckw¨arts summiert werden.
Beispiel D.7 (ζ(2) auf G’s Laptop in einfacher Genauigkeit:)
ζ(2) = X∞
k=1
1 k2≡
π2/6 = 1.6449340. . . exakt
1.6447253 vorw¨arts bis. liegen bleiben n= 4097 1.6446900 r¨uckw¨arts vom gleichen n= 4097 1.6449339 r¨uckw¨arts mit n= 223= 8388608
Bemerkung:
Durch R¨uckw¨artssummation k¨onnen deutlich mehr Summanden der Form 1/k−xmitn>4097 ihren Beitrag zur Gesamtsumme leisten. Mehr Summanden zu benutzten bedeutet aber, denDiskretisierungsfehlerzu verringern und damit den exakten Wertζ(x) besser zu approximieren.
– 37–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Rundungsfehlerabsch¨atzung bei Riemann
Absch¨atzung des Rundungsfehlers Vorw¨arts:
eps Xn
k=1
1
k2(n−k) =eps Xn
k=1
n k2
−1 k
≈eps
nπ2 6 −ln(n)
≈eps·n·π2 6
R¨uckw¨arts:
eps Xn
k=1
1 k2k=eps
Xn
k=1
1
k≈eps·ln(n)
Vergleich:
eps·n·π2
6 eps·ln(n)
– 38–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Konvergenzbeschleunigung (1. Stufe nach Wijngaard)
Konvergenzbeschleunigung (1. Stufe nach Wijngaard)
Beobachtung bei Riemann:
ζ(x) = 1 + 1
2x+· · ·+ 1 100x+ 1
101x+ 1 102x+· · ·
| {z }
sp¨atere Terme ¨andern sich nur langsam
Idee:
Erste grobe Ann¨aherung mitbk= 1 kx
a1=b1+b2·2 +b4·4 +· · ·+ (b2i)·2i > ζ=b1+b2+b3+b4. . . Reihe der 2ib2ikonvergiert viel schneller alsP
bk. Die Korrektur erfolgt durch transformierte Terme
aj= X∞
i=1
bj2i
2i.
– 39–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Konvergenzbeschleunigung (1. Stufe nach Wijngaard)
Satz D.8
Satz: F¨ur bk=k−xoder andere monoton konvergierende Reihen gilt im Grenzwert
X∞
k=1
bk= X∞
j=1
(−1)j−1aj .
Bemerkung
Bemerkung: Die neue Reihe ist alternierend, wobeiaj≥bj, d.h. die einzelnen Terme gehen nicht schneller gegen Null als die der Ursprungsreihe.
– 40–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Konvergenzbeschleunigung (1. Stufe nach Wijngaard)
Idee des Beweises:
Betrachte, wie oftbkinajauftritt
Vorz j\k 1 2 3 4 5 6 7 8 9 10 11 12
+ 1 1 2 − 4 − − − 8 − − − −
− 2 − 1 − 2 − − − 4 − − − −
+ 3 − − 1 − − 2 − − − − − 4
− 4 − − − 1 − − − 2 − − − −
+ 5 − − − − 1 − − − − 2 − −
− 6 − − − − − 1 − − − − − 2
+ 7 − − − − − − 1 − − 2 − −
P
mit Vorzeichen
1 1 1 1 1 1 1 . . . .
Bemerkung
Bei Riemann k¨onnen dieai=ai(x) sogar explizit berechnet werden.
– 41–
Mathematik f¨ur Informatiker III Summation numerischer Reihen
Schlussfolgerungen aus dem Summationsbeispiel
Schlussfolgerungen aus dem Summationsbeispiel
IDie Behandlung mathematischer und anderer Modellierungsprobleme bedingt das Auftreten vonAbbruchs-≡Diskretisierungsfehlernsowie Rundungsfehlern. Beide sollten abgesch¨atzt und m¨oglichst minimiert werden.
IGleitpunktarithmetik ist weder kommutativ noch assoziativ, distributiv usw.
Spezielle Konsequenz:Betragsm¨aßig fallende Reihen von hinten summieren!
IEs ist erstaunlich einfach, an die Grenzen der Gleitpunkt- und Ganzzahlarithmetik zu stoßen.
IViele Jobs (≡Programme, Daten) laufen entweder im Sekunden- oder Stundenbereich. Beobachtung der Abarbeitung im Minutenbereich ist relativ selten.
IMathematisch endlichist nicht gleichrechentechnisch endlich.
– 42–
Mathematik f¨ur Informatiker III L¨osung (nicht-)linearer Gleichungssysteme
D - 4 L¨osung (nicht-)linearer Gleichungssysteme
Methoden zur L¨osung des linearen Problemes
Ax=
bmit dim(x) = dim(b) =
nICramersche Regelxi= (−1)idet(Ai)/det(A) f¨uri= 1..n ( InAiwird diei−te Spalte vonAdurchbersetzt )
IGauss-Elimination≈P A = LU Faktorisierung
(PPermutation,Lunterhalb undUoberhalb dreiecksf¨ormig )
ISchmidt-Ortogonalisierung≈A = QR Faktorisierung (Qorthogonal,Roberhalb dreiecksf¨ormig )
IFixpunkt Iterationx←x−M F(x) mitF(x)≡Ax−b (M∈Rn×nangen¨aherte Inverse so dassM A≈I)
Hinweise:
IF¨ur (eindeutige) L¨osbarkeit ist ¨uberalldet(A)6= 0 vorrauszusetzen.
IL¨oseLUx=bbzwQRx=bdurch Substitution/Transponierung.
IDie letzte Methode l¨asst sich auch auf nichtlinearesF(x) anwenden.
– 43–
Mathematik f¨ur Informatiker III L¨osung (nicht-)linearer Gleichungssysteme
Linearisierung des ’Freistoss’ Beispieles
Das nichtlineare System von 3 Gleichungen in 3 Unbekannten F1(x1,x2,x3) = x1∗x2−4.9∗x12−2 = 0 F2(x1,x2,x3) = 10∗ln(1 + 0.1∗x3∗x1)−25 = 0 F3(x1,x2,x3) = (x2−9.8∗x1)∗(x13+ 0.1∗x1) +√1
3 = 0
hat dieJacobimatrix F0(x)≡ ∂
∂xF(x)≡
∂Fi
∂xj
i=1,2,3
j=1,2,3
≡
x2−9.8∗x1 x1 0
x3
1+0.1∗x1∗x3 0 1+0.1∗x1x1∗x3
z(x) x13+ 0.1∗x1 −x2−9.8∗x23 x1
mitz(x)≡ −9.8∗(x13+10x1) +101(x2−9.8∗x1) =x102−9.8
1 x3+15x1
– 44–
Mathematik f¨ur Informatiker III L¨osung (nicht-)linearer Gleichungssysteme
Linearisierung durch Jacobimatrix
Linearisierung durch Jacobimatrix
Falls f¨urF:Rn→Rndien2Komponenten der Jacobimatrix F0(x) ≡ ∂
∂xF(x)≡
∂Fi
∂xj
i=1,...,n
j=1,...,n
bez¨uglich jeder der Variablenx1, . . . ,xnLipschitz-stetig sind, so l¨asst sich aus dem Hauptsatz der Differential- und Integralrechnung herleiten, dass f¨ur jedenSchritt s∈Rngilt
kF(x+s)−[F(x) +F0(x)s]k ≤ γksk2 Hierbei istF0(x)sein Matrix-Vektor Produkt undk · kist eine Vektor- bzw. Matrixnorm (siehe Abschnitt B-3) mit
kF0(x)−F0(y)k ≤ γkx−yk
Fx(s)≡F(x) +F0(x)sist als Funktion des variablen Vektorssdie Linearisierung ( verallgemeinerte Tangente ) vonFan der Stellex.
– 45–
Mathematik f¨ur Informatiker III L¨osung (nicht-)linearer Gleichungssysteme
Newton’s Methode im Vektorfall
Newton’s Methode im Vektorfall
Setzt man die LinearisierungFx(s) =F(x) +F0(x)szu null so erh¨alt man das lineare Gleichungssystem
As=b mit A=F0(x) und b=−F(x)
Die L¨osung l¨asst sich ausdr¨ucken als
s=A−1b=−F0(x)−1F(x) und heisstNewtonschritt.
Wiederholte Berechnung vonsund anschliessende Inkrementierung x←x+sergibt Newton’s Methode
x(k+1)≡x(k)+s(k) mit F0(x(k))s(k)=−F(x(k)) f¨ur k= 0,1, . . . Hierbei z¨ahlt der hochgestellte Index (k) die Iterationen.
– 46–
Mathematik f¨ur Informatiker III L¨osung (nicht-)linearer Gleichungssysteme
Newton’s Methode im Vektorfall
Warnung:
IDas Verfahren muss abgebrochen werden wenndet(F0(x(k))) null oder sehr klein ist.
IIm letzteren Falle werden die Schrittes(k)typischerweise sehr gross und f¨uhren h¨aufig zu Argumentenx(k+1)woFgarnicht mehr ausgewertet werden kann.
IZur Vermeidung dieses Problems wirds(k)manchmal mit einem D¨ampfungsfaktorα(k)<1 multipliziert, der dannSchrittweite genannt wird. Wir iterieren also effektiv
x(k+1)=x(k)−α(k)F0(x(k))−1F(x(k))
Die Bestimmung eines geeignetenα(k)heisst auch Strahlsuche (engl:
Line Search).
– 47–
Mathematik f¨ur Informatiker III L¨osung (nicht-)linearer Gleichungssysteme
Lokale Konvergenz von Newton
Lokale Konvergenz von Newton
Satz D.9 (Satz von Kantorovich)
Sei die Vektorfunktion F:Rn→Rneinmal differenzierbar und besitze ihre Jacobimatrix F0(x)∈Rn×ndie Lipschitzkonstanteγ.
Weiterhin sei x(0)ein Punkt an dem F0(x(0))regul¨ar ist und somit eine Inverse F0(x(0))−1existiert. Mitk · kals induzierte Matrix-Norm folgt dann aus
F0(x(0))−1
2 F(x(0))
≤ 1 2γ
dass Newton’s Methode zu einer L¨osung x(∗)mit F(x(∗)) = 0konvergiert.
Die Konvergenzgeschwindigkeit ist quadratisch in dem Sinne dass f¨ur eine Konstante c und alle k gilt
x(k+1)−x(∗) ≤c
x(k)−x(∗)
2
Bemerkung:
Je nichtlinearer ein Problem umso gr¨osser istγund desto st¨arker ist damit die Bedingung anx(0). Wird praktisch nie ¨uberpr¨uft !!!! – 48–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
D - 5 Gew¨ohnliche Differentialgleichungen (ODE)
(nachHartmann, Mathematik f¨ur Informatiker)
Definition D.10 (Gew¨ohnliche Differentialgleichungen (ODE))
Eine Gleichung, in der neben der unabh¨angigen Variablenxund einer gesuchten Funktiony=y(x) auch deren Ableitungenddxnyn=y(n)(x) bis zur Ordnungnauftreten, heisstGew¨ohnliche Differentialgleichung n-ter Ordnung (ODE).Sind ausserdem einx0aus dem Definitionsbereich vony(x) und zugeh¨orige Wertey(x0),y(1)(x0), . . . ,y(n−1)(x0) gegeben, so spricht man von einemAnfangswertproblem.
– 49–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Separable Differentialgleichungen
Separable Differentialgleichungen
Definition D.11 (Separable Differentialgleichung)
Eine DifferentialgleichungF(x,y,y0) = 0 erster Ordnung heisst separabel, wenn sie sich in der Formy0=f(x)g(y)
darstellen l¨asst, wobeif:I−→R,g:J−→Rstetige Funktionen auf den IntervallenI⊆R,J⊆Rsind.
Satz D.12 (L¨osbarkeit: Anfangswertproblem separabler ODE)
Eine separable Differentialgleichung erster Ordnung mit derAnfangsbedingung y(x0) =y0f¨ur x0∈I , y0∈J, hat im Intervall J eine eindeutige L¨osung y(x) :I−→J, falls
g(y)6= 0 ∀y∈J.
– 50–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Separable Differentialgleichungen
Seien
G(y) :=
Zy y0
1
g(y)dy, F(x) :=
Zx x0
f(x)dx die Stammfunktionen vong(y)1 bzw.f(x).
Dabei wurden f¨ur Integrationsvariable und Obergrenze der Integration das gleiche Symbol verwendet.
AufJistG0(y) =g(y)1 6= 0 (Voraussetzung Satz D.12), daher istG streng monoton und besitzt eine UmkehrfunktionG−1. Dann ist aber
y(x) :=G−1(F(x))
die L¨osung des Anfangswertproblemsy0=f(x)g(y),y(x0) =y0.
– 51–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Separable Differentialgleichungen
Probe:
G(y(x)) =F(x) =⇒ G0(y(x))y0(x) =F0(x) =g(y(x))1 y0(x) =f(x)
=⇒ y0(x) =f(x)g(y(x)) Anfangswert:y(x0) =y0
F(x0) = 0 =⇒ y(x0) =G−1(F(x0)) =G−1(0) G(y0) = 0 =⇒ G−1(0) =y0
=⇒ G−1(0) =y0=y(x0)
Satz D.13
Das Anfangswertproblem y0(x) =f(x)g(y), mit Funktionen f:I−→R, g:J−→R, und dem Anfangswert y(x0) =y0∈J, hat die eindeutige L¨osung y , die man erh¨alt, wenn man die folgende Gleichung nach y
aufl¨ost: Zy
y0
1 g(y)dy=
Zx x0
f(x)dx
– 52–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen erster Ordnung
Lineare Differentialgleichungen erster Ordnung
Definition D.14 (Lineare Differentialgleichung)
Differentialgleichungen, bei denen die Funktiony=y(x) und ihre Ableitungen nur in linearem Zusammenhang auftreten heissenLineare Differentialgleichungen.Lineare Differentialgleichungenerster Ordnunghaben die Form y0+a(x)y=f(x).
Ist die Funktionf(x)≡0 auf der rechten Seite identisch Null, so heisst die Gleichunghomogen, sonstinhomogen.
Die FunktionF(x) auf der rechten Seite heisstQuellfunktion.
– 53–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen erster Ordnung
Satz D.15 (L¨osung homogener linearer ODE)
Ist a(x)auf dem Intervall I stetig, so lautet die vollst¨andige L¨osung der linearen Differentialgleichung y0+a(x)y= 0
y(x) =c·e−A(x) wobei c∈Rund A(x)eine Stammfunktion von a(x)ist.
Satz D.16 (L¨osung inhomogener linearer ODE)
Die inhomogen lineare Differentialgleichung y0+a(x)y=f(x), f,a:I−→Rstetig, x0∈I , besitzt die vollst¨andige L¨osungy= Zx
x0
f(t)eA(t)dt+c
·e−A(x) wobei c∈Rund A(x)eine Stammfunktion von a(x)ist.
– 54–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen n-ter Ordnung
Lineare Differentialgleichungen n-ter Ordnung
Definition D.17 (Lineare ODE n-ter Ordnung)
Eine Differentialgleichung der Formy(n)+a1(x)y(n−1)+· · ·+an−1(x)y0+an(x)y =f(x) heisstlineare Differentialgleichung n-ter Ordnung.
Dabei sind die Funktionenf,ai:I−→Rauf dem Intervall stetig.
Dieaiheissen Koeffizientenfunktionen,fheisst Quellfunktion.
Istf= 0, so heisst die Gleichunghomogen, sonstinhomogen.
– 55–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen n-ter Ordnung
Satz D.18 (Existenz und Eindeutigkeit der L¨osung)
Seiy(n)+a1(x)y(n−1)+· · ·+an−1(x)y0+an(x)y =f(x) eine lineare Differentialgleichung n-ter Ordnung mit ai,f:I−→Rund x0∈I .
Dann gibt es zu den Anfangswerten
y(x0) =b0, y0(x0) =b1, . . . y(n−1)(x0) =bn−1
genau eine L¨osung y=y(x)dieses Anfangswertproblems.
Diese L¨osung existiert auf dem ganzen Intervall I .
– 56–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen n-ter Ordnung
Satz D.19 (L¨osungsstruktur linearer ODE n-ter Ordnung)
Die Menge H der L¨osungen y:I−→Rder homogenen linearen Differentialgleichung y(n)+a1(x)y(n−1)+· · ·+an−1(x)y0+an(x)y = 0 mit ai:I−→Rbildet einen reellen Vektorraum der Dimension n.Eine Basis des L¨osungsraumes H nennt manFundamentalsystem.
Jede L¨osung y der inhomogenen Gleichung
y(n)+a1(x)y(n−1)+· · ·+an−1(x)y0+an(x)y =f(x)mit f:I−→R hat die Form
y=ys+yh
wobei xh∈H eine L¨osung der homogenen und yseine spezielle L¨osung der inhomogenen Differentialgleichung ist.
– 57–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen mit konstanten Koeffizienten
Lineare Differentialgleichungen mit konstanten Koeffizienten
F¨ur inhomogene lineare Differentialgleichungen n-ter Ordnung (siehe Definition D.17) existiert kein allgemeines L¨osungsverfahren.
F¨ur den Fallkonstanter Koeffizientenfunktionen ai(x)∈Rkann jedoch ein Fundamentalsystem angegeben werden:
L¨osung des homogenen Systems
y(n)+a1y(n−1)+· · ·+an−1y0+any = 0 L¨osungsansatz: Exponentialfunktion y(x) =eλx und damit
y(x) =eλx, y0(x) =λeλx, y00(x) =λ2eλx, . . . , y(n)(x) =λneλx Einsetzen in die Differentialgleichung liefert
λneλx+a1λn−1eλx+· · ·+an−1λeλx+aneλx = (λn+a1λn−1+· · ·+an−1λ+an)eλx = 0
– 58–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen mit konstanten Koeffizienten
Definition D.20 (Charakteristisches Polynom)
Das Polynomp(λ) :=λn+a1λn−1+· · ·+an−1λ+an
heisst charakteristisches Polynom der homogenen linearen Differentialgleichung n-ter Ordnung mit konstanten Koeffizienten
y(n)+a1y(n−1)+· · ·+an−1y0+any = 0.
Fortsetzung: L¨osung des homogenen Systems
Aus den Nullstellenλi,i= 1. . .nmitp(λi) = 0 des charakteristischen Polynoms kann ein Fundamentalsystem f¨ur die homogene
Differentialgleichung n-ter Ordnung konstruiert werden.
Dazu ist eine Fallunterscheidung nach derVielfachheit der Nullstellenλi
n¨otig:
– 59–
Mathematik f¨ur Informatiker III Gew¨ohnliche Differentialgleichungen (ODE)
Lineare Differentialgleichungen mit konstanten Koeffizienten
λ∈R
ist einfache Nullstelle
Dann ist eλx eine L¨osung der Differentialgleichung.
λ
=
α+
iβ∈Cist einfache komplexe Nullstelle
eαxcosβx und eαxsinβx sind L¨osungen der Differentialgleichung.
λ∈R
ist
k-fache reelle Nullstelle xieλx, i= 0, . . . ,k−1 sindklinear unabh¨angige L¨osungen.λ
=
α+
iβ∈Cist
k-fache komplexe Nullstelle xieαxcosβx, xieαxsinβx, i= 0, . . . ,k−1 sind die 2klinear unabh¨angige L¨osungsfunktionen.Beispiel D.21
SieheHartmann, Mathematik f¨ur Informatiker, S.352 ff.
– 60–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Systeme von ODEs und ihre numerische L¨osung
D - 6 Euler Verfahren f¨ur Systeme von ODEs Systeme von ODEs und ihre numerische L¨osung
In vielen Anwendungen wird der Zustand eines Systems zum Zeitpunktt durch einen Vektor
x(t) = [x1(t),x2(t), . . . ,xn(t)]> mit n>0 beschrieben. Die ¨Anderungsgeschwindigkeit ˙x≡dx(t)/dtdes Zustandes nach der Zeit ergibt sich h¨aufig als FunktionF(x(t)) mitF:Rn→Rn eben dieses Zustandes. Also erhalten wir das System gew¨ohnlicher Differentialgleichungen
˙
x(t) =F(x(t)) kurz x˙ =F(x)
Das System heisst autonom, da die Zeittauf der rechten Seite nicht explizit, sondern nur mittelbar ¨uberx=x(t) vorkommt. Dieses ist keine Einschr¨ankung da ein nichtautonomes System ˙x(t) =F(t,x(t)) sich autonom umschreiben l¨asst indem mantals nullte Zustandskomponente x0(t) hinzuf¨ugt und somit f¨ur ¯x≡(x0,x1, . . . ,xn)Terh¨alt
d dt¯x ≡
x˙0
˙ x
= ˙t
˙ x
= 1
F(¯x)
≡F(x)
– 61–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Systeme von ODEs und ihre numerische L¨osung
Auch ODEs h¨ohere Ordnungen lassen sich in Systeme von ODEs erster Ordnung umschreiben, indem man z.B. die erste Ableitungy0als neue abh¨angige Variablev≡y0definiert und danny00durchv0ersetzt. So wird zum Beispiel aus einer nichtautonomen Differentialgleichung zweiter Ordnung
y00 =f(t,y,y0)
das autonome System erster Ordnung in den drei Variableny0≡t, y1≡yundy2≡y0
y00
y10 y20
=
1 y2
f(y0,y1,y2)
Entsprechend lassen sich Anfangsbedingungen umschreiben.
Die Umformulierung als System 1.Ordnung er¨offnet die M¨oglichkeit numerische Standardmethoden und Software f¨ur die L¨osung autonomer Systeme erster Ordnung mit Anfangsbedingungen zur Anwendung zu bringen.
– 62–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Systeme von ODEs und ihre numerische L¨osung
Satz D.22 (Existenz und Eindeutigkeit der L¨osung)
Sei F:D ⊂Rn−→Rnin einem offenem GebietDlokal Lipschitz-stetig.
Dann existiert f¨ur jeden Punkt yo∈ Dein Intervall(a,b)30und eine eindeutige L¨osung y(t)∈ Dder ODEy˙=F(y)f¨ur a<t<b mit y(0) =y0.
Bemerkung:
(i)F¨ur die Existenz einer L¨osung ist die Stetigkeit vonFhinreichend.
Vorraussetzung von Lipschitz - Stetigkeit ist f¨ur die Eindeutigkeit der L¨osung und die Konvergenz numerischer Verfahren erforderlich.
(ii)Das Intervall (a,b) kann so gross gew¨ahlt werden, dassy(b) den Rand vonDerreicht.
– 63–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Eulers Methode und andere explizite ODE-L¨oser
Eulers Methode und andere explizite ODE-L¨oser
Die meisten ODEs haben keine geschlossen darstellbare L¨osung.
Die L¨osung kann aber durch numerische Methoden mit (mehr oder weniger) beliebiger Genauigkeit approximiert werden.
Numerische Approximationen sind auch alles, was zur Berechnung der mathematischen Standardfunktionenex, sinxetc. zur Verf¨ugung steht, da diese Funktionen als L¨osung von ODEs definiert sind.
Die einfachste numerische Methode zur L¨osung von ODEs ist das Explizite (Vorw¨arts) Eulersche Polygonzugverfahren.
– 64–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Eulers Methode und andere explizite ODE-L¨oser
Explizite (Vorw¨arts) Euler-Methode
Seiy(t)die exakte L¨osung vony(t) =˙ f(t,y(t))mity(0) =y0.
h 2h 3h tk=k·h T t
y
y(k·h)
y(T) exakter Wert
yk
yn=yt/h
imk-ten Schritt berechneter Wert
˙
y(k·h) =f(tk,yk)
≡Anstieg derTangen- tey(t) der L¨osung˙ y(t) intk y(0) =y0
Gesucht wird alsoyk≈y(tk)f¨urk= 0, . . . ,Th mittk=k·h:
yk+1≡yk+h f(tk,yk) ≈y(tk+1)
– 65–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Eulers Methode und andere explizite ODE-L¨oser
Beispiel D.23 (Autonome lineare ODE)
˙
y=λy mit λ∈R und y0= 1 Anwendung von Eulers Methode:
y1 = y0+hλy0 = (1 +hλ)y0
y2 = y1+hλy1 = (1 +hλ)y1 = (1 +hλ)2y0
...
yk = (1 +λh)ky0 = (1 +λh)k ...
yn = (1 +λh)ny0 = (1 +λh)Th
Vergleich mit exakter L¨osung:
y(t) = exp(λt) ergibt am EndpunktT y(T) =eλT≡lim
h→0(1 +λh)Th= lim
n→∞
1 +λT
n n
– 66–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Eulers Methode und andere explizite ODE-L¨oser
Erl¨auterung
Die angen¨aherte L¨osungyT/hkonvergiert gegen die exakte L¨osungy(T) der ODE wenn die Schrittweiteh=T/ngegen Null geht. Das bedeutet aber dass die Anzahl der Eulerschritte und damit der
Berechnungsaufwand gegen∞gehen.
Frage:
Kann der ApproximationsfehlerkyT/h−y(T)kals Funktion der Schrittweiteh=T/ndargestellt und somit zur Bestimmung einer vern¨unftigen Schrittzahlngenutzt werden?
Antwort:
JA!Im vorliegenden speziellen Fall gilt
hlim→0
yT/h
y(T)−1 1
h=−12Tλ2 und somit erf¨ullt der Fehler
yT/h−y(T) =h(−12Tλ2) +O(h2)
– 67–
Mathematik f¨ur Informatiker III Euler Verfahren f¨ur Systeme von ODEs
Eulers Methode und andere explizite ODE-L¨oser
Beweis.
hlim→0
e−λT(1 +λh)T/h−1 h
= lim
h→0e−λT ddheT/hln(1+λh)
= lim
h→0e−λT(1 +λh)Tλ/λh
−T
h2ln(1 +λh) + Tλ h(1 +λh)
= lim
h→0
1 2hT
− − λ (1 +λh)+ λ
(1 +λh)+ λ2h (1 +λh)2
= −12Tλ2
– 68–