Einführung Grundlagen Bemerkung (Numerische Mathematik) a) Im engeren Sinn: zahlenmäßige Auswertung mathematischer Zusammenhänge z B Lösung von linearen und nichtlinearen Gleichungssystemen Numerische Integration und Differentiation Näherungsweise Auswertung reeller Funktionen Numerische Lösung von Differentialgleichungen Numerische Lösung von Optimierungsproblemen b) Typisches Ziel: Näherungen für die exakte Lösung eines mathematischen Problems, deren Fehler beliebig klein gemacht werden kann und für die verlässliche Fehlerschranken vorliegen c) praktisch: wesentliche Komponente des Wissenschaftlichen Rechnens (engl: scientific computing): Computersimulation auf der Grundlage mathematischer Modelle in den Anwendungswissenschaften: Naturwissenschaften, Ingenieurwissenschaften, Medizin, Wirtschaftswissenschaften Bemerkung 2 (Entwicklung der Rechentechnik) Entwicklung der Numerik untrennbar verknüpft mit Entwicklung der Rechentechnik Grundlagen: verstärkt ab 8 Jahrhundert
Bemerkung 2: Entwicklung der Rechentechnik Z3 (94) ENIAC (946) Abbildung : Klassische Rechentechnik Bemerkung 2: Entwicklung der Rechentechnik (II) Hitachi SR8000-F Abbildung 2: Moderner Hochleistungsrechner am LRZ München 2
94 Z3 (K Zuse) 946 ENIAC (J v Neumann) 958 erster Mikrochip 967 erster Taschenrechner 976 Home Computer Apple 98 erster Personal Computer (PC) heute: leistungsfähige Arbeitsplatzrechner (PC, Workstation) Vektor- und Parallelrechner für High performance computing seit 97: Anzahl der elementaren Transistorfunktionen je Sekunde verdoppelt sich etwa nach jeweils 8 Monaten Bemerkung 3 (Literatur) [] Th Huckle and S Schneider Numerische Methoden Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker Springer Verlag, Berlin, 2nd edition, 2006 [2] RW Freund and RHW Hoppe Stoer / Bulirsch: Numerische Mathematik Springer Verlag, Berlin Heidelberg, 0th edition, 2007 [3] J Stoer and R Bulirsch Numerische Mathematik 2 Springer Verlag, Berlin Heidelberg New York, 5th edition, 2005 [4] P Deuflhard and A Hohmann Numerische Mathematik I Eine algorithmisch orientierte Einführung Walter de Gruyter, Berlin New York, 3rd edition, 2002 [5] A Quarteroni, R Sacco, and F Saleri Numerische Mathematik Springer Verlag, Berlin, 2002 [6] A Quarteroni, R Sacco, and F Saleri Numerische Mathematik 2 Springer Verlag, Berlin, 2002 [7] GH Golub and ChF van Loan Matrix Computations The Johns Hopkins University Press, Baltimore London, 3rd edition, 996 2 Klassische Polynominterpolation Bemerkung 4 (Problemstellung) geg: n + Stützpunkte (x j, y j ), ( j = 0,,, n ) mit Stützstellen x j und Stützwerten y j, zwischen denen ein (oft auch nur vermuteter) funktionaler Zusammenhang besteht: y j = f(x j ), ( j = 0,,, n ) Praktisch oft: Messdaten y j ges: Polynom Φ (n) (x) höchstens n-ten Grades, das die n + Interpolationsbedingungen erfüllt y j = Φ (n) (x j ), ( j = 0,,, n ) 3
Bemerkung 4: Polynominterpolation Abbildung 3: Interpolationspolynom Φ (2) (x) zu f(x) = sin πx, ( x [0, ] ) Tabellierte Daten, z B n =, f(x) = e x, x 0 = 045, x = 046, y 0 = 5683 exp(045), y = 584 exp(046) Lineare Interpolation exp(x) Φ () (x) = 5683 + x 045 (584 5683) 046 045 Φ () (0454) = 5746 4
Bemerkung 4: Polynominterpolation (II) Abbildung 4: Interpolationspolynom Φ (3) (x) zu f(x) = sin πx, ( x [0, ] ) Bemerkung 4: Polynominterpolation (III) Abbildung 5: Interpolationspolynom Φ (4) (x) zu f(x) = sin πx, ( x [0, ] ) 5
Bemerkung 4: Polynominterpolation (IV) Abbildung 6: Interpolationspolynom Φ (5) (x) zu f(x) = sin πx, ( x [0, ] ) Bemerkung 4: Polynominterpolation (V) Abbildung 7: Interpolationspolynom Φ (6) (x) zu f(x) = sin πx, ( x [0, ] ) 6
Bemerkung 5 (Eindeutigkeit des Interpolationspolynoms) Sind die Stützstellen x 0, x,, x n paarweise voneinander verschieden, so ist das Interpolationspolynom Φ (n) (x) aus Bemerkung 4 eindeutig bestimmt, denn gilt für zwei Polynome Φ (n), Φ (n) 2 Π n Φ (n) (x j ) = Φ (n) 2 (x j ) = y j, ( j = 0,,, n ), so ist Φ (n) Φ (n) 2 Π n ein Polynom mit den n + Nullstellen x 0, x,, x n Φ (n) Φ (n) 2 = 0 (Fundamentalsatz der Algebra), Φ (n) (x) Φ (n) 2 (x) Bemerkung 6 (Horner Schema) Auswertung des Interpolationspolynoms mit je n Multiplikationen und Additionen: Horner Schema Φ (n) (x) = n a j x j = a 0 + a x + a 2 x 2 + + a n x n j=0 = a 0 + x (a + x (a 2 + + x (a n + xa n ) )) a n a n a n 2 a 0 x x a n x (a n + xa n ) x ( ) a n a n + xa n a n 2 + x(a n + xa n ) = Φ (n) (x) Auswertung von Φ(x) = (x ) 3 = x 3 3x 2 + 3x an der Stelle x = 5 : Algorithmus 3 3 5 5 = 5 5 2 = 0 5 3 = 65 3 + 5 = 2 3 + 0 = 3 + 65 = 64 = Φ(5) p := a n for i = n : : p := a i + x p Matlab Code Speicherschema für Vektoren in Matlab (a 0, a,, a n ) = a(:(n+)) p = a(n+); for i=n:-:, p = a(i) + x p; end; 7
Bemerkung 7 (Elementarer Zugang) n Sei Φ (n) (x) = a i x i mit den zunächst unbekannten Koeffizienten a 0, a,, a n i=0 Interpolationsbedingungen y j = Φ (n) (x j ), ( j = 0,,, n ) sind äquivalent zu dem linearen Gleichungssystem x 0 x 2 0 x n 0 a 0 y 0 x x 2 x n a = y Die x n x 2 n x n n a n y n Lösung mit dem Gaußschen Algorithmus, vgl Abschnitt 2 Ziel: Transformation in ein äquivalentes lineares Gleichungssystem mit Dreiecksgestalt Schritt Addiere Vielfache der Zeile zu Zeilen 2,, n + so, dass in der Spalte alle Elemente unterhalb der Hauptdiagonale verschwinden: x 0 x 2 0 x n 0 a 0 y 0 0 x x 0 x 2 x 2 0 x n x n 0 a = y y 0 0 x n x 0 x 2 n x 2 0 x n n x n 0 a n y n y 0 Rechenaufwand: n 2 Rechenoperationen zur Transformation von n Zeilen mit je n Spalten Schritt k Addiere Vielfache der k-ten Zeile zu Zeilen k +,, n + so, dass in der k-ten Spalte alle Elemente unterhalb der Hauptdiagonale verschwinden Rechenaufwand: (n + k) 2 Rechenoperationen zur Transformation von n + k Zeilen mit je n + k Spalten gesamt Rechenoperationen n Gaußschritte mit insgesamt n (n + k) 2 = k= n l 2 = l= n(n + )(2n + ) 6 Ergebnis: Rechenaufwand n3 3 + O(n2 ) Rechenoperationen, wächst kubisch mit n Bemerkung 8 (Landau Symbole) Sei x 0 R und g : I R in einer Umgebung von x 0 definiert Gibt es für ein p R, p 0 eine positive Konstante c R, so dass für alle x in einer hinreichend kleinen Umgebung von x 0 die Abschätzung g(x) c x x 0 p 8
erfüllt ist, so schreibt man sprich: g(x) ist groß O von (x x 0 ) p sin x = O(x), ( x 0 ) g(x) = O( (x x 0 ) p ), ( x x 0 ) Existiert lim x x0 g(x) (x x 0 ) p und ist lim x x0 g(x) = 0, so schreibt man (x x 0 ) p g(x) = o( (x x 0 ) p ), ( x x 0 ) sprich: klein o x 3 = o(x), ( x 0 ) Entsprechend bedeutet v(n) = O(n p ), ( n ) für eine Funktion v : N R, dass für alle n n 0 die Abschätzung v(n) cn p einer gewissen positiven Konstanten c R erfüllt ist, und mit v(n) = o(n p ), ( n ) steht für v(n) lim = 0 n n p n(n + )(2n + ) v(n) = 6 Es gilt v(n) < n 2n 3n / 6 = n 3, also v(n) = O(n 3 ) Genauer gilt v(n) = n 3 /3 + w(n) mit w(n) = 2 n2 + n = 6 O(n2 ), man schreibt kurz: v(n) = n 3 /3 Bemerkung 9 (Klassische Polynominterpolation: Lagrange Darstellung) Elementarer Zugang aus Bemerkung 7 Interpolationspolynom Φ (n) in monomialer Basis {, x, x 2,, x n }: n Φ (n) (x) = a j x j Lagrange Darstellung Φ (n) (x) = n j=0 j=0 y j L (n) j (x) mit den Lagrangeschen Basispolynomen n L (n) x x i j (x) := = (x x 0) (x x ) (x x i ) (x x i+ ) (x x n ) x j x i (x j x 0 )(x j x ) (x j x i )(x j x i+ ) (x j x n ), i = 0 i j 9
die die Interpolationsbedingungen { falls k = j, L j (x k ) = δ kj = 0 sonst, ( k = 0,,, n ) erfüllen n = 2, x 0 =, x = 0, x 2 = L (2) 0 (x) = L (2) (x) = L (2) 2 (x) = (x 0)(x ) ( 0)( ) (x + )(x ) (0 + )(0 ) (x + )(x 0) ( + )( 0) Bemerkung 0 (Rekursive Auswertung des Interpolationspolynoms) Sei Φ i,,i+l Π l das Interpolationspolynom zu Stützpunkten Dann gilt also (x k, y k ), ( k = i, i +,, i + l ) Φ i+,,i+l (x k ) = y k, ( k = i +,, i + l ), Φ i,,i+l (x k ) = y k, ( k = i,, i + l ), Φ i,,i+l (x) = (x x i)φ i+,,i+l (x) (x x i+l )Φ i,,i+l (x) x i+l x i, ( ) denn der rechts stehende Ausdruck erfüllt Φ i,,i+l (x k ) = y k für k = i, für k = i + l und für k = i +,, i + l Neville Schema x 0 x x 2 x n y 0 = Φ 0 (x) y = Φ (x) y 2 = Φ 2 (x) y n = Φ n (x) Φ 0 (x) = (x x 0)y (x x )y 0 x x 0 Φ 2 (x) = (x x )y 2 (x x 2 )y x 2 x Φ n,n (x) = Φ 02 (x) Φ(x) mit Φ(x) = Φ 0 n (x) 0
(Polynominterpolation: Neville Schema) Idee Approximiere 2 = 2 /2 durch Φ (2) (/2) mit dem Interpolationspolynom Φ (2) Π 2 zu (, /2), (0, ) und (, 2) Lagrange Darstellung Φ (2) ( 2 ) = 2 j=0 y j L (2) j ( 2 ) = 2 L(2) 0 ( 2 ) + L(2) ( 2 ) + 2 L(2) 2 ( 2 ) mit den Lagrangeschen Basispolynomen L (2) j (x) aus Bemerkung 9 Neville 0 2 2 ( 2 ( )) ( 2 0) 2 0 ( ) ( 2 0) 2 ( 2 ) 0 = 3 2 = 5 4 ( ( )) 3 ( ) 5 2 2 2 4 ( ) = 23 6 = 4375 Bemerkung 2 (Klassische Polynominterpolation: Newton Darstellung) Problem Neville Schema erfordert O(n 2 ) Rechenoperationen, ebenso die Auswertung von j y jl (n) j (x), aber n a j x j = a 0 + x (a + x (a 2 + + x (a n + xa n ) )) j=0 kann mit O(n) Rechenoperationen ausgewertet werden gesucht Darstellung des Interpolationspolynoms, die man effizient bestimmen kann und die mit Horner artigem Schema ausgewertet werden kann Ansatz Es gilt Φ i,i+,,i+l (x) = Φ i,i+,,i+l (x) + (x x i )(x x i+ ) (x x i+l )f i,i+,,i+l mit einem f i,i+,,i+l R, denn Φ i,i+,,i+l (x k ) = Φ i,i+,,i+l (x k ), ( k = i, i +,, i + l ) Durch Vergleich der Koeffizienten von x l in ( ) aus Bemerkung 0 folgt f i,i+,,i+l = f i+,,i+l f i,,i+l x i+l x i
Für f k = f(x k ) bezeichnet man diese dividierten Differenzen mit f[x i,, x i+l ] Rekursive Berechnung mittels Steigungsschema l = 0 l = l = 2 l = n x 0 x x 2 x n f[x 0 ] = f 0 f f 2 f n f[x 0, x ] = f f 0 x x 0 f[x, x 2 ] = f 2 f x 2 x f[x 0, x, x 2 ] f[x 0,, x n ] mit f[x 0, x, x 2 ] = f 2 f x 2 x f f 0 x x 0 x 2 x 0, Newtonsche Darstellung Φ(x) = f[x 0 ] + (x x 0 ) f[x 0, x ] + (x x 0 )(x x ) f[x 0, x, x 2 ] + + + (x x 0 )(x x ) (x x n ) f[x 0, x,, x n ] Newton Horner Schema Φ(x) = f[x 0 ] + (x x 0 ) (f[x 0, x ] + (x x ) (f[x 0, x, x 2 ] + + (x x n 2 )(f[x 0, x,, x n ] + (x x n ) f[x 0, x,, x n ]) )) vgl 0 2 2 2 0 ( ) = 2 2 0 = 2 ( ) = 4 Φ(x) = 2 + (x ( )) + (x ( )) (x 0) 2 4 = 2 + (x + ) ( 2 + x 4 ) Φ( 2 ) = 2 + ( 2 + ) ( 2 + 2 4 ) = 2 + 3 2 5 8 = 23 6 2
Bemerkung 2: Newton-Darstellung Lagrangesche Basispolynome (vgl Bemerkung 9) Interpolationspolynom (rekursive Definition) Koeffizientenvergleich in Abbildung 8: Rekursive Bestimmung der f i,i+,,i+l : Beweisidee Algorithmen Steigungsschema Newton Horner Schema for i = n : : 0 a i := f i for j = i + : n a j := a j a j x j x i p := a n for i = n : : 0 p := a i + (x x i ) p Satz 3 (Restglied der Polynominterpolation) Sei f C n+ [a, b] und Φ das Interpolationspolynom zu den Stützstellen a x 0 < x < < x n b, d h Φ(x k ) = f(x k ), ( k = 0,,, n ) Dann gibt es zu jedem x [a, b] ein ξ [a, b] mit f( x) Φ( x) = f (n+) (ξ) (n + )! ( x x 0)( x x ) ( x x n ) 3
Beweis Die Behauptung ist trivial für x = x k, ( k = 0,,, n ) Andernfalls betrachtet man g(x) := f(x) Φ(x) K(x x 0 )(x x ) (x x n ) mit f( x) Φ( x) K := ( x x 0 )( x x ) ( x x n ) Die Funktion g hat in [a, b] (mindestens) n+2 Nullstellen: x 0, x,, x n, x Nach dem Satz von Rolle hat g mindestens n + Nullstellen usw und schließlich g (n+) (x) mindestens eine Nullstelle ξ [a, b] Wegen 0 = g (n+) (ξ) = f (n+) (ξ) dn+ Φ(x) dx n+ x=ξ }{{} = 0, da Φ Π n = f (n+) (ξ) K (n + )! folgt schließlich K = f (n+) (ξ) (n + )! K d n+ ( (x x dx n+ 0 )(x x ) (x x n )) und hieraus die Behauptung x=ξ Bemerkung 4 (Wahl der Stützstellen) a) Nach Satz 3 sollte man die Stützstellen möglichst so wählen, dass Typische Stützstellen: max (x x 0 )(x x ) (x x n ) min x [a,b] äquidistant: x j := a + jh, Schrittweite h := b a n Tschebyscheff Stützstellen: [a, b] = [, ] x j := cos (2j + )π 2n + 2, ( j = 0,,, n ) b) Zu jeder Folge von Stützstellen lässt sich ein f C[a, b] angeben, so dass die zugehörige Folge der Interpolationspolynome nicht gleichmäßig konvergiert (Satz von Faber) c) Praktische Erfahrung: Polynome hohen Grades neigen zu Oszillationen und sollten vermieden werden 5 (Funktion von Runge) Äquidistante Stützstellen sind ungeeignet zur Interpolation der Funktion von Runge f(x) =, ( x [ 5, 5] ) + x2 (vgl Abb 9, 0 und ) Bessere Ergebnisse für Tschebyscheff Stützstellen (vgl Abb 2 und 3) 4
5: Funktion von Runge Abbildung 9: Interpolation der Funktion von Runge: Φ (2) (x), Stützstellen äquidistant 5: Funktion von Runge (II) Abbildung 0: Interpolation der Funktion von Runge: Φ (6) (x), Stützstellen äquidistant 5
5: Funktion von Runge (III) Abbildung : Interpolation der Funktion von Runge: Φ (8) (x), Stützstellen äquidistant 5: Funktion von Runge (IV) Abbildung 2: Interpolation der Funktion von Runge: Φ (6) (x), Tschebyscheff Stützstellen 6
5: Funktion von Runge (V) Abbildung 3: Interpolation der Funktion von Runge: Φ (8) (x), Tschebyscheff Stützstellen 7