Einführung in die Numerische Mathematik - KIT - Fakultät für Mathematik

09.04.2011 - ... der freien Verfügbarkeit werden wir in diesem Kurs häufig Scilab be- ...... der guten Wahl des Vorkonditionierers B. Für einfache Optionen wie.
645KB Größe 279 Downloads 265 Ansichten
Einführung in die Numerische Mathematik für Studierende der Fachrichtungen Informatik und Ingenieurwesen

Vorlesung Sommersemester 2010

Nicolas Neuÿ Institut für Angewandte und Numerische Mathematik Karlsruher Institut für Technologie [email protected]

c

2008

Dieses Skript wird unter der GNU Free Documentation License, Version 1.3 zur Verfügung gestellt.

Diese Version wurde am 9. April 2011 erstellt.

Inhaltsverzeichnis 1

Einführung

1

1.1

Was ist Numerische Mathematik? . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Beispiel

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

Problemstellung

1.2.2

Modellierung

1.2.3

Mathematisches Modell

1.2.4

Numerisches Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.2.5

Theorie

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2.6

Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2.7

Programm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.2.8

Beobachtungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.2.9

Sinnvolle Problemstellungen . . . . . . . . . . . . . . . . . . . . . . . . .

4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

2.3

3

2 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 6 7

Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.1.1

7

Beispiel

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Gleitkomma-Arithmetik

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2.1

Ganzzahl-Arithmetik . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2.2

Wissenschaftliche Darstellung . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2.3

IEEE-Gleitkommazahlen . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.4

Arithmetik

9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

Kondition und Stabilität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.3.1

Qualitative Denition der Kondition

. . . . . . . . . . . . . . . . . . . .

10

2.3.2

Absolute Kondition in 1D . . . . . . . . . . . . . . . . . . . . . . . . . .

11

2.3.3

Relative Kondition in 1D

11

2.3.4

Wiederholung: Mehrdimensionale Dierentiation

2.3.5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

Absolute Kondition allgemeiner Funktionen

. . . . . . . . . . . . . . . .

13

2.3.6

Relative Kondition allgemeiner Funktionen

. . . . . . . . . . . . . . . .

14

2.3.7

Vektornormen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.3.8

Matrixnormen/Operatornormen . . . . . . . . . . . . . . . . . . . . . . .

15

2.3.9

Anwendung für Konditionsabschätzungen

. . . . . . . . . . . . . . . . .

16

. . . . . . . . . . . . . . . . . . . . . . . . .

17

Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.3.10 Stabilität von Algorithmen 2.4

1

Ziel dieses Kurses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Grundlagen 2.1

1

1.2.1

1.2.10 Etwas Scilab 1.3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

Lineare Gleichungssysteme

19

3.1

Problemdenition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2

Die Kondition der Matrixmultiplikation

20

i

. . . . . . . . . . . . . . . . . . . . . .

3.3

3.4

4

Abschätzung des absoluten Fehlers . . . . . . . . . . . . . . . . . . . . .

20

3.2.2

Abschätzung des relativen Fehlers

. . . . . . . . . . . . . . . . . . . . .

21

Die Kondition der Lösung linearer Gleichungssysteme . . . . . . . . . . . . . . .

21

3.3.1

Variation der rechten Seite . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.3.2

Variation der Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Das Gauÿsche Eliminationsverfahren

22

. . . . . . . . . . . . . . . . . . . . . . . .

23

3.4.1

Klassisches Vorgehen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.4.2

Motivation der (P)LR-Zerlegung

. . . . . . . . . . . . . . . . . . . . . .

24

3.4.3

Die (P)LR-Zerlegung anhand eines Beispiels . . . . . . . . . . . . . . . .

25

3.4.4

Verwendung der (P)LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . .

26

3.4.5

Theorie der LR-Zerlegung ohne Zeilentausch . . . . . . . . . . . . . . . .

27

3.4.6

Die LR-Zerlegung für symmetrisch positiv denite Matrizen . . . . . . .

27

3.4.7

Theorie der LR-Zerlegung mit Zeilentausch

. . . . . . . . . . . . . . . .

28

3.4.8

Implementation der LR-Zerlegung

. . . . . . . . . . . . . . . . . . . . .

28

3.4.9

Aufwandsbetrachtungen . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

3.4.10 Die Stabilität der LR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . .

31

Lineare Ausgleichsprobleme

32

4.1

Ein eindimensionales Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.2

Mehrdimensionale Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

4.2.1

Problem der kleinsten Fehlerquadrate

. . . . . . . . . . . . . . . . . . .

33

4.2.2

Ein mehrdimensionales Beispiel . . . . . . . . . . . . . . . . . . . . . . .

33

4.3 4.4

5

3.2.1

Lösung der Normalgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

4.3.1

. . . . . . . . . . . . . . . . . . . . . . . . . . .

34

Lösung mittels Orthogonaltransformationen . . . . . . . . . . . . . . . . . . . .

34

Kondition des Problems

4.4.1

Orthogonale Matrizen

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

4.4.2

QR-Zerlegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

4.4.3

Anwendung der QR-Zerlegung

. . . . . . . . . . . . . . . . . . . . . . .

35

4.4.4

Anwendung auf Gleichungssysteme . . . . . . . . . . . . . . . . . . . . .

36

Nichtlineare Gleichungssysteme

37

5.1

37

5.2 5.3

Der eindimensionale Fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1

Halbierungsverfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

5.1.2

Das Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

Der mehrdimensionale Fall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

5.2.1

40

Beispiel

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Theorie des Newton-Verfahrens

. . . . . . . . . . . . . . . . . . . . . . . . . . .

41

5.3.1

Kondition des Problems

. . . . . . . . . . . . . . . . . . . . . . . . . . .

41

5.3.2

Fixpunktiterationen

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

5.3.3

Kontraktionen und Fixpunktsatz

. . . . . . . . . . . . . . . . . . . . . .

44

5.3.4

Anwendung auf das Newton-Verfahren . . . . . . . . . . . . . . . . . . .

46

5.4

Das globale Newton-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

5.5

Iterative Lösung linearer Gleichungssysteme . . . . . . . . . . . . . . . . . . . .

48

5.5.1

Einführung

48

5.5.2

Konvergenztheorie

5.5.3

Die Beziehung zur Kondition

. . . . . . . . . . . . . . . . . . . . . . . .

50

5.5.4

Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii

50

5.5.5 6

9

52 54

6.1

Einführung

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

6.2

Lagrange-Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

6.2.1

Konstruktion

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

6.2.2

Gute Basiswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

6.2.3

Interpolationsfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

6.2.4

Kondition der Polynominterpolation

58

. . . . . . . . . . . . . . . . . . . .

Stückweise polynomiale Approximationen (Splines) . . . . . . . . . . . . . . . .

60

6.3.1

Lineare Splines

60

6.3.2

Kubische Splines

6.3.3

Berechnung eines interpolierenden kubischen Splines

. . . . . . . . . . .

64

6.3.4

Fehlerabschätzung der kubischen Splines . . . . . . . . . . . . . . . . . .

65

6.3.5

Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

Numerische Quadratur

68

7.1

Einführung

68

7.2

Quadraturformeln

7.3

Konstruktion durch Polynominterpolation 7.3.1

8

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Interpolation

6.3

7

Optimale Dämpfung

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

. . . . . . . . . . . . . . . . . . . . .

69

Newton-Cotes-Formeln . . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

7.4

Zusammengesetzte Formeln

7.5

Ausblicke

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

72

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

Numerische Lösung gewöhnlicher Dierentialgleichungen

75

8.1

Grundlagen

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

8.2

Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

8.2.1

Pendelgleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

8.2.2

Räuber-Beute-Modell

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

8.3

Geometrische Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

8.4

Numerische Lösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

8.4.1

Das explizite Euler-Verfahren . . . . . . . . . . . . . . . . . . . . . . . .

78

8.4.2

Verfahren höherer Ordnung

79

8.4.3

Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

80

8.4.4

Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

8.4.5

Ausblicke

82

. . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Übersetzungstabelle

83

iii

1 Einführung 1.1 Was ist Numerische Mathematik? Denition: Numerische Mathematik beschäftigt sich mit der Entwicklung und Analyse von Methoden zur Lösung mathematischer Problemstellungen. Schema: Problem des praktischen Lebens

⇒ Mathematisches Modell & Messung von Parametern

⇒ . . . mit einem guten numerischen Verfahren . . . Brauchbare Lösung

1.2 Beispiel Wir wollen die Schwingung eines Stabpendels berechnen.

1.2.1 Problemstellung

• L:

Länge des Pendelstabs

• m:

Masse des Pendels

• g:

Erdbeschleunigung

• G = mg : • θ:

L

Gewichtskraft

Auslenkungswinkel

• FR = G sin θ:

G .

Rückstellkraft

FR

1

θ

1.2.2 Modellierung Wissen: Aus der Mechanik wissen wir



Auslenkungswinkel



Winkelgeschwindigkeit



Geschwindigkeit des Pendelgewichts ist



Beschleunigung des Pendelgewichts



Rückstellkraft



Andererseits:

θ

ist eine Funktion

˙ , ω(t) = θ(t)

FR (t) = −mg sin θ(t)

θ(t)

wobei

der Zeit

˙ := θ(t)

t

d θ(t). dt

v(t) = Lω(t)

a(t) = v(t) ˙ = Lω(t) ˙ = L¨θ(t) (Vorzeichen!)

FR (t) = ma(t) = mL¨θ(t)

(Newtonsches Kraftgesetz)

1.2.3 Mathematisches Modell Zusammensetzen liefert die Dierentialgleichung

¨θ(t) = − g sin θ(t) L zu deren Lösung man noch Anfangsbedingungen braucht:

θ(0) = θ0

˙ θ(0) = ω(0) = ω0 .

Bemerkung: Für diese Dierentialgleichung kann man die Lösung

θ(t)

nicht mittels ele-

mentarer Funktionen ausdrücken (was für viele Dierentialgleichungen der Fall ist). Man muss sie daher numerisch lösen.

1.2.4 Numerisches Verfahren



Approximiere

˙ θ(t)

und

ω(t) ˙

durch die Dierenzenquotienten (mit kleinem

˙ ≈ θ(t + h) − θ(t) , θ(t) h •

Andererseits wissen wir:



Man kann nun aus

˙ = ω(t) , θ(t)

ω(t) ˙ ≈

h > 0)

ω(t + h) − ω(t) . h

ω(t) ˙ =−

g sin θ(t) . L

(θ(t), ω(t)) eine Approximation zu (θ(t+h), ω(t+h)) berechnen: θ(t + h) ≈ θ(t) + hω(t) g ω(t + h) ≈ ω(t) + h(− sin θ(t)) L

2

1.2.5 Theorie Satz: (Analysis) Die Dierentialgleichung

¨θ(t) = − g sin θ(t) , L besitzt eine eindeutige Lösung

θ:R→R

˙ θ(0) = θ0 , θ(0) = ω0 für alle Anfangsbedingungen

(θ0 , ω0 ).

Satz: (Numerik) Das numerische Verfahren (es heiÿt explizites Euler-Verfahren)



θh,0 ωh,0



 =

θ0 ω0



 ,

t>0

konvergiert, d.h. für jedes

lim

t N →∞, h= N →0

θh,k+1 ωh,k+1



 =

θh,k ωh,k





ωh,k +h − Lg sin θh,k

 für

k≥0

gilt

θh,N → θ(t) ,

lim

t N →∞, h= N →0

˙ . ωh,N → ω(t) = θ(t)

1.2.6 Implementation Eine für die Numerik sehr gut geeignete Programmiersprache ist das kommerzielle Matlab, oder aber freie Derivate davon, insbesondere Octave und Scilab. Vorteile:



Starke Sprache zur Matrizenmanipulation



Interaktives Arbeiten



Die Sprache ist recht konventionell, d.h. die meisten Sprachelemente kennt man aus anderen Computersprachen in sehr ähnlicher Form.



Viele Bibliotheken

Bemerkung: Wegen der freien Verfügbarkeit werden wir in diesem Kurs häug Scilab benutzen. Da am KIT auch eine Matlab-Campuslizenz verfügbar ist, werden auch Beispiele in Matlab verwendet.

1.2.7 Programm Programm: (pendel.sci) g =

9.81;

function

L =

1.0;

[ theta , time ]

= pendel ( theta0 ,

h = T/N ; time ( 1 ) =

0.0;

3

omega0 ,

T,

N)

theta (1) = theta0 ; for

omega ( 1 ) = omega0 ;

i =1:N

t i m e ( i +1) = t i m e ( i )+h ; t h e t a ( i +1) = t h e t a ( i )+h ∗ omega ( i ) ; omega ( i +1) = omega ( i )−h ∗ g /L ∗ s i n ( t h e t a ( i ) ) ; end endfunction theta0 = T =

10.0;

0.0;

omega0 =

6.23;

N = 10000;

[ theta , time ]

= pendel ( theta0 ,

omega0 ,

T,

N) ;

p l o t ( time , t h e t a ) //

or :

p l o t ( t i m e , [ t h e t a , omega ] )

//

...

test

also

N=10000

and

values

of

omega0

around

6.26

1.2.8 Beobachtungen



Die Lösungskurve approximiert die korrekte Pendelbewegung für



Die Approximation ist leider nicht sehr genau (Fehler



Wenn man auch

ω

N → ∞.

O(h)).

plottet, sieht man den Austausch zwischen potentieller und

kinetischer Energie.



Das Verfahren ist nicht exakt energieerhaltend, sondern die Energie nimmt im Verlauf der Iteration zu.

1.2.9 Sinnvolle Problemstellungen Problem: Gegeben sei

L = 1m, θ0 = π , ω0 = 0 ms .

Zu dieser instabilen Lage betrachten

wir drei Fragestellungen: (I) Fällt das Pendel rechts herum, links herum, oder bleibt es oben stehen? (II) Wie ist die Lage des Pendels nach einer Sekunde? (III) Wie ist die Lage des Pendels nach einer Minute?

Frage: Welche der obigen Fragestellungen ist für die Praxis brauchbar? Antwort:

4



Frage (I) ist in der Praxis unbrauchbar, weil die Antwort Das Pendel bleibt für immer bei

θ=π

stehen durch beliebig kleine Störung der Anfangsdaten (welche

in der Praxis unvermeidbar sind, z.B. durch Luftzug oder Erschütterungen) falsch wird.



Frage (II) ist sinnvoll, weil die Antwort Das Pendel bendet sich nach einer Sekunde bei

θ = π

auch bei kleinen Störungen der Anfangsdaten immer noch eine

nützliche Approximation ist.



Auch Frage (III) ist in der Praxis unbrauchbar. Eine genauere Betrachtung zeigt

√ ε mit der Zeit t um den Faktor et g/L 80 Faktor etwa 4 · 10 .

wächst. Für

θ=π

beobachten

nämlich, dass ein Anfangsfehler

L = 1m

und

t = 60s

ist dieser

Bemerkung: Falls man experimentell dennoch ein Stehenbleiben bei

