Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 6 Polynominterpolation Gegeben: Wertepaare { (x i,f i ) R 2 i = 0,,n } Gesucht: Einfache Funktion g : R R mit g(x i ) = f i i {0,1,,n} Einfach heißt hier Polynome P n := { p : R R p(x) = a 0 + a 1 x + a 2 x 2 + + a n x n, a i R } Menge der Polynome vom Grad n Unterschied zu Ausgleichsproblemen: - wenige Datenpunkte - genaue Werte Beispiel 1 (Lineare Interpolation) g(x) = 1 2 x + 1 2 (5,3) (1,1) 61 Polynomdarstellungen P n ist ein linearer Vektorraum der Dimension n + 1, also g P n α 0,α 1,,α n R : g = n α i p i wobei {p 0,p 1,,p n } eine Basis von P n Definition 1 (Verschiedene Polynombasen) a) Monombasis: 1, x, x 2,, x n b) Lagrangebasis zu {x 0,x 1,,x n } mit x i x j für alle i j: k 0 x 0 x k } {{ } l 0n (x), k 1 x 1 x k } {{ } l 1n (x),, k i x i x k } {{ } l in (x),, k n x n x k } {{ } l nn(x) c) Newtonbasis zu {x 0,x 2,,x n }: 1, x x 0, (x x 0 )(x x 1 ),, (x x 0 ) (x x n 1 ) ω 0 (x) ω 1 (x) ω 2 (x) ω n(x) Stephan Trenn, TU Kaiserslautern 1/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 Lösung des Interpolationsproblems ist immer bezüglich einer vorher festgelegten Basis und besteht aus den Koeffizienten α 0,,α n Beispiel 2 Finde Parabel durch die drei Punkte (0,1), (1,2), ( 5 /2, 3 /2) Lösung: - bezüglich Monomenbasis: - bezüglich Lagrangebasis: - bezüglich Newtonbasis: g(x) = 1 (x 1)(x 5 /2) 5/2 g(x) = 1 1 + 23 15 x + ( 8 ) 15 x 2 + 2 (x 0)(x 5 /2) 3 /2 g(x) = 1 1 + 1 (x 0) + ( 8 15) (x 0)(x 1) + 3 (x 0)(x 1) 2 15/4 Satz 1 Seien Wertepaare { (x i,f i ) i = 0,,n } gegeben mit x i x j i j Dann existiert eindeutiges g P n mit g(x i ) = f i i = 1,,n Beweis Existenz: Betrachte Lagrangebasis l 0n,l 1n,,l nn und setze Es gilt j: l jn (x j ) = k j g(x j ) = n f il in (x j ) = f j g(x) = n f i l in (x) x j x k x j x k = 1 und i j: l in (x j ) = k i x j x k x i x k = 0 j = k bei einem Faktor Eindeutigkeit: Sei g P n mit g(x i ) = f i i Dann ist h := g g P n und h(x i ) = g(x i ) g(x i ) = f i f i = 0 für i = 0,1,,n Dh h ist ein Polynom n-ten Grades mit den n + 1 verschiedenen Nullstellen {x 0,x 1,,x n } h ist das Nullpolynom g = g 62 Interpolation mittels Monomenbasis Gegeben: { (x i,f i ) i = 0,,n } Gesucht: α 0,α 1,,α n mit f i = α 0 + α 1 x i + α 2 x 2 i + + α nx n i 1 x 0 x 2 0 x n 0 α 0 f 0 1 x 1 x 2 1 x n 1 α 1 f 1 = 1 } x n x 2 n {{ x n n } α n f n V n α f Stephan Trenn, TU Kaiserslautern 2/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 Lineares Gleichungssystem mit Vandermonde-Matrix V n invertierbar falls x i x j i j Kapitel 2 Problem: Kondition der Vandermonde-Matrix sehr schlecht! Beispiel 3 x 0 = 0, x 1 = h, x 2 = 2h,, x n = nh = 1 mit h = 1 /n n 3 4 5 6 7 κ(v n ) bzgl 2 99 686 4924 36061 267817 Weiteres Problem der Monombasis: Nicht lokalisiert Insbesondere können Größenordnungen der Koeffizienten α i und der Werte f i sehr verschieden sein Beispiel 4 g(x) = 100 + x mit Werten gegeben im Interval [100, 101] f i 1 aber ( α 0 α 1 ) = 100 g(x) = x wieder mit Werten im Interval [100,101] ( α 0 α 1 ) 1 aber f i 100 Berechnung g(x) für x R n in Monobasis: Naive Berechnung: α 0 + α 1 x + + α n x n benötigt 1 + 2 + + n + 1 n2 2 Additionen Multiplikationen und n Besser: g(x) = α 0 + x (α 1 + x ( + x (α n 1 + x α n ) )) Horner-Schema: β n = α n Für k = n 1,n 2m,0: β k = α k + x β k+1 g(x) = β 0 Rechenaufwand: n Multiplikationen und n Additionen Anwendung auf Beispiel 2 Wertepaare {(0,1), (1,2), ( 5 /2, 3 /2)} 1 0 0 V 2 = 1 1 1, 1 5 /2 25/4 α 0 1 α 1 = Vn 1 2 = α 2 3/2 1 23/15 8 /15 Auswertung an Stelle x = 3 /2: β 2 = 8 15 β 1 = 23 15 + 3 2 ( 8 15 ) = 11 15 β 0 = 1 + 3 2 11 15 = 21 10 Stephan Trenn, TU Kaiserslautern 3/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 63 Interpolation mit Lagrange Basis Zu gegeben Wertepaare { (x i,f i ) R 2 i = 0,1,,n } mit x i x j ist Lösung bezüglich Lagrange Basis trivial (keine Rechnung nötig) g(x) = n f i l in (x) wobei l in (x) = k i x i x k Berechnung von g(x) für ein x R n : Naiv: (n + 1) 2n 2n 2 Multiplikationen/Divisionen und n + n 2n 2n 2 Additionen/Subtraktion, Problem der Ausöschung wenn Stützstellen dicht beieinander Alternative: Neville-Aitken-Schema Beobachtung: Bezeichne für I {0,1,2,,n} mit g I (x) das eindeutige Interpolationspolynom vom Grad I mit g I (x) = f i i I dann gilt und g i (x) = f i x R g 0,1 (x) = f 0 x x 1 x 0 x 1 + f 1 x x 0 x 1 x 0 = x x 1 x 0 x 1 g 0 (x) + x x 0 x 1 x 0 g 1 (x) (x x 1 )(x x 2 ) g 0,1,2 (x) = f 0 (x 0 x 1 )(x 0 x 2 ) + f (x x 0 )(x x 2 ) 1 (x 1 x 0 )(x 1 x 2 ) + f (x x 0 )(x x 1 ) 2 (x 2 x 0 )(x 2 x 1 ) = x x ( ) 2 x x 1 x x 0 x x 2 f 0 + f 1 f 1 x x 0 (x x 0 )(x x 2 ) + f 1 x 0 x 2 x 0 x 1 x 1 x 0 x 0 x 2 x 1 x 0 (x 1 x 0 )(x 1 x 2 ) g 0,1 (x) (x 1 x 2 ) + (x 0 x 2 ) = f 1 (x x 2 )(x x 0 ) (x 0 x 2 )(x 1 x 0 )(x 1 x 2 ) = x x 2 g 0,1 (x) + x x ( ) 0 x x 2 x x 1 f 1 + f 2 x 0 x 2 x 2 x 0 x 1 x 2 x 2 x 1 g 1,2 (x) Allgemein: +f 2 (x x 0 )(x x 1 ) (x 2 x 0 )(x 2 x 1 ) g i,i+1,,i+k (x) = x x i x i+k x i g i+1,i+2,,i+k (x) + x x i+k x i x i+k g i,i+1,,i+k 1 (x) Neville-Aitken-Schema: Stephan Trenn, TU Kaiserslautern 4/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 x 0 f 0 =: g 0 (x) g 0,1 (x) x 1 f 1 =: g 1 (x) g 0,1,2 (x) g 1,2 (x) x 2 f 2 =: g 2 (x) g 0,1,,n (x) = g(x) g n 1,n (x) g n 2,n 1,n (x) x n f n =: g n (x) Rechenaufwand 3 2 n2 Mulitplikationen/Divisionen und 2n 2 Additionen Nicht viel besser als direkte Berechnung ABER: Hinzufügen eines Interpolationspunktes führt nur zu einem zusätzlichen Rechenaufwand von 3n Multipliationen/Divisionen und 4n Additionen (nicht quadratischer Aufwand) Anwendung auf Beispiel 2: Auswertung an x = 3 /2 x 0 = 0 x 1 = 1 f 0 = 1 f 1 = 2 3/2 0 1 0 2 + 3 /2 1 0 1 1 = 5 2 3/2 1 5/2 1 3 2 + 3 /2 5 /2 1 5 /2 2 = 11 6 3/2 0 5/2 0 11 6 + 3 /2 5 /2 0 5 5 /2 2 = 21 10 x 2 = 5 2 f 2 = 3 2 64 Interpolation mit Newton-Basis Satz 2 Zu den Wertepaaren { (x i,f i ) i = 0,,n } und für I {0,1,,n} bezeichne g I wie zuvor das eindeutige Interpolationspolynom mit g I (x i ) = f i i I Dann gilt j / I: mit δ I {j} = f j g I (x j ) i I (x j x i ) g I {j} (x) = g I (x) + δ I {j} (x x i ) i I Beweis g I {j} (x i ) = g I (x i ) + 0 = f i i I g I {j} (x j ) = g I (x j ) + f j g I (x j ) i I (x j x i ) (x j x i ) = f j i I Insbesondere gilt mit δ 0 := f 0 g(x) = δ 0 + δ 0,1 (x x 0 ) + δ 0,1,2 (x x 0 )(x x 1 ) + + δ 0,1,,n (x x 0 )(x x 1 ) (x x n 1 ) Stephan Trenn, TU Kaiserslautern 5/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 dh die rekursive Rechenvorschrift für δ 0,,k kann genutzt werden um Newton-Interpolation zu lösen Folgendes Lemma erlaubt effiziente Berechnung der Koeffizienten δ 0,1,,k, k = 0,1,,n Lemma 1 (Dividierte Differenzen) δ i,i+1,,i+k = δ i+1,i+2,,i+k δ i,i+1,,i+k 1 x i+k x i i,k Schema zur Berechnung der Newton Koeffizienten mittels dividierter Differenzen: x 0 f 0 =: δ 0 δ 0,1 x 1 f 1 =: δ 1 δ 0,1,2 δ 1,2 δ 0,1,2,3 x 2 f 2 =: δ 2 δ 1,2,3 δ 2,3 x 3 f 3 =: δ 3 Berechnung der Koeffizienten benötigt 1 2 n Multiplikationen und n2 Additionen Auswertung an Stelle x R n des Polynoms g(x) = δ 0 + δ 0,1 (x x 0 ) + δ 0,1,2 (x x 0 )(x x 1 ) + + δ 0,1,,n (x x 0 )(x x 1 ) (x x n 1 ) kann ähnlich wie beim Horner-Schema beschleunigt werden: g(x) = δ 0 + (x x 0 ) (δ 0,1 + (x x 1 ) (δ 0,1,2 + (x x 2 ) ( (δ 0,1,,n 1 + (x x n 1 ) δ 0,1,,n ) ))) Also ergibt sich folgender Auswertungsalgorithmus: p n = δ 0,1,,n Für k = n 1,,0 berechne p k = δ 0,,k + ( ) p k+1 g(x) = p 0 Rechenaufwand: n Multiplikationen + 2n Additionen Anwendung auf Beispiel 2 x 0 = 0 x 1 = 1 f 0 = 1 f 1 = 2 2 1 1 0 = 1 3/2 2 5/2 1 = 1 3 1 /3 1 5/2 0 = 8 15 x 2 = 5 2 f 2 = 3 2 Stephan Trenn, TU Kaiserslautern 6/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 Auswertung an Stelle x = 3 /2 p 2 = 8 15 p 1 = 1 + ( 3 2 1) ( 8 ) 15 = 11 15 p 0 = 1 + ( 3 2 0) 11 15 = 21 10 65 Fehlerabschätzungen bei Polynominterpolation Annahme: Wertepaare haben die Form (x i,f(x i )) für ein f : R R und g sei Interpolationspolynom Frage: Wie groß ist f g? f 1 (x) x f 2 (x) Im Allgemeinen existiert keine obere Schranke für Fehler! Wenn aber Schranken für die Ableitungen von f bekannt sind, kann f g beschränkt werden: Satz 3 Seien x 0,x 1,,x n R mit x i x j i j, x R und I = [min{x,x 0,x 1,,x n }, max{x,x 0,x 1,,x n }] das Interpolationsinterval Dann gilt: f : I R mit stetiger (n + 1)-ten Ableitung existiert ξ I mit Insbesondere gilt f(x) g(x) = (x x 0 )(x x 1 ) (x x n ) f (n+1) (ξ) (n + 1)! f g = max z I f(z) g(z) max z I (z x i ) max ξ I (n + 1)! f (n+1) (ξ) Beobachtung: Der Faktor n (z x i) ist besonders groß, wenn z am Rand vom Interval liegt Oszillationen am Rand des Intervals: Stephan Trenn, TU Kaiserslautern 7/8
Vorlesungsskript HM-Numerik (SS 2014): Kapitel 6 Version: 1 Juli 2014 1 1 x (x x i ) Gute Wahl für Stützstellen: Nullstellen der Tschebyscheff-Polynome gegeben durch ( ) 2j + 1 x j = cos 2n + 2 π j = 0,1,,n (auf Interval [ 1,1]) 1 1 (x x i ) x Stephan Trenn, TU Kaiserslautern 8/8