sollte, liegt das wahrscheinlich an Reibungseekten in der Aufhängung, die im mathematischen Modell der Pendelgleichung nicht berücksichtigt werden. Denition: Man nennt Probleme/Fragestellungen, bei denen sich die Antwort stark ändert, obwohl die Eingangsdaten nur wenig variiert werden, schlecht gestellt oder schlecht konditioniert. Bemerkung: In der Praxis sind leider viele Probleme recht schlecht konditioniert. Manchmal ist eine geänderte Fragestellung die beste Abhilfe, ansonsten sollte aber der Numeriker danach trachten, den Fehler nicht auch noch durch ungeeignete Verfahren zu vergröÿern.

1.2.10 Etwas Scilab



zeros(m,n)  Nullmatrix



A'  Transposition



eye(m,n)  Einheitsmatrix



det(A)  Determinante



[1,2;3,4]  Matrix aus Elementen



spec(A)  Eigenwerte/Spektrum



A(i,j)  Zugri auf Matrixelement



dot(x,y)  Skalarprodukt



i:j  Integerbereich



if condition . . . (Codezeilen). . . end





if condition . . . else . . . end

i:d:j  Bereich mit Schrittweite d



for i=1:n . . . end  Schleife



A*B  Matrizenprodukt



function y = f (x) . . . endfunction



A\b  Lösung LGS

 Funktionsdenition

5

1.3 Ziel dieses Kurses



Sie lernen die Arbeitsweise



von numerischen Verfahren kennen,



die für viele wissenschaftliche Anwendungen wichtig sind.



Dieses Hintergrundwissen ist notwendig,



um Standardsoftware



korrekt und sicher anwenden zu können.

6

2 Grundlagen 2.1 Motivation 2.1.1 Beispiel

Aufgabe: Man berechne

ex = exp(x) =

∞ X xk k=0

Algorithmus: Berechne

N X k=0

xk k!

wobei

N

k!

auf eine Genauigkeit

so gewählt ist, dass

Satz: Bei exakter Arithmetik berechnet dieser Algorithmus

|

ε > 0.

x 1 |≤ N 2

und

|

exp(x) auf einen Fehler ε > 0

genau. Beweis:

∞ ∞  l ∞ X X xk xN X xl 1 |≤| || |≤ε | =ε k! N ! (N + 1) · · · (N + l) 2 l=1 l=1 k=N +1

Programm: (exp_series.sce) e p s = 1 . 0 e −15; function

summe = e x p _ s e r i e s

(x)

summe = 1 ; k = 1; summand = x / k ; while

( a b s ( summand )>e p s )

|

( abs ( x/k ) >0.5)

summe = summe + summand ; k = k +1; summand = summand ∗ x / k ; end endfunction for

x =40: − 10: − 40

d i s p ( [ x , exp ( x ) , e x p _ s e r i e s ( x ) ] ) ; end

Beobachtung: Wir erhalten folgende Tabelle:

7

do

xN | ≤ ε. N!

x

exp(x)

exp_series(x)

40

2.354E+17

2.354E+17

30

1.069E+13

1.069E+13

20

4.852E+08

4.852E+08

10

22026.466

22026.466

0

1.0000000

1.0000000

-10

0.0000454

0.0000454

-20

2.061E-09

5.622E-09

-30

9.358E-14

-0.0000307

-40

4.248E-18

-3.1657319

x  0. 1 . exp_series(−x)

Oenbar versagt unser Algorithmus für Abhilfe: Berechne für

x 0.

für

x ∈ V , λ ∈ R.

kx + yk ≤ kxk + kyk

für alle

x, y ∈ V .

Beispiele:



Auf

Rn

für

1≤p n Sinn macht, und auch, dass wir mit k·k2 die Euklidische Norm n m im R und R bezeichnen). Beweis: Siehe [Golub-van-Loan]. Problem: Wenn man

x

über die Normalgleichung bestimmt, ist die Fortpanzung des

κ2 (At A) = κ2 (A)2 gegeben (wegen der Multiplikation At b muss 3 man insgesamt sogar mit κ2 (A) rechnen). Für viele Anwendungsprobleme ist aber schon 2 κ2 (A) groÿ und κ2 (A) oder gar κ2 (A)3 inakzeptabel! relativen Fehlers durch

4.4 Lösung mittels Orthogonaltransformationen 4.4.1 Orthogonale Matrizen

Q ∈ Rn×n (bzw. die zugehörige lineare Abbildung) heiÿt orthogonal, n X Euklidische Skalarprodukt hx, yi = xi yi erhält, d.h.

Denition: Eine Matrix wenn sie das

i=1

hQx, Qyi = hx, yi ∀x, y ∈ Rn .

Interpretation:

Q

ist längen- und winkelerhaltend.

34

Bemerkung: Äquivalent zur obigen Bedingung ist die Forderung −1 anders geschrieben Q = Qt .

QQt = Qt Q = I

oder

Beispiele: Drehungen, Spiegelungen und Kombinationen davon.

4.4.2 QR-Zerlegung m×n Denition: Eine QR-Zerlegung einer Matrix A ∈ R hat die Form A = QR, wobei m×m m×n Q∈R eine orthogonale Matrix und R ∈ R eine obere Dreiecksmatrix ist (d.h.

Rij = 0

für

i > j ).

Satz: Zu jedem

A ∈ Rm×n

gibt es eine QR-Zerlegung.

Beweis: Man kann die QR-Zerlegung auf verschiedene Weise konstruieren, etwa durch Spiegelungen, Drehungen oder auch die Gram-Schmidt-Orthogonalisierung. Bemerkung:



Der Scilab/Matlab-Befehl zur Berechnung einer QR-Zerlegung heiÿt qr.



In manchen Fällen (z.B. wenn

A ∈ Rn×n invertierbar ist und wenn Rii > 0 gefordert

wird), ist die QR-Zerlegung sogar eindeutig (siehe Übung).

4.4.3 Anwendung der QR-Zerlegung Beobachtung: Weil

Q

orthogonal ist und

m≥n

ist, gilt mit

˜b = Qt b

kAx − bk22 = kQRx − bk22 = kRx − Qt bk22   R1:n,1:n x − ˜b1:n 2 = k k2 −˜bn+1:m = kR1:n,1:n x1:n − ˜b1:n k2 + k˜bn+1:m k2 2

Falls

Rang(A) = n,

so ist auch

Rang(R) = n,

2

und das Minimum erhält man oenbar

durch Lösung des Dreieckssystems

R1:n,1:n x1:n = ˜b1:n .

Notation: Wir haben die Matlab-Notation zur Bezeichnung von Untermatrizen durch Indexbereiche verwendet. Bemerkung: Man beachte, dass man zur Lösung von

R1:n,1:n x1:n = ˜b1:n = (Q1:m,1:n )t b1:m

35

nur Teile der QR-Zerlegung braucht, nämlich

Q1:m,1:n

und

R1:n,1:n .

Es gibt daher den

Scilab-Befehl qr(A,"e") (Matlab: qr(A,0)), der genau diese Matrizen berechnet. Programm: Die Lösung des Kleinste-Quadrate-Problems mit Matrix b ∈ Rm erhält man daher in Scilab auch wie folgt: [ Q, R ]

A ∈ Rm×n

und

= q r (A, " e " )

x = R \

(Q' ∗ b )

Beispiel: Die Anwendung auf das Motorenbeispiel zeigt, dass man dieselbe Lösung erhält wie vorher.

4.4.4 Anwendung auf Gleichungssysteme

m = n entspricht das Kleinste-Fehlerquadrate-Problem der Lösung des Gleichungssystems Ax = b. Die QR-Zerlegung ist daher auch für die Lösung eines t Gleichungssystems Ax = b geeignet (man löst einfach das Dreieckssystem Rx = Q b). Beobachtung: Im Fall

Satz: Im Gegensatz zur LR-Zerlegung ist die Stabilität der QR-Zerlegung in der Spektralnorm garantiert: es gilt Beweis: Da

Q

κ2 (Q) = 1

und

κ2 (R) = κ2 (A).

längenerhaltend ist, folgt

κ2 (Q) = 1.

Wegen

kAxk2 = kQRxk2 = kRxk2 folgt

κ2 (A) = κ2 (R)

(siehe Übungsaufgabe).

Aber: Der Rechenaufwand zur Berechnung einer QR-Zerlegung ist 2-3 mal höher als bei der LR-Zerlegung. Man verwendet die QR-Zerlegung daher meist nur bei schlecht konditionierten Problemen.

Übungen Aufgabe: Sei orthogonaler

A ∈ Rn×n invertierbar. Zeigen Sie, dass die Zerlegung A = QR mit Matrix Q und rechter oberer Dreiecksmatrix R mit positiver Diagonale

eindeutig ist.

36

5 Nichtlineare Gleichungssysteme Problem: Gegeben

F : Rn → Rn

und

y ∈ Rn .

Suche

x ∈ Rn

mit

F (x) = y .

Bemerkung: Ohne wesentliche Einschränkung könnte man sich mittels den Fall

y=0

F ← F − y auf y recht

beschränken. In Theorie und Praxis ist allerdings ein allgemeines

praktisch. Anwendungen: In dieser Allgemeinheit fällt fast alles darunter. Oft kommt das Gleichungssystem n aus einem Optimierungsproblem, weil ein Extremum einer Funktion Φ : R → R das System

F (x) := ∇Φ(x) = 0

lösen muss.

5.1 Der eindimensionale Fall Problem: Sei

f :R→R

und

y ∈ R.

Suche ein

x∈R

mit

f (x) = y .

Beispiele:

√ 2



x∈R



Berechne



Wann lag der Ölpreis bei 70 Dollar/Barrel?

numerisch

Finde

mit

x2 = 2. ⇒

Finde Zeit mit Ölpreis(Zeit)

= 70.

5.1.1 Halbierungsverfahren Satz: (Zwischenwertsatz) Sei

f (b)

oder

f (b) ≤ y ≤ f (a).

f : R → R stetig und y, a, b ∈ R mit a ≤ b und f (a) ≤ y ≤ x ∈ [a, b] mit f (x) = y .

Dann gibt es

Beweis: Analysis ([HM-Skript], Satz 7.11). Frage: Kann man diesen Satz zur Lösung von

f (x) = y

verwenden?

a+b und berechne f (c). Je nach dem Vorzeichen 2 kann man eines der Teilintervalle [a, c] oder [b, c] so auswählen, dass darin ein

Idee: (Halbierungsverfahren) Nimm

c=

y−f (c) x mit f (x) = c liegt. Dann kann man sich aber auf dieses kleinere Intervall beschränken, und mehrfache Intervallhalbierung bestimmt eine Lösung x beliebig genau. von

Programm: function while

s o l u t i o n = i n t e r v a l _ s o l v e ( f , y , eps , a , b ) a b s ( b−a )>e p s

c = ( a+b ) / 2 ; disp ( c ) ;

37

if

( f ( a )−y )

∗ ( f ( c )−y )e p s

( f , Df , y , x0 , e p s )

disp (x) x=x+r e s / Df ( x ) ; r e s=y− f ( x ) ; end endfunction

√ Anwendungsbeispiel: Berechnung von function

2:

y = square (x)

y=x ∗ x ; endfunction function

y = twice (x ) ;

y=2∗ x ; endfunction newton

( square ,

twice ,

2,

1,

1 e − 12)

Beobachtungen:



√ Für positive Startwerte konvergiert das Verfahren gegen



− 2. •

Für den Startwert

0

2,

für negative gegen

ist es nicht deniert.

Die Konvergenz ist sehr schnell, wenn der Startwert nahe bei einer der Lösungen

√ ± 2

ist.

Anwendungsbeispiel: Berechnung der Nullstelle function

y = f (x)

y=t a n h ( x ) endfunction

39

x=0

von

f (x) = tanh(x):

function

y = Df ( x )

y=1− t a n h ( x ) ^ 2 endfunction newton

(f ,

Df ,

0,

1 e − 12)

1,

Beobachtung: Hier konvergiert das Verfahren nur, wenn der Startwert nahe bei ist (|x|

≤ 1

reicht). Für groÿe Startwerte (z.B.

x = 2)

0

werden die Iterierten mit

wechselndem Vorzeichen sehr schnell gröÿer.

5.2 Der mehrdimensionale Fall Problem: Zu

F ∈ C 1 (Rn , Rn )

und

Erinnerung: Die Ableitung von stetige matrixwertige Funktion,

y ∈ Rn

wollen wir das Problem

F ∈ C 1 (Rn , Rn ) bezeichnen 0 n n×n also DF ∈ C (R , R ).

F (x) = y

wir mit

DF .

lösen. Es ist eine

5.2.1 Beispiel Aufgabe: Schneide den Kreis

x21 + x22 = 1 mit der Kurve

x 2 = e x1 . Zusammengefasst führt das zum Gleichungssystem

  1 F (x) = 0

wobei

   2  x1 x1 + x22 F : 7→ . x2 x2 − ex1

Bemerkung: Eine Grak zeigt, dass es zwei Lösungen gibt: die eine ist der Punkt

 die andere liegt in der Nähe von

  0 , 1

 −1 . 1/e

Idee: Nach Denition der Ableitung gilt wieder die lineare Approximation

F (x) ≈ F (x0 ) + DF (x0 )(x − x0 ) . Daher sollte sich das Newton-Verfahren einfach übertragen lassen. Algorithmus: (Verallgemeinertes Newton-Verfahren für n-dimensionale Probleme) Gegeben 1 n n 0 n n×n seien F ∈ C (R , R ), die Ableitung DF ∈ C (R , R ) und y ∈ Rn , sowie ein n Startwert x0 ∈ R . Dann erhalten wir die Folge der Newton-Iterierten durch

xk+1 = xk + (DF (xk ))−1 (y − F (xk )) .

40

Bemerkung: Die Ableitung

DF (xk )

ist eine Matrix (die sogenannte Jacobi-Matrix) und

muss invertiert werden. Das Verfahren bricht zusammen, wenn es auf einen Punkt mit singulärer Jacobi-Matrix läuft. Programm: (Newton-Verfahren) function

x = newton

( f , Df , y , x0 , e p s )

x=x0 ; r e s=y− f ( x ) ; while

norm ( r e s )>e p s

x=x+(Df ( x ) )

\

res ;

disp (x) ; r e s=y− f ( x ) ; end endfunction

Bemerkung: Es waren nur zwei Änderungen des 1D-Programms nötig: erstens die Verwendung von norm anstelle von abs, zweitens die Verwendung des Backslash-Operators. Das entstandene Programm funktioniert für beliebige Dimensionen. Beispiel: Den zweiten Schnittpunkt des Einheitskreises mit dem Graph

x2 = ex1

berechnet

der Code function

y = f (x)

y =[ x (1)^2+ x ( 2 ) ^ 2 ;

x (2) − e x p ( x ( 1 ) ) ] ;

endfunction f u n c t i o n D = Df ( x ) D=[ 2 ∗ x ( 1 ) , 2 ∗ x ( 2 ) ;

−e x p ( x ( 1 ) )

,1];

endfunction newton

(f ,

Df ,

 Man erhält die Lösung

−1;0] ,  −0.91656258 . 0.39989127

[1;0] ,

x≈

[

1 e − 12)

5.3 Theorie des Newton-Verfahrens 5.3.1 Kondition des Problems

F ∈ C 1 (Rn , Rn ) und y = F (x). Wenn DF (x) invertierbar n n ist, so existieren Umgebungen U ⊂ R von x und V ⊂ R von y sowie eine Abbildung F −1 : V → U , so dass F −1 ◦ F |U = IU und F ◦ F −1 |V = IV . Auÿerdem gilt D(F −1 )(y) = (DF (x))−1 .

Satz: (Umkehrfunktion) Sei

Beweis: Analysis ([HM-Skript, Satz 9.9 und Satz 22.13]).

41

∆x der Lösung x der nichtlinearen Gleichung F (x) = y y um ∆y ?

Frage: Wie groÿ ist die Änderung bei Störungen der rechten Seite Antwort: Wenn

DF (x)

regulär ist, so existiert lokal

F −1

und es gilt nach dem Kapitel

Grundlagen

˙ kD(F −1 )(y)kk∆yk = k(DF (x))−1 kk∆yk . k∆xk ≤ Wieder bezeichnet n×n auf R .

k·k eine beliebige Vektornorm im Rn sowie die zugehörige Operatornorm

Bezeichnung: Wir nennen die Gröÿe

κabs (F (x) = y) = kD(F −1 )(y)k = k(DF (x))−1 k . die Kondition der Lösung

x der Gleichung F (x) = y . Sie hängt von der gewählten Norm

ab. Bemerkungen:



Für nichtlineare Probleme kann es zu einem y mehrere Lösungen geben (z.B. hat √ √ x2 = 2 die Lösungsmenge {+ 2, − 2}). Die Kondition einer bestimmten Lösung

x

quantiziert das lokale Verhalten einer Umkehrfunktion, die auf eine Umgebung

von



x

abbildet!

Man beachte, dass wir für die Fehlerfortpanzung bei nichtlinearen Problemen absolute Fehler betrachten, und dementsprechend auch die absolute Kondition verwenden. Der Grund ist einfach: Im allgemeinen gilt nicht

F (0) = 0,

so dass der

Begri des relativen Fehler nicht überall Sinn macht.

Beispiel: Wir betrachten wieder das Problem des Schnitts von Einheitskreis und Graph der Exponentialfunktion. Die Ableitung hatte hier die Form



Die Konditionen der

 2x1 2x2 DF (x) = −ex1 1     0 −0.91656258 . . . Schnittpunkte und 1 0.39989127 . . .

berechnen sich dann

bezüglich der Maximumsnorm als

    −1 1 3 −1 0 −1 0 2 2 k∞ = • kDF ( ) k∞ = k k∞ = k 1 0 1 −1 1 2 2   −0.91656258 . . . −1 • kDF ( ) k∞ = 1.4755949 . . . 0.39989127 . . . Für beide Schnittpunkte ist der Wert moderat, die Schnittpunkte sind also gut konditioniert.

42

Beispiel: Lineare Probleme sind ein Spezialfall von nichtlinearen. Wir wollen den Schnittpunkt der Geraden

y = kx + m

Die Lösung ist

k

mit der x-Achse bestimmen. Dazu suchen wir die Lösung von

      0 x y F (ξ) = , F : 7→ . m y y − kx    m 0 1 −k , die Ableitung DF = . natürlich ξ = 0 −k 1

Für kleines

ist diese Matrix fast singulär und die Norm der Inversen wird beliebig groÿ. Der

Schnittpunkt ist also schlecht konditioniert. Geometrisch bedeutet dies, dass die Lage des Schnittpunkts beim schleifenden Schnitt sehr schlecht bestimmt ist, was ja der Erfahrung entspricht. Beispiel: Wir betrachten das Problem

F (x) = y ,

mit

Es hat die eindeutig bestimmte Lösung von

x

F (x) = x2

x = 0,

und

y = 0.

allerdings ist

F 0 (x) = 0,

die Kondition

also nicht deniert (oder unendlich groÿ). Solche Probleme nennt man schlecht

gestellt, und das Verhalten der Lösungsmenge bei Variation von

y

kann beliebig bösartig

sein. Im obigen Fall beobachten wir folgendes:



√ ∆y = ε > 0 gibt es zwei Lösungen x = ± ε. Es gilt |∆x| = √1ε |∆y|, kleines ε eine beliebig groÿe Verstärkung des absoluten Fehlers bedeutet.



Für

Für

∆y = ε < 0

was für

gibt es gar keine reelle Lösung.

Bemerkung: Wenn man in der Praxis auf ein solch schlecht gestelltes Problem stöÿt, sollte man seine Herkunft zurückverfolgen. Oft wird man feststellen, dass es durch einen Fehler zustande kam, und der Anwender eigentlich die Lösung eines ganz anderen Problems wünscht.

5.3.2 Fixpunktiterationen Denition: Wir betrachten allgemeine Iterationen der Form

x0 ∈ Rn , Wenn die Folge der Grenzwert

(xk )k∈N

x∗

gegen

xk+1 = Φ(xk )

x∗ ∈ Rn

für

k ≥ 1. Φ : Rn → Rn stetig ist, so ist gilt Φ(x∗ ) = x∗ . Wir nennen die

konvergiert und

oenbar ein Fixpunkt von

Φ,

d.h. es

Iteration daher auch eine Fixpunktiteration. Beobachtung: Die Newton-Iteration

xk+1 = xk + (DF (xk ))−1 (y − F (xk )) kann man als spezielle Fixpunkt-Iteration mit Iterationsfunktion

Φ(xk ) := xk + (DF (xk ))−1 (y − F (xk )) auassen.

43

5.3.3 Kontraktionen und Fixpunktsatz Denition: Sei

U ⊂ Rn

und

Φ:U →U

θ0

gewählt werden, damit

F (x) = x2

auf dem Intervall

[−α, α]

eine Kontraktion ist? Antwort: Wir berechnen α < 12 gewählt wird.

F 0 (x) = 2x

und sehen, dass

|F 0 (x)| ≤ θ < 1

nur gilt, wenn

Bemerkung: Wir sehen hier auch, dass die Forderung nach einer Kontraktion nur hinreichend, aber nicht notwendig für die Existenz eines eindeutig bestimmten Fixpunkts ist. Denn oensichtlich hat

F |[−α,α]

ja für alle

α 0, so dass das Newton-Verfahren n in der Kugel Bδ (x∗ ) := {x ∈ R : kx − x∗ k < δ} mit Rate θ konvergiert. Beweisskizze: Der Einfachheit halber zeigen wir es nur für den 1D-Fall und ohne die Konstanten zu quantizieren (und bezeichnen daher wieder F mit f ). 0 Weil f zweimal stetig dierenzierbar ist, und f (x∗ ) 6= 0, ist Φ in einer Umgebung von

x∗

stetig dierenzierbar mit Ableitung

Φ0 (x) = 1 − f 00 (x)f 0 (x)−2 (y − f (x)) − f 0 (x)−1 f 0 (x) = −f 00 (x)f 0 (x)−2 (y − f (x)) . y = f (x∗ ) gilt Φ0 (x∗ ) = 0. Und weil Φ0 stetig ist, gibt es daher zu einer beliebigen 0 Kontraktionszahl θ ein δ > 0, so dass |Φ (x)| ≤ θ für x ∈ Bδ (x∗ ). Daher ist Φ eine Kontraktion mit Rate θ auf U = Bδ (x∗ ). Mit unserer Version des Fixpunktsatzes folgt Wegen

dann auch die Konvergenz der Fixpunktiteration. Denition: Eine Folge es ein

C>0

(xk ) im Rn

heiÿt quadratisch konvergent gegen ein

x∗ ∈ Rn , wenn

gibt mit

kxk+1 − x∗ k ≤ Ckxk − x∗ k2 . Satz: Unter den obigen Voraussetzungen ist das Newton-Verfahren quadratisch konvergent.

Beweisskizze: In den oben konstruierten Umgebungen von

|y − f (x)| ≤ C1 |x − x∗ | , Die Kontraktionsrate in der Kugel um durch

Ckx − x∗ k

mit

x∗ gelten auch folgende Abschätzungen:

|f 0 (x)−1 | ≤ C2 ,

|f 00 (x)| ≤ C3 .

x∗ mit Radius kx−x∗ k lässt sich daher abschätzen

C = C1 C2 C3 .

Bemerkung: Diese quadratische Konvergenz in der Nähe der Lösung tatsächlich in der Praxis, vorausgesetzt: 1.

F

und

DF

2. die Lösung 3.

F

und

DF

sind ausreichend glatt (F

x∗

∈ C 2 , DF ∈ C 1 ),

ist gut konditioniert (DF (x∗ ) ist regulär)

werden ausreichend genau berechnet und

4. es wurden keine Fehler in der Implementation gemacht.

46

x∗

beobachtet man

5.4 Das globale Newton-Verfahren Problem: In der Praxis ist es oft schwierig, Startwerte zu nden, die so nahe bei einer Lösung sind, dass das unmodizierte Newton-Verfahren konvergiert. Wir haben am Beispiel des

tanh

gesehen, dass dies sogar schon in sehr einfachen Situationen auftreten

konnte. Beobachtung: Wenn

F

dierenzierbar ist und

DF

regulär ist, so ist die Newton-Richtung

v = DF −1 (xk )(y − F (xk )) auf jeden Fall eine Richtung, in der die Funktion sieht man, weil ja wegen der Dierenzierbarkeit

s 7→ ky − F (xk + s)k kleiner wird. Dies in xk die Approximation

. F (x) = F (xk ) + DF (xk )(x − xk ) gilt. Man kann aber nicht garantieren, dass man den Schritt in voller Länge durchführen kann, ohne den Gültigkeitsbereich dieser Approximation zu verlassen! Idee: Dämpfe den Newton-Schritt mit einem Faktor

vk = DF −1 (xk )(y − F (xk )) , wobei

ωk

ωk ∈]0, 1]:

xk+1 = xk + ωk vk

geeignet gewählt wird.

Bezeichnung: Das entstehende Verfahren heiÿt Newton-Verfahren mit Dämpfungsstrategie oder globales Newton-Verfahren. Bemerkung: Es gibt verschiedene Strategien, den Dämpfungsfaktor zu wählen. Eine oft angewandte Strategie funktioniert im wesentlichen wie folgt: 1. Ein gegebener Dämpfungsfaktor

ωk

wird so lange halbiert, bis er zulässig ist.

Dabei bedeutet zulässig, dass die Verringerung der Fehlernorm im wesentlichen dem erwarteten linearen Abfall entspricht:

ky − F (xk + ωk vk )k ≤ (1 − θωk )ky − F (xk )k . Hierbei ist

θ ∈ (0, 1)

beliebig, eine in der Praxis bewährte Wahl ist

2. Am Anfang wählt man z.B.

ω0 = 1

θ=

1 . 2

(oder aber etwas kleineres, wenn das Problem

schwierig ist). Später führt man obige Prozedur ausgehend vom Startwert

min(2ωk , 1)

ωk+1 =

aus durch. Durch diese anfängliche Verdopplung wird die Dämpfung

allmählich wieder ausgeschaltet, sobald das Verfahren mit gröÿeren Schritten gut funktioniert. Hierdurch man erhält man insbesondere nahe der Lösung die quadratische Konvergenz des ungedämpften Verfahrens zurück. Programm: (Globales Newton-Verfahren)

47

function

x = global_newton

( f , Df , y , x0 , e p s )

x = x0 ; r e s = y− f ( x ) ; omega = 1 ; while

norm ( r e s )>e p s

v = Df ( x )

\

do

res ;

omega = min ( 2 ∗ omega , 1 ) ; while

norm ( y− f ( x+omega ∗ v ) ) > (1 − t h e t a ∗ omega ) ∗ norm ( r e s )

do

omega=omega / 2 ; end x = x+omega ∗ v ; d i s p ( omega ) ; disp (x) ; r e s=y− f ( x ) ; end endfunction function

y = f (x)

y = tanh ( x ) ; endfunction function

y = Df ( x )

y = 1− t a n h ( x ) ^ 2 ; endfunction theta =

0.5;

g l o b a l _ n e w t o n ( f , Df , 0 , 1 0 , 1 e − 10)

Beobachtung: Diese Newton-Variante konvergiert bei der Berechnung der Nullstelle des

tanh

für alle Startwerte

x0 ∈ R

gegen die Lösung

x = 0.

5.5 Iterative Lösung linearer Gleichungssysteme 5.5.1 Einführung Beobachtung: Wenn man das Newton-Verfahren auf ein lineares Gleichungssystem

F (x) := Ax = y , mit invertierbarem

A

A ∈ Rn×n ,

x, y ∈ Rn

anwendet, so ergibt sich der Newton-Schritt

xn+1 = xn + A−1 (y − Axn ) = A−1 y . Das Verfahren liefert also bereits nach einem Schritt die exakte Lösung.

48

Beobachtung: Wenn man allerdings das Gleichungssystem im Newton-Schritt nur approximativ −1 löst, d.h. anstelle von A nur eine Approximation B (den sogenannten Vorkonditionierer) anwendet, so liefert die Vorschrift

xn+1 = xn + B(y − Axn ) ein iteratives Verfahren zur Lösung des linearen Gleichungssystems

Ax = y .

Bemerkung: Eine solche iterative Lösung kann günstig sein, weil insbesondere für hochdimensionale −1 Systeme (d.h. groÿes n) die Berechnung von A oder die Lösung des Gleichungssystems 3 in O(n ) Operationen zu aufwendig ist. Beispiel: Wir betrachten die Matrix

I =: B .

A = I +S

mit

kSk ≤

1 und setzen einfach 2

A−1 ≈

Damit erhalten wir die Iteration

xn+1 = Φ(xn ) := xn + B(y − Axn ) = y − Sxn . Die Abbildung

Φ

ist aber oenbar wegen

kΦ(ξ1 ) − Φ(ξ2 )k = kS(ξ1 − ξ2 )k ≤ kSkkξ1 − ξ2 k eine Kontraktion mit Kontraktionsfaktor Bezeichnung:

1 . 2

k·k bezeichnet hier wieder sowohl eine (beliebige) Vektornorm als auch die

zugehörige Matrixnorm.

A wie oben und ε = 2−k eine vorgegebene Genauigkeit. Dann approximiert die obige Iteration mit Startwert x0 = 0 die Lösung x von Ax = y in höchstens k Schritten bis auf einen Fehler der Gröÿe kxk − xk ≤ εkxk. Folgerung: Sei

Bemerkungen: Der Aufwand für jeden einzelnen Iterationsschritt n×n stark von S ∈ R ab:



Für allgemeines 2 also n AO.



Für dünnbesetzte Matrizen

hängt

S ist es im wesentlichen der Aufwand für eine Matrix-Vektor-Multiplikation, S

(d.h. nur

Null verschieden) ist der Aufwand



xn+1 = y − Sxn

N

N  n2

Matrixeinträge von

S

sind von

AO.

7→ y − Sx schnell ∈ Rn . Obwohl S 2n AO, um y − Sx =

Manchmal gibt es eine besondere Technik, um die Abbildung x t durchzuführen. Ein Beispiel wäre S = vw mit Vektoren v, w im allgemeinen voll besetzt ist, braucht man hier nur etwa y − v(wt x) zu berechnen.

49

5.5.2 Konvergenztheorie Satz: Wir betrachten die Iteration

x0 ∈ R n ,

xn+1 = Φ(xn ) := xn + B(y − Axn ) = By + (I − BA)xn

Angenommen, es gibt eine Norm

k·k

(Vektor- und zugehörige Matrixnorm) mit

kI − BAk = ρ < 1 , so konvergiert die Iteration mit der Konvergenzrate Beweis: Oenbar ist

Φ

ρ

bezüglich dieser Norm.

dann eine Kontraktion mit der Rate

Interpretation: Gute Konvergenz erhält man oenbar für bedeutet, dass

B

nahe bei der Inversen von

A

ρ

bezüglich

k·k.

ρ = kI − BAk  1.

Dies

liegt!

5.5.3 Die Beziehung zur Kondition Satz: Es gelte

kI − BAk ≤ ρ < 1 . Dann gilt

κ(BA) ≤ wobei

κ(A) = kAkkA−1 k

1+ρ 1−ρ

die Kondition der Matrix

ρ≥

A

bezeichnet. Umgekehrt gilt

κ(BA) − 1 . κ(BA) + 1

Interpretation: Gute Konvergenz der linearen Iteration ist nur dann möglich, wenn die

BA moderat ist. Dies motiviert auch die Bezeichnung Vorkonditionierer Wahl von B führt nämlich zu κ(BA)  κ(A).

Kondition der Matrix für

B:

eine gute

Beweis: Wir setzen

S = BA

und gehen aus von

kI − Sk = ρ < 1.

k(I − S)xk = kx − Sxk ≤ ρkxk ,

Dies bedeutet

x ∈ Rn .

Die Dreiecksungleichung liefert nun einerseits

kxk − kSxk ≤ ρkxk



kSxk ≥ (1 − ρ)kxk ,

kSxk − kxk ≤ ρkxk



kSxk ≤ (1 + ρ)kxk ,

andererseits

Nun folgt

κ := κ(S) =

maxkxk=1 kSxk 1+ρ ≤ minkxk=1 kSxk 1−ρ

50

und Auösen dieser Ungleichung nach

Bemerkung: Wenn

κ  1,

so gilt

ρ

liefert auch

1− κ−1 = κ+1 1+

1 κ 1 κ

ρ≥

≈1−

κ−1 . κ+1

2 . κ

Bemerkung: Die Kunst bei der iterativen Lösung linearer Gleichungssysteme liegt vor allem in der guten Wahl des Vorkonditionierers

B.

1.

B=

1 I für symmetrisch positiv denites kAk2

2.

B=

1 At für beliebiges kAt Ak2

Für einfache Optionen wie

A

oder

A

konvergiert die Iteration zwar (siehe Übung), aber meist sehr langsam.

5.5.4 Anwendung Beispiel: Sei

A ∈ Rn×n

gegeben als



2

 −1 An =  

Es gilt

kAn k2 ≈ 4

−1 ..

.

..

.

 ..

.

  . .. . −1 −1 2

(siehe Übung).

Ziel: Obwohl man ein LGS mit der obigen Systemmatrix sehr ezient direkt lösen kann 1 (wie?), wollen wir hier die iterative Lösung betrachten. Wir wählen daher B = I und 4 untersuchen, wie schnell die folgende Iteration konvergiert:

1 xk+1 = xk + (y − Axk ) . 4 Programm: (Iterative Lösung von function n =

y = apply_A

An x = (1, . . . , 1)t )

(x)

size (x , 1 ) ;

y = 2∗ x



[x(2:n );0]



[ 0 ; x (1: n−1)];

endfunction function

[ x , count ]

= iter_solve

(y)

x = zeros ( size (y , 1 ) , 1 ) ; r e s = y−apply_A ( x ) ; count = 0 ; while

( norm ( r e s )>1 e − 8)

do

x = x +0.25∗ r e s ;

51

r e s = y−apply_A ( x ) ; c o u n t = c o u n t +1; end endfunction Bemerkung: Man beachte, dass die Matrix

A

nicht einmal abgespeichert werden muss!

Zur Durchführung des Verfahrens reicht es vollkommen aus, dass man die Abbildung

x 7→ Ax

berechnen kann.

Beobachtung: Die Zahl der notwendigen Iterationen vervierfacht sich bei Verdopplung der Gröÿe des Systems. Der Grund liegt in der Vervierfachung der Kondition der Matrix

An bei Verdopplung von n, was zu einer entsprechenden Verschlechterung der Konvergenzrate führt.

5.5.5 Optimale Dämpfung Bemerkungen:



Auch für die iterative Lösung linearer Gleichungssysteme sind Dämpfungsstrategien sinnvoll und wichtig, insbesondere weil sie gröÿere Freiheit in der Wahl des Vorkonditionierers

B •

erlauben.

Im Gegensatz zur Dämpfung bei nichtlinearen Problemen ist es hier sogar möglich: 1. einen optimalen Dämpfungsfaktor zu berechnen, 2. die Suchrichtung

v = B(y − Ax)

so zu verändern, dass der Schritt in einem

Unterraum, der auch alle alten Suchrichtungen beinhaltet, optimal ist.



Beispiele solcher Verfahren sind das CG-Verfahren (conjugate gradient) für symmetrisch positiv denite Systeme oder das GMRES-Verfahren (generalized minimum residual) für eine beliebige Systemmatrix.



In Scilab/Matlab/Octave gibt es dazu die Befehle pcg (preconditioned conjugate gradient) und gmres.

Bemerkung: Ähnliche Matrizen wie die Matrix

An

des vorigen Abschnitts (welche man

aber nicht mehr so einfach direkt lösen kann) entstehen etwa bei der Diskretisierung sogenannter partieller Dierentialgleichungen. Mit diesen kann man etwa Strömungen oder die Deformation von Objekten unter Krafteinwirkung beschreiben. Die hohe Zahl der Unbekannten rührt von der Diskretisierung eines mehrdimensionalen Kontinuums mit Hilfe eines feinen Gitters her. Die schnelle iterative Lösung linearer Systeme mit Hilfe von CG- bzw. GMRES-Verfahren in Kombination mit einem guten Vorkonditionierer ist für eine erfolgreiche numerische Simulation solcher Probleme essentiell.

52

Übungen Aufgabe: Bei der Diskretisierung des Randwertproblems

−u00 (x) = f (x) ,

x ∈ (0, 1) ,

u(0) = u(1) = 0

mit sogenannten Finiten Dierenzen auf einem Gitter der Gitterweite die

h=

n × n-Tridiagonalmatrix  1 A= 2 h

2

 −1  

−1 ..

.

..

.

1 entsteht n+1

 ..

.

  . .. . −1 −1 2 (k)

k = 1, . . . , n die Eigenvektoren v (k) durch vi = sin(ikπh) und die −2 Eigenwerte als λk = 2h (1−cos(kπh)) gegeben sind. Wie groÿ ist also die Spektralkondition Zeigen Sie, dass für dieser Matrix? Aufgabe: Das einfachste iterative Verfahren zur Lösung eines linearen Gleichungssystems

Ax = y

mit einer symmetrisch positiv deniten Matrix

x(k+1) = x(k) + B(y − Ax(k) ) ,

A

ist die Iteration

B=

ω kAk2

mit einem Dämpfungsfaktor 0 < ω < 2. Zur Konvergenzanalyse betrachten wir den (k) Fehler e = x(k) − x, wobei x die exakte Lösung ist. Zeigen Sie, dass diese Iteration in der Euklidischen Norm

k·k2

konvergiert.

53

6 Interpolation 6.1 Einführung Problem: Eine Funktion

f : [a, b] → R

ist nur an

n

Punkten

t1 , . . . , tn ∈ [a, b]

bekannt

(z.B. durch Messungen), d.h.

f (ti ) = fi , Nichtsdestoweniger wissen wir, dass

f

i = 1, . . . , n .

eigentlich eine stetige (glatte) Gröÿe beschreibt

und wollen daher



die Funktion an einem Wert

t ∈ [a, b] \ {t1 , . . . , tn }



die Funktion graphisch darstellen oder aber



Ableitungen der Funktion berechnen.

approximieren,

n-dimensionalen Vektorraum V bestehend aus Funktionen die n Bedingungen ϕ(ti ) = fi genau ein Element aus V

Idee: Wir wählen einen geeigneten

ϕ,

die so beschaen sind, dass

auswählen. Beispiele: In dieser Vorlesung betrachten wir nur folgende Situationen:

• f

ist glatt und der Raum

V

besteht aus Polynomen

• f

ist glatt und der Raum

V

besteht aus stückweisen Polynomen (Splines)

Bemerkung: Man beachte, dass die Werte von

f

an der Stelle

ti

hier als genau bekannt

angenommen und entsprechend exakt interpoliert werden. Ebenfalls häug in der Praxis anzutreen ist das Problem, dass die Messungen der

fi = f (ti )

mit Fehlern behaftet

sind. In diesem Fall ist es meist nicht angebracht, die Gleichungen

ϕ(ti ) = fi

exakt zu

n Messungen ein k -dimensionaler Funktionenraum V mit dim(V ) = k  n gewählt, und dann durch Lösung eines linearen Ausgleichsproblems ein Element aus V ausgewählt (siehe etwa das Automotoren-Beispiel aus dem Kapitel erfüllen. Stattdessen wird zu

über Ausgleichsprobleme).

54

6.2 Lagrange-Interpolation 6.2.1 Konstruktion Voraussetzung: Gegeben sei ein Intervall mit

ti 6= tj

für

i 6= j

(d.h. die

ti

I = [a, b]

und Stützstellen

Aufgabe: (Lagrangesche Interpolationsaufgabe) Zu einer Funktion n wir nun ein Polynom p ∈ P mit

p(ti ) = f (ti ) , Pn

{t0 , . . . , tn } ∈ [a, b]

sind paarweise verschieden).

f ∈ C 0 ([a, b])

suchen

i = 0, . . . , n .

bezeichnet hier den Vektorraum aller Polynome mit Grad kleiner oder gleich

Beachte: Ab jetzt ist

n

der Polynomgrad und

Denition: Zu den Stützstellen

Satz: Es gilt

Li,n (tj ) = δij ,

ti

n+1

n.

die Zahl der Stützstellen.

i = 0, . . . , n denieren Q j6=i (t − tj ) Li,n (t) = Q j6=i (ti − tj ) für

i, j = 0, . . . , n. Hieraus P n bilden.

wir die Lagrange-Polynome

folgt insbesondere, dass die

n+1

Lagrange-Polynome eine Basis von Beweis: Wegen

Li,n (tj ) = δij

sieht man sofort, dass man keines der Lagrange-Polynome n aus den anderen durch Linearkombination erhalten kann. Da dim(P ) = n + 1 folgt die

Behauptung. Satz: Die Lagrangesche Interpolationsaufgabe besitzt eine eindeutige Lösung, d.h. zu 0 n jedem f ∈ C ([a, b]) gibt es genau ein Polynom p ∈ P , welches die Interpolationsbedingung erfüllt. Beweis: Existenz: Wir setzen einfach

p(t) =

n X

f (ti )Li,n (t) .

i=0

p˜, welches p˜(ti ) = f (ti ) erfüllt, ebenfalls diese Darstellung p˜ = p sein.

Eindeutigkeit: Weil jedes Polynom in der Lagrange-Basis hat, muss

Beobachtung: Die Interpolationsabbildung

I : C 0 ([a, b]) → P n , die jeder stetigen Funktion

f

f 7→ p

das interpolierende Polynom zu den paarweise verschiedenen

Stützstellen t0 , . . . , tn zuordnet, ist eine lineare Abbildung. (Es ist eine Projektion von C 0 ([a, b]) auf P n ⊂ C 0 ([a, b]).)

55

6.2.2 Gute Basiswahl Frage: Bezüglich welcher Basis von

Pn

sollen wir das Interpolationspolynom darstellen? n (Diese Frage ist unabhängig davon, ob P an sich geeignet ist.) Beobachtung: Die Koezienten des Interpolationspolynoms in der Lagrange-Basis sind trivialerweise gut konditioniert, weil die lineare Abbildung

I˜ : C 0 ([a, b]) → Rn+1 ,

f 7→ ~f := (f (ti ))i=0,...,n ∈ Rn+1

oenbar der Abschätzung

k~f k∞ ≤ kf kC 0 ([a,b]) genügt, wobei

kf kC 0 ([a,b]) := sup |f (x)| . x∈[a,b]

Aber: Die Kondition der Koezienten eines Interpolationspolynoms in der üblichen 2 Monombasis {1, x, x , . . .} ist oft schlecht konditioniert. Diese Koezienten a0 , . . . , an ergeben sich nämlich als Lösung des Vandermonde-Systems

a0 + a1 t0 + . . . + an tn0 = f0 a0 + a1 t1 + . . . + an tn1 = f1 . . .

. . .

. . .

a0 + a1 tn + . . . + an tnn = fn oder in Matrixform



1 t0 · · ·

 .. .. . . 1 tn · · ·

    a0 f0  .  .  .  .  .  =  .  . . . . tnn an fn tn0

Hier ist die Systemmatrix meist sehr schlecht konditioniert. Beispiel: Wir berechnen die Kondition des Vandermonde-Systems für äquidistante Stützstellen mit folgendem Scilab-Code: f u n c t i o n A = vand ( n ) x =[0:1/n : 1 ] ' ; A = z e r o s ( n +1 , n + 1 ) ; for

i =0: n

A ( 1 : n +1 , i +1) = x

.^

i ;

end endfunction for

i =1:10

d i s p ( i ) , d i s p ( c o n d ( vand ( i ) ) ) end

56

Beobachtung: Wir erhalten folgende Werte:

n cond2 (Vn )

1

2

3

4

5

10

2.6180

15.100

98.868

686.43

4924.4

1.1558 · 108

Folgerung: Man stellt Interpolationspolynome daher meist nicht bezüglich der Monombasis dar, sondern arbeitet mit der Lagrange-Basis oder der sogenannten Newton-Basis. Denition: Die Newton-Basis zu den Stützstellen

ωi (t) :=

i−1 Y (t − tj ) ∈ P i ,

t0 , . . . , tn

besteht aus den Polynomen

i = 0, . . . , n .

j=0

Bemerkungen:



Die Newton-Basis wird bei Hinzufügen neuer Interpolationspunkte erweitert, ohne dass sich die bisherigen Basiselemente verändern.



Die Bestimmung der Koezienten in der Newton-Basis verwendet die sogenannten dividierten Dierenzen (siehe [Rannacher, Satz 3.1.2]).



Die dividierten Dierenzen können auch zur Auswertung des Interpolationspolynoms an einer bestimmten Stelle

x

verwendet werden (sog. Schema von Neville).

6.2.3 Interpolationsfehler

f ∈ C n+1 ([a, b]) und sei p ∈ P n das Interpolationspolynom zu f bezüglich t0 , . . . , tn ∈ [a, b]. Dann gibt es zu jedem x ∈ [a, b] ein ξx ∈ [a, b] mit

Satz: Sei Stellen

f (x) − p(x) =

Hierbei ist

der

f (n+1) (ξx ) ω(x) . (n + 1)!

n Y ω(x) := (x − ti ). i=0

Beweis: Für x ∈ {t0 , . . . , tn } ist die Aussage oenbar richtig. Für f (x)−p(x) wir Kx := und betrachten die Funktion ω(x)

x 6∈ {t0 , . . . , tn }

setzen

ψ(t) = f (t) − p(t) − Kx ω(t) . ψ besitzt mindestens die n+2 Nullstellen {x, t0 , . . . , tn }. Nach dem Satz von Rolle hat ψ 0 00 dann mindestens n + 1 (dazwischen liegende) Nullstellen, ψ mindestens n Nullstellen, (n+1) usw. bis ψ hat mindestens eine Nullstelle ξ = ξx ∈ [a, b]. Für diese gilt 0 = ψ (n+1) (ξx ) = f (n+1) (ξx ) − Kx (n + 1)!

57

woraus die Behauptung folgt. Beispiel: Wir betrachten die Funktion

f (x) =

1 1+x

[0, 1] und interpolieren sie an äquidistanten Stützstellen t0 = 0, t1 = h, . . . , k k! tn = nh mit h = n1 . Dann gilt f (k) (x) = (−1) . Wie man sich leicht überlegt, kann man (1+x)k |ω(x)| für x ∈ [0, 1] (sehr grob!) abschätzen als im Intervall

1 1 2 n h · · ··· ≤ |ω(x)| ≤ h(2h) · · · (nh) = 2 2n n n n

 1 n/2 2 n

n

2− 2 = n

Somit gilt für den Interpolationsfehler über das ganze Intervall n

sup |f (x) − p(x)| ≤ x∈[0,1]

2− 2 . n

n und x fest vorgegeben hat, ist die Abschätzung noch einfacher. Z.B. ist der |f (k) (ξ)| 1 wegen supξ∈[0,1] ≤ 1 abschätzbar als Interpolationsfehler für n = 4 und x = 3 k! Wenn man

1 1 1 1 1 1 3 1 · | − | · | − | · | − | · | − 1| 3 3 4 3 2 3 4 3 1·1·1·5·2 ≈ 1.3 · 10−3 = 3 · 12 · 6 · 12 · 3

|f (x) − p(x)| ≤

Aber: Normalerweise fallen die Ableitungen nicht schnell genug ab, um eine Approximation

n → ∞ durch Polynominterpolation mit äquidistanten Stützstellen zu gewährleisten! 1 Ein bekanntes Gegenbeispiel ist auf dem gröÿeren Intervall [−5, 5], was wir im 1+x2 für

nächsten Abschnitt sehen werden.

6.2.4 Kondition der Polynominterpolation Frage: Ist die Interpolationsabbildung

I : C 0 ([a, b]) → P n

gut konditioniert, d.h. ist die

Interpolationsaufgabe gut gestellt? Antwort: Leider nein für groÿe

n, wenn man an einer Approximation in der Maximumsnorm

interessiert ist. Beobachtung: Für die Polynominterpolation

Cn :=

sup 06=f ∈C 0 ([a,b])

:=

I : C 0 ([a, b]) → P n

gilt

kpkC 0 ([a,b]) → ∞ (n → ∞) . kf kC 0 ([a,b]) p = I(f ) für groÿes n erhebliche I linear ist, bedeutet es gleichzeitig,

Dies bedeutet, dass die Lösung der Interpolationsaufgabe Überschwinger aufweisen kann. Weil die Interpolation

58

dass eine kleine Variation von

f

zu einer groÿen Änderung des interpolierenden Polynoms

führen kann. Beispiel: Wir interpolieren die Funktion

f (x) = auf dem Intervall

[a, b] = [−5, 5]

zu den äquidistanten Stützstellen

tk = a + kh , mit Polynomen

n-ten

1 1 + x2

k = 0, . . . , n ,

h=

b−a n

Grades.

Programm: (Polynominterpolation) Beobachtung:

2.0

1.5

1.0

0.5

0.0

−0.5 −6

Für groÿes

n

−4

−2

0

2

4

6

hat das interpolierende Polynom immer gröÿere Oszillationen an den

Intervallrändern. Die Stabilität ist oenbar nicht mehr gewährleistet. Abhilfe:

59



Wenn man auf die Äquidistanz der Stützstellen verzichtet, kann man ein wesentlich angenehmeres



log(n)-Wachstum

der Stabilitätskonstanten erreichen.

Verwende andere Funktionenräume zur Interpolation! Diesen Weg werden wir in der Folge gehen, wenn wir Räume betrachten, die nur stückweise polynomial (mit niedrigerem Grad) sind.

6.3 Stückweise polynomiale Approximationen (Splines)

∆ = {t0 , . . . , tn } des Intervalls I = ti ∈ [a, b] mit a = t0 < t1 < . . . < tn = b. Wir nennen die h := maxi=1,...,n |ti − ti−1 | die Feinheit der Unterteilung (oder auch Gitterweite).

Denition: Eine Unterteilung (auch Gitter genannt)

[a, b]

besteht aus Punkten

Gröÿe

Ansatz: Sei

∆ = {t0 , . . . , tn }

eine Unterteilung von

I = [a, b].

Wir suchen zu

f ∈ C 0 (I)

interpolierende Funktionen in folgendem Raum

k,r S∆ := {s ∈ C r (I) : s|[ti−1 ,ti ] ∈ P k } . (Also:

r-mal stetig dierenzierbar und auf jedem Teilintervall ein Polynom k -ten Grades.) k,r s ∈ S∆ soll die Bedingungen

Die Interpolationsbedingung ist wie gehabt:

s(ti ) = f (ti ) ,

i = 0, . . . , n

erfüllen.

6.3.1 Lineare Splines Ansatz: Der einfachste Fall ist

k =1

und

r =0

(d.h. die Funktionen sind stückweise

linear und global stetig):

1,0 S∆ := {s ∈ C 0 (I) : s|[ti−1 ,ti ] ∈ P 1 , i = 1, . . . , n} . Diesen Raum nennt man stückweise lineare Funktionen oder auch den Raum linearer Splines (Spline bedeutet etwa Stab auf Englisch). Beobachtung: Der Graph eines linearen Spline ist ein Polygonzug, der an den Stellen Knicke haben darf. Satz:

1,0 S∆

hat eine Basis bestehend aus den Hutfunktionen

ϕi (x) =

 x−ti−1   ti −ti−1 ti+1 −x

t −t   i+1 i 0

x ∈ [ti−1 , ti ] x ∈ [ti , ti+1 ] , sonst

60

i = 1, . . . , n − 1

ti

zusammen mit

( ϕ0 (x) = Diese Basis erfüllt

t1 −x t1 −t0

(

x ∈ [t0 , t1 ] , sonst

0

ϕi (tj ) = δij

ϕn (x) =

x−tn−1 tn −tn−1

x ∈ [tn−1 , tn ]

0

sonst

.

(sieht man einfach durch Einsetzen).

Beweis: Die Dimension des Raums aller (auch der unstetigen) stückweise linearen Funktionen 1,0 auf n Intervallen ist 2n. S∆ ist nun ein Teilraum davon, der durch n−1 Stetigkeitsbedingungen

i = 1, . . . , n − 1

lim s(t) = lim s(t) , t↑ti

t↓ti

eingeschränkt wird, was zu einer Dimension Zahl der oben denierten Funktionen

n+1

führt. Dies entspricht aber genau der

ϕi . Diese sind wegen ϕi (tj ) = δij

linear unabhängig

und bilden daher eine Basis. Anwendung: Wegen ϕi (tj ) = 1,0 mit (I∆ f )(ti ) = f (ti ) durch

δij

ist zu

1,0 1,0 f ∈ C 0 ([a, b]) eine Interpolierende s = I∆ f ∈ S∆

1,0 I∆ f (x)

=

n X

f (ti )ϕi (x)

i=0 deniert.

f ∈ C 2 (I) und die Unterteilung ∆ von I habe die maximale h := maxi=1,...,n |ti − ti−1 |. Dann gilt für alle x ∈ I die Abschätzung

Satz: Es sei

1,0 |f (x) − I∆ f (x)| ≤

Gitterweite

h2 sup |f 00 (ξ)| . 8 ξ∈[a,b]

Beweis: Dies folgt sofort aus der Fehlerabschätzung, die wir für die Lagrange-Interpolation kennen. Auf jedem Teilintervall

|f (x) −

[ti−1 , ti ]

1,0 I∆ f (x)|

gilt für ein

ξ ∈ [ti−1 , ti ]

|f 00 (ξ)| = |(x − ti−1 )(x − ti )| . 2

|ω(x)| = |(x − ti−1 )(x − ti )| berechnen. Das ti−1 +ti wird aber oenbar beim Scheitelpunkt der Parabel x = im Intervallmittelpunkt 2 1 h2 2 angenommen und hat den Wert (ti − ti−1 ) ≤ . 4 4 Wir müssen also nur noch das Maximum von

6.3.2 Kubische Splines Beobachtung: Die linearen Splines waren nur stetig, an den Stützstellen können Knicke auftreten. Abgesehen davon, dass die Approximationsordnung relativ niedrig ist, ist das Fehlen an Dierenzierbarkeit für verschiedene Anwendungen problematisch. Insbesondere

61

für Graphikanwendungen ist nicht einmal die stetige Dierenzierbarkeit völlig zufriedenstellend, weil dem Auge auch ein Sprung in der zweiten Ableitung noch auallen kann.

k=3

Abhilfe: Wir betrachten den Ansatzraum für

und

r = 2,

d.h.

3,2 S∆ := {s ∈ C 2 (I) : s|[ti−1 ,ti ] ∈ P 3 , i = 1, . . . , n} . Diese Funktionen nennt man kubische Splines. Frage: Ist der Funktionenraum



3,2 S∆

zur Interpolation brauchbar, d.h. insbesondere

Ist das Problem

s(ti ) = f (ti ) , für beliebiges



0

f ∈ C (I)

Ist eine Lösung

Lemma: Es sei

lösbar?

3,2 s ∈ S∆

f ∈ C 2 ([a, b])

i = 0, . . . , n

eindeutig?

und

3,2 s ∈ S∆

mit

s(ti ) = f (ti ) ,

i = 0, . . . , n

Dann gelten die Gleichungen

Z

b

b

(f 00 (x) − s00 (x))s00 (x) dx = [(f 0 (x) − s0 (x))s00 (x)]a ,

a woraus folgt

b

Z

00

00

b

Z

2

00

|f (x) − s (x)| dx =

b

Z

2

a

a

b

|s00 (x)|2 dx − 2 [(f 0 (x) − s0 (x))s00 (x)]a .

|f (x)| dx − a

Beweis: Zweimalige partielle Integration auf den Teilintervallen liefert

b

Z

(f 00 (x) − s00 (x))s00 (x) dx

a

=

n X

0

0

[(f (x) − s (x))s

00

t (x)]tii−1

Z −

0

0

= [(f (x) − s (x))s

00

b (x)]a



(f 0 (x) − s0 (x))s000 (x) dx

a

i=1 n X

b

[(f (x) − s(x))s

000

t (x)]tii−1

b

Z

(f (x) − s(x))s(4) (x) dx

+ a

i=1 b

= [(f 0 (x) − s0 (x))s00 (x)]a wegen der Interpolationsbedingungen, und weil

s(4) ≡ 0

auf jedem Teilintervall ist. Nun

folgt die zweite Aussage aus der ersten wegen

Z

b 00

00

2

Z

b

|f (x) − s (x)| dx = a

00

2

Z

b

|f (x)| dx −

2

Z

|s (x)| dx − 2

a

Folgerung: Der die Funktion

00

a

f ∈ C 2 ([a, b])

b

(f 00 (x) − s00 (x))s00 (x) dx

a

interpolierende Spline

Randbedingungen

62

3,2 , s ∈ S∆

der eine der

1.

s0 (a) = f 0 (a)

2.

s00 (a) = s00 (b) = 0

und

s0 (b) = f 0 (b)

(vollständige Splineinterpolation)

(natürliche Splineinterpolation)

erfüllt, minimiert das Funktional (Funktional: Abbildung von Funktionen in die reellen Zahlen)

b

Z

|u00 (x)|2 dx

Q(u) := a 2

u ∈ C (I), die 1. für alle ti ∈ ∆ mit f übereinstimmen und 2. im 0 0 0 0 Fall der vollständigen Splineinterpolation auch u (a) = f (a) und u (b) = f (b) erfüllen. (Beweis: s interpoliert auch u.) unter allen Funktionen

Interpretation: Die Gröÿe des Graphen von

|u00 (x)| kann man für kleine Ableitung |u0 (x)| als die Krümmung

u interpretieren. Ein kubischer Spline nimmt also (unter Einhalten der

Interpolationsbedingungen) eine Art minimaler Krümmung an. Folgerung: Der eine Funktion

f ∈ C 2 ([a, b])

interpolierende Spline

3,2 s ∈ S∆ ,

welcher

zusätzlich eine der Randbedingungen 1.

s0 (a) = f 0 (a)

2.

s00 (a) = s00 (b) = 0

und

s0 (b) = f 0 (b)

(vollständige Splineinterpolation)

(natürliche Splineinterpolation)

erfüllt, ist eindeutig bestimmt.

Rb s1 und s2 gäbe, so müssten beide Q(u) = a |u00 (x)|2 dx minimieren, woraus insbesondere Q(s1 ) = Q(s2 ) folgt. Nach dem Lemma ergibt sich dann auch Z b Q(s1 − s2 ) = |s001 (x) − s002 (x)|2 dx = 0

Beweis: Wenn es zwei solche Splines

a

w = s1 − s2 ist damit linear auf jedem Teilintervall [ti−1 , ti ] w(ti ) = 0 für i = 0, . . . , n. Hieraus folgt aber w ≡ 0.

folgt. Die Funktion erfüllt obendrein

Folgerung: Für jedes

und

3,2 s ∈ S∆

zu

ist ein Teilraum der stückweise kubischen Polynome, welcher

4n

f ∈ C 2 ([a, b])

gibt es genau eine Splineinterpolierende

vollständigen (alternativ: natürlichen) Randbedingungen. Beweis: Der Raum

3,2 S∆

3n−3 lineare Übergangsbedingungen 3,2 eine Dimension von S∆

Freiheitsgerade (Dimensionen) hat. Eingeschränkt wird er durch (Stetigkeit von Funktion, erster und zweiter Ableitung), was von

n+3

liefert. Diese werden dann durch

n+1

Interpolationsbedingungen und zwei

Randbedingungen speziziert. Dieser letzte Prozess entspricht dem Lösen eines linearen Systems der Dimension

n+3, für welches die Lösungen (wie wir gezeigt haben) eindeutig

sind. Ein Standardergebnis der linearen Algebra sagt, dass dies äquivalent zur Existenz einer Lösung für alle Vorgaben ist.

63

6.3.3 Berechnung eines interpolierenden kubischen Splines 3,2 Beobachtung: Die zweite Ableitung eines kubischen Splines s ∈ S∆ ist ein stückweise 1,0 00 00 00 linearer Spline s ∈ S∆ . s ist daher durch die Werte Mi = s (ti ) eindeutig bestimmt. Man nennt diese Gröÿen die Momente.

3,2 1,0 00 s ∈ S∆ seien die Momente m = s ∈ S∆ und die Werte fi = s(ti ) i−1 = t−thi−1 Teilintervall [ti−1 , ti ] gilt mit ˆ t = tt−t i −ti−1 i

Satz: Für einen Spline gegeben. Auf dem

mi (t) = m ˆ i (ˆt) = (1 − ˆt)Mi−1 + ˆtMi und

 h2ˆt(1 − ˆt) si (t) = ˆsi (ˆt) = (1 − ˆt)fi−1 + ˆtfi − i (1 + ˆt)Mi + (1 + (1 − ˆt))Mi−1 6 Beweisskizze: Bei gegebenen Momenten

m = s00

kann der Spline

s auf jedem Teilintervall

durch zweifache Integration erhalten werden: es gilt nämlich

Z

t

Z

τ

s(t) = ti−1 und die Werte von

s00 (r)dr dτ + At + B

ti−1

A und B können so gewählt werden, dass s die Interpolationsbedingungen

an den Intervallenden erfüllt. Für die genaue Rechnung wird auf die Übung verwiesen. Satz: Es sei

I = [a, b] und ∆ = {t0 , . . . , tn } wie oben. Dann sind die Momente (Mi )i=0,...,n 3,2 f ∈ C 1 ([a, b]) vollständig interpolierenden kubischen Splines s ∈ S∆

des eine Funktion

die Lösung des Gleichungssystems

hi hi + hi+1 hi+1 fi+1 − fi fi − fi−1 − , Mi−1 + Mi + Mi+1 = 6 3 6 hi+1 hi h1 h1 f1 − f0 M0 + M1 = − f 0 (a) , 3 6 h1 hn hn fn − fn−1 Mn + Mn−1 = f 0 (b) − , 3 6 hn

i = 1, . . . , n − 1 i=0 i = n.

Beweis: Die Gleichungen ergeben sich durch die Forderung nach stetiger Dierenzierbarkeit und den vollständigen Randbedingungen. Auf

s0i (t) =

[ti−1 , ti ]

gilt

1 0ˆ ˆs (t) = hi   fi − fi−1 hi d ˆ d − (t(1 − ˆt)(1 + ˆt))Mi + (ˆt(1 − ˆt)(1 + (1 − ˆt)))Mi−1 hi 6 dˆt dˆt

64

Insbesondere haben wir

1 0 fi − fi−1 hi ˆs (0) = − (Mi + 2Mi−1 ) hi hi 6 1 fi − fi−1 hi s0i (ti ) = ˆs0 (1) = + (2Mi + Mi−1 ) hi hi 6

s0i (ti−1 ) =

s0i (ti ) = s0i+1 (ti ) übersetzt sich dann in die Gleichungen für i = 1, . . . , n−1, 0 0 0 0 die Randbedingung s1 (a) = f (a) liefert die Gleichung für i = 0 und sn (b) = f (b) die Gleichung für i = n. Die Forderung

Bemerkung: Das entstehende Gleichungssystem hat eine stark diagonaldominante Systemmatrix

A,

d.h.

P

j6=i

|Aij | < Aii .

Hieraus folgt insbesondere die Regularität (siehe Übung).

6.3.4 Fehlerabschätzung der kubischen Splines

I , ∆ wie bisher, und k, l ∈ N mit 0 ≤ l ≤ 2 ≤ k ≤ 4 und f ∈ C k (I). Dann 3,2 f vollständig (!) interpolierende kubische Spline s ∈ S∆ die Abschätzung

Satz: Seien erfüllt der

max | x∈I

Spezialfall: Für

k=4

und

dk f dl s dl f k−l (x) − (x)| ≤ Ch max | (x)| . x∈I dxk dxl dxl l=0

ergibt sich, dass für

f ∈ C 4 (I)

max |f (x) − s(x)| ≤ Ch4 max | x∈I

x∈I

gilt

d4 f (x)| dx4

Bemerkung: Für den interpolierenden Spline mit natürlichen Randbedingungen gelten die obigen optimalen Abschätzungen nur, wenn auch f 00 (a) = f 00 (b) = 0 erfüllt.

f

die natürlichen Randbedingungen

6.3.5 Anwendung 1 auf dem Intervall 1+x2 diesmal mit Hilfe von vollständig interpolierenden kubischen Splines.

Beispiel: Wir interpolieren wieder die Funktion

f (x) =

Programm: function y = 1

y = f ./

(x)

(1 + x

.∗

x) ;

endfunction f u n c t i o n M = compute_moments

(t ,

f ,

n = length ( t ) ; A = zeros (n , n) ;

65

Dfa ,

Dfb )

[−5, 5],

b = zeros (n , 1 ) ; //

setup

of

the

interior

rows

i =2: n−1

for

A( i , i ) = ( t ( i +1)− t ( i

− 1) ) / 3 ; A( i , i − 1) = ( t ( i )− t ( i − 1) ) / 6 ; A( i , i +1) = ( t ( i +1)− t ( i ) ) / 6 ; b ( i ) = ( f ( i +1)− f ( i ) ) / ( t ( i +1)− t ( i ) ) −

( f ( i )− f ( i

− 1) ) / ( t ( i )− t ( i − 1) )

; end //

setup

of

the

boundary

rows

h = ( t ( 2 )− t ( 1 ) ) ; A( 1 , 1 ) = h / 3 ; A( 1 , 2 ) = h / 6 ; b ( 1 ) = ( f ( 2 )− f ( 1 ) ) /h−Dfa ; h = ( t ( n )− t ( n − 1) ) ; A( n , n ) = h / 3 ; A( n , n − 1) = h / 6 ; b ( n ) = Dfb −( f ( n )− f ( n − 1) ) / h ; //

finally

we

solve

the

system

M = A\ b ; endfunction function //

y = spline_eval

evaluates

the

(t ,

spline

f , M,

x)

specified

by

t , f ,M a t

x

n = length ( t ) ; //

find

for

the

subinterval

in

which

local

cubic

x

lies

i =2: n

if

( t ( i )>=x ) break ;

end end //

evaluation

of

the

h = t ( i )− t ( i

− 1) ; t a u = ( x−t ( i − 1) ) / h ; y = (1 − t a u ) ∗ f ( i − 1) + t a u ∗ f ( i ) . . . − h ∗ h ∗ t a u ∗ (1 − t a u ) / 6 ∗ (M( i ) ∗ (1+ t a u ) +(2− t a u ) ∗M( i − 1) ) ;

endfunction function //

y = spline_multiple_eval

evaluates

a

spline

for

each

( t , f ,M, x ) vector

n = length (x) ; y = zeros (n , 1 ) ; for

i =1: n

y( i ) = spline_eval

( t , f ,M, x ( i ) ) ;

end endfunction

66

component

of

x

function //

we

//

the

testit use

(t , f )

numerical

boundary

differentiation

values

of

the

for

complete

x= −5;

Dfa =( f ( x+1e − 8)− f ( x ) ) /1 e − 8;

x =5;

Dfb=( f ( x+1e − 8)− f ( x ) ) /1 e − 8;

obtaining spline

m = compute_moments ( t , f ( t ) , Dfa , Dfb ) ;

−5:0.1:5] ';

x=[

y = s p l i n e _ m u l t i p l e _ e v a l ( t , f ( t ) ,m, x ) ; plot (x , [ y , f (x) ] ) ; endfunction c l f () ; testit ([

−5:1:5] , f )

Beobachtung: Schon bei 11 Stützstellen (h

= 1) sieht man kaum einen Unterschied mehr

zwischen der Funktion und dem Spline.

Übungen

I = [a, b], h := b − a und s ∈ P 3 sei ein Polynom dritten Grades, von dem 00 00 Werte s(a) = sa , s(b) = sb , s (a) = Ma , s (b) = Mb kennen. Rechnen Sie nach,

Aufgabe: Sei wir die dass

s

sich darstellen lässt als

s(t) = (1 − ˆt)sa + ˆtsb − wobei

ˆt =

 h2 ˆ t(1 − ˆt) (1 + ˆt)Mb + (1 + (1 − ˆt))Ma , 6

t−a . h

Aufgabe: Eine Matrix

A ∈ Rn×n heiÿt stark diagonaldominant, X |Aij | < |Aii | , i = 1, . . . , n .

wenn

j6=i Zeigen Sie, dass

A

dann regulär ist, und dass das sogenannte Jacobi-Verfahren

xk+1 = xk + D−1 (b − Axk )

=Diagonale

Ax = b in P j6=i |Aij | ρ ≤ max i=1,...,n |Aii |

zur iterativen Lösung des Gleichungssystems Konvergenzrate

(D

konvergiert.

67

von

A)

der Maximumsnorm mit einer

7 Numerische Quadratur 7.1 Einführung Das Ziel dieses Kapitels ist die Berechnung des Riemann-Integrals

b

Z

f (x) dx .

I(f ) = a Bezeichnung: Manchmal werden wir statt

I

auch

I[a,b]

schreiben, insbesondere wenn wir

unterschiedliche Integrationsbereiche betrachten. Beobachtung: Die Integration 1.

I

ist linear:

2.

I

ist positiv:

I

ist ein Funktional auf

C 0 ([a, b])

mit

I(αf + βg) = αI(f ) + βI(g) I(f ) ≥ 0

für

f ≥ 0.

3. Es sei

ˆt 7→ ˆt = a + ˆt(b − a) .

Φ : [0, 1] → [a, b] ,

Dann gilt nach dem Transformationssatz

I[a,b] (f ) = (b − a)I[0,1] (f ◦ Φ) . Problem: Normalerweise gibt es zu ausdrückbare Stammfunktion

F,

f ∈ C 0 ([a, b])

keine in elementaren Funktionen

mit Hilfe derer man

I(f ) = F (b) − F (a)

ausrechnen

könnte. Abhilfe: Man berechnet das Integral näherungsweise. Dies nennt man numerische Integration oder numerische Quadratur.

7.2 Quadraturformeln Denition: Eine Quadraturformel

Q

zur Approximation von

Q(f ) =

n X

Rb a

f (t) dt

hat die Form

λi f (ti )

i=0 mit den paarweise verschiedenen Knoten

{t0 , . . . , tn } ⊂ [a, b] und den Gewichten λ0 , . . . , λn ∈

R. Bemerkung: Eine solche Quadraturformel Kriterien: Eine gute Wahl der

λi , ti

Q

ist oenbar linear in

sollte folgendes erfüllen:

68

f.

1. 2.

Pn

i=0

λi = b − a. Das stellt sicher, dass wenigstens f (t) ≡ 1 korrekt integriert wird.

λi > 0

für

i = 0, . . . , n.

Das sichert

λi < 0 ist, Q(f ) < 0. Wie?)

(Umgekehrt: Wenn ein mit

f ≥0

und

f ≥ 0 ⇒ Q(f ) ≥ 0. kann man sehr leicht ein

f ∈ C 0 ([a, b])

nden

Bemerkung: Mit Hilfe des oben denierten linearen Isomorphismus Φ : [0, 1] → [a, b] Pn ˆ ˆ kann man ausgehend von einer Quadraturformel Q[0,1] (f ) = i=0 λi f (ti ) für I[0,1] eine Quadraturformel

Q[a,b]

für

I[a,b]

Q[a,b] (f ) =

erzeugen als

n X

λi f (ti ) ,

ˆi . ti = Φ(ˆti ) , λi = (b − a)λ

i=0

7.3 Konstruktion durch Polynominterpolation Idee: Interpoliere den Integranden durch ein Polynom

n-ten Grades und integriere dieses

interpolierende Polynom. Denition: Zu den paarweise verschiedenen Stützstellen {t0 , . . . , tn } ⊂ [a, b] seien Li,n Pn n wieder die Lagrange-Polynome, und pf = i=0 f (ti )Li,n ∈ P sei das interpolierende 0 Polynom zu einer Funktion f ∈ C ([a, b]) mit pf (ti ) = f (ti ). Mit

Z Q(f ) =

b

pf (t) dt = a

n X

Z f (ti )

b

Li,n (t) dt a

i=0

haben wir oenbar eine Quadraturformel mit Knoten ti und Gewichten

λi =

Rb a

Li,n (t) dt

gefunden. Satz: Das so konstruierte gilt

Q ist exakt für alle Polynome n-ten Grades, d.h. für alle p ∈ P n

Q(p) = I(p).

P n . Nach Denition ist Q exakt für jedes der Li,n n und daher wegen der Linearität von I und Q auch für alle p ∈ P . Pn Bemerkung: Es gilt oenbar auch die Umkehrung: Wenn Q(f ) = i=0 λi f (ti ) für alle n f ∈ P exakt ist, so folgt Z b λi = Q(Li,n ) = I(Li,n ) = Li,n (t) dt .

Beweis:

{Li,n }i=0,...,n

ist eine Basis von

a

Φ : [0, 1] → [a, b] der oben denierte lineare Isomorphismus. {ˆt0 , . . . , ˆtn } ⊂ [0, 1] und {t0 , . . . , tn } ⊂ [a, b] seien Knoten, welche Φ(ˆti ) = ti für i = 0, . . . , n erfüllen. ˆ i,n (ˆt) = Li,n (t) für t = Φ(ˆt). Für die Dann gilt für die zugehörigen Lagrange-Polynome L Satz: Es sei wieder

69

über Polynominterpolation zu den obigen Knoten erzeugten Quadraturformeln Pn und Q[a,b] = i=0 λi f (ti ) gilt daher

Q[0,1] =

Pn ˆ ˆ i=0 λi f (ti )

Z

b

Z

1

Li,n (t) dt = (b − a)

λi =

ˆi . ˆ i,n (ˆt) dt = (b − a)λ L

0

a

Φ linear ist, ist Li,n ◦ Φ wieder ein Polynom n-ten Grades, welches (Li,n ◦ Φ)(ˆtj ) = Li,n (tj ) = δij erfüllt. Wegen der eindeutigen Lösbarkeit der Interpolationsaufgabe ˆ i,n gelten. Dann folgt aber aus dem Transformationssatz muss Li,n ◦ Φ = L

Beweis: Da

b

Z

1

Z

ˆ i,n (ˆt) dˆt . L

Li,n (t) dt = (b − a)

λi = a

0

7.3.1 Newton-Cotes-Formeln Denition: Die Quadraturformeln, die durch Polynominterpolation mit Verwendung b−a äquidistanter Stützstellen ti = a+i , i = 0, . . . , n entstehen, heiÿen Newton-Cotes-Formeln. n

Bezeichnung: Für Beispiel: Für

u ∈ C 0 ([a, b])

n = 1, 2, 3, 4

3 4

6 1 8 7 90

x∈[a,b]

erhalten wir mit

ˆ i = λi /h n λ  1 1 1 2 2  1 4 1 2

kuk∞ := max |u(x)|.

setzen wir

h=b−a

Name Trapezregel

6 6  3 3 1 8 8 8 32 12 32 90 90 90

7 90



Simpson-Regel 3 Newtonsche -Regel 8 Milne-Regel

Fehler |I(f ) − h3 kf (2) k∞ 12 5 h kf (4) k∞ 2880 5 h kf (4) k∞ 6480 7 h kf (6) k∞ 1935360

Q(f )|

Bemerkungen:



Für die Trapezregel

T (f ) = h2 (f (a)+ f (b)) folgt aus der Interpolationsabschätzung kf − pf k∞ ≤

h2 00 kf k∞ 8

für das an den Endpunkten interpolierende lineare Polynom

pf ∈ P 1

sofort die

schon recht gute Fehlerabschätzung

Z |I(f ) − T (f )| = |

b

Z (pf (x) − f (x)) dx| ≤

a

|pf (x) − f (x)| dx ≤ a

70

b

h3 00 kf k∞ . 8



Analog erhält man für die Newton-Cotes-Formel der Ordnung

n die Fehlerabschätzung

|I(f ) − QN C,n (f )| ≤ C(n)hn+2 kf (n+1) k∞ . Man beachte, dass man durch die Integration einen Faktor

h

mehr erhält als bei

der Interpolationsfehlerabschätzung.



Durch eine genauere Analyse kann man noch die Fehlerkonstante verbessern. Unten zeigen wir diese Technik exemplarisch für die Trapezregel.



Interessant ist zudem die erhöhte Ordnung der Newton-Cotes-Regeln für gerades

n.

Unten beweisen wir diese Ordnungsverbesserung exemplarisch für die Simpson-Regel.



Ab

n = 7 treten negative Gewichte auf. Spätestens dann werden diese Newton-Cotes-Formeln

problematisch, weil Auslöschung schon bei der Integration einfacher konstanter Funktionen auftreten kann.

Satz: Für

f ∈ C 2 ([a, b]) genügt die Trapezregel T (f ) =

b−a (f (a)+f (b)) der Abschätzung 2

h3 00 |T (f ) − I(f )| ≤ kf k∞ . 12 Beweis: Es sei

pf ∈ P 1

die lineare Interpolierende von

Nach unserem Approximationssatz gilt für

|f (x) − pf (x)| ≤

f

zu den Stützstellen

a

und

b.

x ∈ [a, b]:

kf 00 k∞ (x − a)(b − x) . 2

Somit folgt aber auch

Z

b

Z

b

Z

b

|f (x) − pf (x)| dx pf (x) dx| ≤ f (x) dx − a a a Z Z 1 00 kf 00 k∞ b kf 00 k∞ 3 kf k∞ ≤ (x − a)(b − x) dx = h x ˆ (1 − x ˆ ) dx = h3 . 2 2 12 a 0

|T (f ) − I(f )| = |

Satz: Die Simpsonregel

S(f ) =

b−a b+a (f (a) + 4f ( ) + f (b)) 6 2

integriert sogar alle Polynome dritten (!) Grades exakt. Hieraus folgt die Fehlerabschätzung

|S(f ) − I(f )| ≤ Ch5 kf (4) k∞ .

71

Beweis: Ohne Einschränkung sei a = −b (eine einfache Verschiebung ändert nichts an I(f ), Q(f ) oder f (4) ). Wir wissen, dass die Simpsonregel S alle Polynome zweiten Grades 3 exakt integriert. Der Clou ist nun, dass sie auch das Polynom x wegen Q(f ) = I(f ) = 0 3 2 3 exakt integriert (Symmetrie!). Nun ist aber P = P ⊕ Span(x ), somit werden alle Polynome dritten Grades exakt integriert. Die Fehlerabschätzung ergibt sich dann wie folgt:

pf

sei die Interpolierende dritten Grades zu äquidistanten Stützstellen. Für diese

gilt

kf − pf k∞ ≤ Ch4 kf (4) k∞ , woraus wie gehabt folgt

b

Z

Z (f − pf ) dx| ≤

|I(f ) − S(f )| = |

b

|f (x) − pf (x)| dx ≤ Ch5 kf (4) k∞ .

a

a

7.4 Zusammengesetzte Formeln Problem: Die Polynominterpolation ist für hohen Polynomgrad (wenigstens für äquidistante Knoten) instabil. Dies überträgt sich auf die Quadraturformeln.

a = x0 < x1 < . . . < xn = b eine Zerlegung des Intervalls [a, b] in Teilintervalle [xi−1 , xi ]. Das Gesamtintegral I[a,b] ergibt sich dann als Summe der I[xi−1 ,xi ] , die lokal mit Idee: Sei

einer Newton-Cotes-Formel niedrigen Grades approximiert werden können. Bezeichnung: Eine solche Quadraturformel nennt man eine zusammengesetzte Quadraturformel.

Beispiele: Wir betrachten äquidistante Unterteilungen



mit

h=

b−a . n

Zusammengesetzte Trapezregel:

Th (f ) =

n X

Trapez

Q[xi−1 ,xi ] (f ) =

i=1



xi = a + ih

n X h i=1

n−1  f (a) + f (b) X (f (xi−1 ) + f (xi )) = h + f (xi ) 2 2 i=1

Zusammengesetzte Simpsonregel:

Sh (f ) =

n X

QSimpson [xi−1 ,xi ] (f ) =

i=1

n X h i=1

=

6

(f (xi−1 ) + 4f (

xi−1 + xi ) + f (xi )) 2

n−1 n X h f (a) + f (b) X xi−1 + xi  + f (xi ) + 2 f( ) . 3 2 2 i=1 i=1

Satz: Die zusammengesetzte Trapezregel für eine äquidistante Unterteilung b−a mit h = genügt der Fehlerabschätzung n

|Th (f ) − I(f )| ≤ (b − a)

72

h2 00 kf k∞ . 12

xi = a + ih

Beweis: Es gibt

n=

h3 b−a Teilintervalle und auf jedem kann der Fehler durch kf 00 k∞ h 12

abgeschätzt werden. Bemerkung: Ebenso ergibt sich für die Simpson-Regel die Abschätzung

|Sh (f ) − I(f )| ≤ (b − a)

Bemerkung: Man beachte den Verlust einer

h4 kf (4) k∞ . 2880

h-Potenz gegenüber der lokalen Abschätzung.

7.5 Ausblicke Wir konnten einige interessante und wichtige Bereiche nicht behandeln. Dazu gehören unter anderem folgende Punkte:



Wenn man auf die Äquidistanz der Knoten verzichtet, kann man durch geschickte

s 2s − 1 exakt integrieren. Dies ist die sogenannte

Wahl derselben durch Polynominterpolation Quadraturformeln erzeugen, die bei Knoten noch Polynome vom Grad

Gauÿ-Quadratur. Die einfachste solche Formel ist die Mittelpunktsregel

QMP (f ) = f •

a + b (b − a) . 2

Wenn der Integrand glatt ist und die Unterteilungen regelmäÿig sind, kann man etwa für die zusammengesetzte Trapezregel ein Fehlerverhalten wie

Qh (f ) = I(f ) + C1 h2 + C2 h4 + . . . zeigen. Dies kann man ausnutzen, indem man sukzessive Approximationen Q(h), Q( h2 ), . . . durch ein Polynom in der Variablen x = h2 interpoliert, welches man dann an x = 0 auswertet, um eine Approximation höherer Ordnung zu I(f ) zu erhalten. Diese Technik heiÿt Extrapolation und kann in verschiedenen Situationen angewendet werden, z.B. auch bei der numerischen Dierentiation (siehe Übung 10/1). Die Anwendung auf die numerische Quadratur heiÿt Romberg-Quadratur. Auch Übung 11/1 kann man als eine Stufe einer solchen Extrapolation ansehen.



Für viele Integranden ist eine nicht äquidistante Wahl des Gitters von Vorteil. Die automatische Gitteranpassung an einen bestimmten Integranden führt dabei zu adaptiven Quadraturverfahren. Allerdings geht dadurch normalerweise die Möglichkeit zur Extrapolation verloren.

73

Übungen Aufgabe: Man kann die Ableitung einer Funktion

f ∈ C 2 (R)

an der Stelle

x

durch den

Dierenzenquotienten

Dh f (x) =

f (x + h) − f (x) h

approximieren. Wir untersuchen nun, wie gut die Approximation in Abhängigkeit von

h

ist. 1. Wie groÿ ist der Fehler dieser Approximation in führender Ordnung in

h bei exakter

Arithmetik? (Hinweis: Taylor-Entwicklung.) 2. Durch Auslöschung entsteht bei der Auswertung des Zählers in Gleitkommaarithmetik ein Fehler der Gröÿe |f (x)|ε. Wie sollte man demnach f 0 (x) möglichst gut ist?

h wählen, damit die Approximation

von

3. Testen Sie Ihre Vorhersage numerisch am Beispiel

f (x) = ex

und

x = 1.

Aufgabe: Eine genauere Untersuchung zeigt, dass für die Trapezsumme (zusammengesetzte 4 Trapezregel) angewandt auf f ∈ C ([a, b]) mit einer äquidistanten Unterteilung xi = a + ih für i = 0, . . . , n und h = n1 mit n ∈ N folgende Entwicklung gilt

T (h) = I(f ) + Ch2 + O(h4 ) , wobei

I(f ) =

Rb

a um Konstanten

f (x) dx und C ∈ R eine Konstante ist. Verwenden Sie diese Entwicklung, α, β ∈ R zu bestimmen, für welche gilt h αT (h) + βT ( ) = I(f ) + O(h4 ) . 2

Schreiben Sie die entstehende Quadraturformel in der Form

Q(h) = . . . f (x0 ) + . . . f (

x0 + x1 x1 + x2 ) + . . . f (x1 ) + . . . f ( ) + . . . + . . . f (xn ) . 2 2

Was ergibt sich?

74

8 Numerische Lösung gewöhnlicher Dierentialgleichungen 8.1 Grundlagen

f ∈ C 0 (R×Rn , Rn ). Zu einem gegebenen Startwert u0 ∈ Rn 1 n wir eine Funktion u ∈ C ([0, T ], R ) mit

Denition: Es sei

T >0

suchen

du (t) = f (t, u(t)) , dt u(0) = u0 .

und einem

t ∈]0, T [ ,

Dies nennen wir eine gewöhnliche Dierentialgleichung. Bemerkungen:



den Fall



n=1

Manchmal bezeichnet man nur den Fall

Wenn

f

n>1

als Dierentialgleichung und nennt

ein System gewöhnlicher Dierentialgleichungen.

nicht von

u

abhängt, so kann man die Lösung der Dierentialgleichung

durch eine einfache Integration erhalten:

Z

t

f (τ ) dτ .

u(t) = 0



Wenn

f

nicht von

t

abhängt, so nennt man die zugehörige Dierentialgleichung

autonom.



In vielen Anwendungen hat die Variable

t

die Bedeutung der Zeit. Die Ableitung nach der Zeit bezeichnen vor allem Physiker oft mit einem Punkt (u(t) ˙ := du (t)). dt

8.2 Beispiele 8.2.1 Pendelgleichung

75

Erinnerung: In der Einführung hatten wir bereits Dierentialgleichungen für das Stabpendel hergeleitet. Diese waren

˙ = ω(t) θ(t) g ω(t) ˙ = − sin θ(t) L θ den Auslenkungswinkel, ω die Winkeländerungsgeschwindigkeit, g die Gravitationskonstante,

wobei und

L

die Länge des Stabs bezeichnet.

Transformation: Wir setzen

u(t) = θ(t), ω(t)

t

und erhalten

 u(t) ˙ = f (u(t))

mit

f (u) =

u2 g − L sin u1

 .

8.2.2 Räuber-Beute-Modell Modell: Auf einer Insel gebe es Populationen von Raubtieren

B = B(t),

R = R(t)

und Beutetieren

die sich mit der Zeit ändern können. Ein einfaches Modell für die zeitliche

Veränderung der Populationen ist

˙ B(t) = µB B(t) − αB(t)R(t) ˙ R(t) = −µR R(t) + βB(t)R(t) Hierbei sind

µB , µR , α, β

positive reelle Konstanten.

Skalierung: Um die Eigenschaften des Modells zu studieren, wählt man oft die Einheiten so, dass die Gleichung möglichst einfach wird. Im obigen Fall lässt sich durch Wahl der Einheiten von

B, R

und

t

folgende Form erreichen:

˙ B(t) = B(t) − B(t)R(t) ˙ R(t) = −µR(t) + B(t)R(t)

Bemerkungen:



Man sieht, dass das Modell in seinem Verhalten im wesentlichen von einem einzigen Parameter



µ∈R

abhängt.

In Anwendungen ist es oft praktischer, die üblichen Einheiten zu verwenden. Hier verzichtet man daher meist auf solche Vereinfachungen.

Transformation: Wir setzen

t u(t) = B(t), R(t)

und erhalten

 u(t) ˙ = f (u(t))

mit

f (u) =

76

u1 − u1 u2 −µu2 + u1 u2

 .

8.3 Geometrische Interpretation Problem: Der Einfachheit halber betrachten wir die autonome Dierentialgleichung

u(t) ˙ = f (u(t)) , t ∈ [0, T ] , mit

u(0) = u0

f ∈ C 0 (Rn , Rn ).

Bemerkung: Sowohl die Pendelgleichung als auch das Räuber-Beute-Modell sind autonom. Nicht autonome Varianten würden sich ergeben, wenn etwa der Aufhängungspunkt des Stabpendels sich bewegen würde, oder wenn Geburts- oder Sterberaten im Räuber-Beute-Modell von der Zeit abhingen. Interpretation: Die Lösung 1. den Anfangspunkt 2. für alle

t

u : [0, T ] → Rn

u(0) = u0

die Ableitung

du (t) dt

beschreibt eine Kurve, die

hat, und die

= f (u(t))

hat.

n Bezeichnung: Die Abbildung f : R → Rn nennt man ein Vektorfeld. Kurven u : (t) = f (u(t)) erfüllen, nennt [a, b] → Rn , die in jedem ihrer Punkte die Gleichung du dt man Integralkurven des Vektorfelds. g = 1) sieht folgendermaÿen aus L (horizontale Achse: Winkel, vertikale Achse: Winkelgeschwindigkeit):

Beispiel: Das Vektorfeld für die Pendelgleichung (

4

2

0

-2

-4

-4 -2 0 2 vf

4

Im Falle des Räuber-Beute-Modells (µ

= 1)

vertikale Achse: Räuber):

77

ergibt sich (horizontale Achse: Beute,

3

2.5

2

1.5

1

0.5

0 0 0.5 1 1.5 2

vf

2.5 3

8.4 Numerische Lösung Problem: Sehr selten kann man für eine gewöhnliche Dierentialgleichung eine geschlossene Lösung der Form

u(t) = . . . Ausdruck

in

t

...

angeben. Genau wie bei der Integration ist man meist auf die numerische Lösung angewiesen.

8.4.1 Das explizite Euler-Verfahren Problem: Wir suchen eine Approximation der Lösung

u : [0, T ] → Rn

der gewöhnlichen

Dierentialgleichung

u(t) ˙ = f (t, u(t)) , t ∈ [0, T ] , mit

u(0) = u0

f ∈ C 0 (R × Rn , Rn ).

Algorithmus: (Explizites Euler-Verfahren) Unterteile [0, T ] in N Intervalle der Länge T n . Approximiere u : [0, T ] → R dann an den Stellen tk = kh durch folgende Werte h= N n yk ∈ R :

y0 = u0 ,

yk = yk−1 + hf (tk−1 , yk−1 ) ,

k = 1, . . . , N .

Bemerkungen:



Der Aufwand des Verfahrens ist im wesentlichen gegeben durch der Funktion

f.

78

N

Auswertungen



Wenn man ganz

[0, T ]

u : [0, T ] → Rn

nicht nur an den Stellen tk

denierte Funktion approximieren will,

= kh sondern durch eine auf kann man die Punkte (tk , yk )

einfach linear interpolieren.



Angewandt auf ein Integrationsproblem führt das explizite Euler-Verfahren auf die Quadraturformel

Z

T

f (t) dt ∼ h(f (t0 ) + f (t1 ) + . . . + f (tN −1 )) =: QEE (h) . 0 Diese Formel hat im wesentlichen den gleichen Aufwand wie Trapez- oder Mittelpunktregel, besitzt aber im Gegensatz zu diesen Verfahren nur die Fehlerordnung O(h2 ). Es macht daher für die einfache Quadratur wenig Sinn.

O(h)

statt

8.4.2 Verfahren höherer Ordnung Problem: Die Fehlerordnung

O(h)

ist für viele Anwendungen nicht genau genug.

Abhilfe: Man konstruktiert Verfahren höherer Ordnung. Hierfür gibt es verschiedene Ansätze, von denen wir nur wenige Verfahren vorstellen. Algorithmus: Eine Erweiterung der Trapezregel ist das Verfahren von Heun:

y0 = u0 ,

h yk = yk−1 + (f (tk−1 , yk−1 ) +f (tk , yk−1 + hfk−1 )) . {z } 2 | fk−1

Dies hat pro Schritt den doppelten Aufwand wie das explizite Euler-Verfahren, aber 2 auch die Fehlerordnung O(h ). Algorithmus: (Runge-Kutta-Formel vierter Ordnung) Dies ist folgende Erweiterung der Simpson-Regel:

y 0 = u0 ,

h yk = yk−1 + (k1 + 2k2 + 2k3 + k4 ) , 6

wobei

k1 = f (tk−1 , yk−1 )

h h k2 = f (tk−1 + , yk−1 + k1 ) 2 2

h h k3 = f (tk−1 + , yk−1 + k2 ) 2 2

k4 = f (tk , yk−1 + hk3 )

Dieses Verfahren hat pro Schritt im wesentlichen den vierfachen Aufwand wie das explizite 4 Euler-Verfahren, dafür aber auch die Fehlerordnung O(h ).

79

8.4.3 Implementation Programm: (ode.sci) // / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / // /

ordinary

differential

equations

// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / function

y = EE_step

( f , t , x , dt )

y = x+d t ∗ f ( t , x ) ; endfunction function

y_ = RK4_step

(f ,

t_n ,

y_n ,

h_n )

h2 = h_n / 2 ; k1 = f ( t_n , y_n ) ; k2 = f ( t_n+h2 ,

y_n+h2 ∗ k1 ) ;

k3 = f ( t_n+h2 ,

y_n+h2 ∗ k2 ) ; y_n+h_n ∗ k3 ) ;

k4 = f ( t_n+h_n ,

y_ = y_n + h_n / 6 ∗ ( k1 +2 ∗ ( k2+k3 )+k4 ) ; endfunction global

stepper ;

s t e p p e r = EE_step ; function

[x, t ]

global dim =

=

trajectory

( f , x0 , t 0 , t 1 , N)

stepper ; s i z e ( x0 , 1 ) ;

t = l i n s p a c e ( t 0 , t 1 , N) ; x = zeros x(: ,1) for

( dim , N) ;

= x0 ;

i =2:N

d t = t ( i )− t ( i

− 1) ;

x ( : , i )=s t e p p e r ( f , t ( i ) , x ( : , i

− 1) , d t ) ;

end endfunction function [x, t ]

plot_trajectory =

( f , x0 , t 0 , t 1 , N)

t r a j e c t o r y ( f , x0 , t 0 , t 1 , N) ;

plot (x (1 ,:) ,x (2 ,:) ) ; endfunction function [x, t ]

plot_paths =

( f , x0 , t 0 , t 1 , N)

t r a j e c t o r y ( f , x0 , t 0 , t 1 , N) ;

plot ( t , x) ; endfunction //

P r e d a t o r −p r e y

model

80

global mu =

mu ;

1.0;

function global y =

y = lotka_volterra

(t , x)

mu ;

[ x(1) x(2)

∗(1.0 − x ( 2 ) ) ; ∗ ( x ( 1 )−mu) ] ;

...

endfunction s t e p p e r = EE_step ; // p l o t _ p a t h s //

( lotka_volterra , [ 1 . 0 ; 1 . 0 ] , 0 , 2 0 , 1 0 0 )

Konvergenzuntersuchung

function

f = identity

anhand

e ^x

(t , x)

f = x; endfunction function for

errors

=

errors

(N)

i =2:N

x =

trajectory ( identity ,[1] ,0 ,1 ,2^ i ) ;

e r r o r s ( i ) = x ( 2 ^ i )−e x p ( 1 ) ; end endfunction // s t e p p e r=EE_step ; // e r r o r s ( 8 ) // s t e p p e r=RK4_step ; // e r r o r s ( 8 )

8.4.4 Anwendung Beobachtung: Bei Anwendung auf das Räuber-Beute-Modell mit

  1 • 1

µ=1

sehen wir:

ist ein stationärer Punkt, das heiÿt er bleibt für alle Zeiten konstant. Wir

haben ein perfektes biologisches Gleichgewicht.



u0 nicht dieses Gleichgewicht ist, so beobachten wir Oszillationen, die umso stärker werden, je weiter u0 vom Gleichgewicht entfernt ist. Solche Oszillationen

Wenn der Anfangswert

beobachtet man auch in der Natur!



Das explizite Euler-Verfahren ist viel schlechter als das Runge-Kutta-Verfahren.

Beobachtung: Die Untersuchung des Konvergenzverhaltens von explizitem Euler-Verfahren und Runge-Kutta-Verfahren angewandt auf das Problem

u(t) ˙ = u(t) , t ∈ [0, 1] ,

81

u(0) = 1

mit exakter Lösung

u(t) = et

liefert folgende Tabelle für den Fehler

N

EE

RK-4

4

- 0.3479115

- 0.0002121

8

- 0.1717821

- 0.0000084

16

- 0.0854031

- 0.0000004

32

- 0.0425855

- 2.388E-08

64

- 0.0212644

- 1.419E-09

128

- 0.0106252

- 8.651E-11

256

- 0.0053109

- 5.341E-12

yN − e1 (h =

1 ): N

Wir sehen hier auch zahlenmäÿig die viel bessere Konvergenz des Runge-Kutta-Verfahrens vierter Ordnung.

8.4.5 Ausblicke



Die numerische Quadratur ist ein Spezialfall der numerischen Lösung von gewöhnlichen Dierentialgleichungen. Vieles dort im Ausblick erwähnte macht daher auch hier Sinn, insbesondere Extrapolation und adaptive Verfahren.



Es gibt gut gestellte Probleme (sogenannte steife Dierentialgleichungen), bei denen die hier vorgestellten expliziten Zeitschrittverfahren versagen (genauer: viel zu kleine Zeitschritte benötigen). Die Abhilfe sind hier implizite Zeitschrittverfahren, bei denen in jedem Schritt ein nichtlineares Gleichungssystem gelöst werden muss.



Eine weitaus komplexere Klasse von Problemen als die gewöhnlichen Dierentialgleichungen sind partielle Dierentialgleichungen, bei denen Ableitungen in mehrere Koordinatenrichtungen auftreten. Deren numerische Behandlung übersteigt den Rahmen dieser Vorlesung leider erheblich.

82

9 Übersetzungstabelle Englisch hat sich als Wissenschaftssprache etabliert. Somit ist es nützlich, auch die englischen Fachausdrücke zu kennen. Die folgende Tabelle übersetzt daher den Index dieses Skripts. äquidistante Unterteilungen

equidistant subdivisions

Stützstelle

support point

absolut konvergente Reihe

absolutely convergent series

absolute Kondition

absolute condition

adaptives Quadraturverfahren

adaptive quadrature scheme

Anfangsbedingung

initial condition

Approximation

approximation

arithmetische Operation

arithmetic operation

Assoziativitätsgesetz

associativity law

Auslöschung

cancelation

autonom

autonomous

Basis

base

blockweise

blockwise

Cache

cache

Cache-Optimierung

cache-optimisation

Cauchy-Folge

Cauchy sequence

CG-Verfahren

CG method

Cholesky-Zerlegung

Cholesky decompostion

dünnbesetzte Matrizen

sparse matrices

Denitheit

deniteness

Determinante

determinant

Dierentialgleichung

dierential equation

dierenzierbar

dierentiable

direkte Problem

direct problem

Diskretisierung

discretisation

Distributivgesetz

distributivity law

dividierten Dierenzen

divided dierences

doppelt-genaue IEEE-Gleitkommazahl

double precision oating point number

Drehungen

rotations

Dreiecksgestalt

triangular shape

83

Dreiecksungleichung

triangle inequality

euklidische Norm

Euclidean norm

Euklidische Skalarprodukt

Euclidean scalar product

exakt

exact

expliziten Zeitschrittverfahren

explicit time-stepping scheme

explizites Euler-Verfahren

explicit Euler method

Exponent

exponent

Extrapolation

extrapolation

Fehlerfortpanzung

error propagation

Feinheit

neness

Fixpunkt

xed point

Fixpunkt-Iteration

xed point iteration

Frobenius-Norm

Frobenius norm

Funktional

functional

Gauÿ-Quadratur

Gauss quadrature

Gauÿsches Eliminationsverfahren

Gauss elimination

gewöhnliche Dierentialgleichung

ordinary dierential equation

Gewicht

(quadrature) weight

Gitter

mesh

Gitterweite

meshwidth

Gleitkommazahlen

oating point number

globales Newton-Verfahren

global Newton method

GMRES-Verfahren

GMRES method

gut konditioniert

well-conditioned

Halbierungsverfahren

bisection method

Homogenität

homogeneity

Hutfunktion

hat function

implizite Zeitschrittverfahren

implicit time-stepping scheme

injektiv

injective

instabil

unstable

Integralkurven

integral curve

interpoliert

interpolated

Intervallschachtelung

nested intervals

Iteration

iteration

Iterationsvorschrift

iteration function

iteratives Verfahren

iterative method

Jacobi-Matrix

Jacobian

84

Knoten

node(s)

komponentenweise

component-wise

komponentenweisen Fehlerabschätzungen

component-wise error estimates

Kondition

condition

Kontinuum

continuum

Kontraktion

contraction

Kontraktionsrate

contraction rate

Konvergenzrate

convergence rate

konvex

convex

Krümmung

curvature

kubischer Spline

cubic spline

lösbar

solvable

Laufzeitfehler

runtime error

linear

linear

linear konvergent

linearly convergent

lineare Funktion

linear function

lineares Ausgleichsproblem

linear least-squares problem

linearen Operators

linear operator

linearer Splines

linear spline

lineares Gleichungssystem

linear system of equations

LR-Zerlegung

LU decomposition

Mantissenlänge

mantissa length

Matrix-Matrix-Multiplikation

matrix-matrix multiplication

matrixwertige

matrix-valued

Maximumsnorm

maximum norm

Modulo-Arithmetik

modulo arithmetic

Monombasis

monomial basis

natürliche Splineinterpolation

natural spline interpolation

Newton-Basis

Newton basis

Newton-Cotes-Formeln

Newton-Cotes formulas

Newton-Verfahren

Newton's method

Newton-Verfahren mit Dämpfungsstrategie

Newton method with

damping strategy Normalgleichung

normal equation

Normen

norms

numerisch

numerical

numerische Integration

numerical integration

numerischen Dierentiation

numerical dierentiation

obere Dreiecksgestalt

upper-triangular shape

Operatornorm

operator norm

Optimierungsproblem

optimisation problem

85

orthogonal

orthogonal

orthogonalen Zerlegungen

orthogonal decomposition

paarweise verschieden

paarwise dierent

partielle Dierentialgleichungen

partial dierential equations

partiellen Ableitungen

partial derivative

Permutationsmatrix

permutation matrix

Polygonzug

polygon

positiv

positive

Projektion

projection

QR-Zerlegung

QR decomposition

Quadratur

quadrature

quadratische Konvergenz

quadratic convergence

Quadraturformel

quadrature rule

Rückwärtssubstitution

backward substitution

regulär

regular

relative Kondition

relative condition

relativer Fehler

relative error

Restmatrix

rest matrix

Romberg-Quadratur

Romberg quadrature

Rundung

rounding

Schema von Neville

Neville's scheme

schlecht gestellt

ill-posed

schlecht konditioniert

ill-conditioned

Signum

signum

Simpson-Regel

Simpson's rule

Spaltenpivotsuche

column pivoting

Spektralnorm

spectral norm

Spektralradius

spectral radius

Spiegelung

reection

Spline

spline

stückweise lineare Funktionen

piecewise linear function

Stützstellen

support point

stabil

stable

Stammfunktion

antiderivative

stark (strikt) diagonaldominant

strongly (strictly) diagonally dominant

stationärer Punkt

stationary point

steife Dierentialgleichung

sti dierential equation

stetig

continuous

stetig dierenzierbar

continuously dierentiable

Summennorm

sum norm

86

Supremumsnorm

supremum norm

surjektiv

surjective

symmetrisch

symmetric

symmetrisch positiv denit

symmetric positive denite

System gewöhnlicher Dierentialgleichungen

system of ordinary dierential equations

Trapezregel

trapecoidal rule

Unterteilung

subdivision

Überlauf

overow

Vektorfeld

vector eld

Verfahren von Heun

method of Heun

vollständige Splineinterpolation

complete spline interpolation

Vorkonditionierer

preconditioner

Vorwärtssubstitution

forward substitution

wissenschaftliche Darstellung

scientic notation

Zier

digit

zusammengesetzte Quadraturformel

composite quadrature rule

87