Interpolazione polinomiale (o di Lagrange) Date n+1 coppie di punti distinti ed una funzione approssimante g(x) diremo che g interpola i punti dati se g(xi ) = yi per i = 0, . . . , n, cioè se il grafico di g passa per i punti dati. Se la funzione g è un polinomio parleremo di interpolazione polinomiale o Lagrangiana, se g è una funzione razionale parleremo di interpolazione razionale, se g è una funzione trigonometrica parleremo di interpolazione trigonometrica etc. Vediamo alcuni esempi: Supponiamo di avere due punti (xo , y0 ) e (x1 , y1 ) e di voler determinare la retta che passa per essi; per fare ciò basterà risolvere il seguente sistema P1 (xo ) = ax0 + b = y0 P1 (x1 ) = ax1 + b = y1 Analogamente, dati 3 punti, è essi risolvendo il sistema: P2 (xo ) P2 (x1 ) P2 (x2 ) possibile costruire la parabola che passa per = ax20 + bx0 + c0 = y0 = ax21 + bx1 + c1 = y1 = ax22 + bx2 + c2 = y2 Più in generale, date n + 1 coppie distinte di punti (xo , y0 ),(x1 , y1 ), . . . (xn , yn ) è possibile costruire il polinomio che passa per essi trovando la soluzione del sistema Pn (xo ) = a0 + a1 x0 + a2 x20 + a3 x30 + . . . + an xn0 = y0 Pn (x1 ) = a0 + a1 x1 + a2 x2 + a3 x3 + . . . + an xn = y1 1 1 1 .. . Pn (xn ) = a0 + a1 xn + a2 x2n + a3 x3n + . . . + an xnn = yn Si dimostra che se i nodi di interpolazione sono distinti, il determinante della matrice dei coefficienti è diverso da 0 (metodo dei coefficenti indeterminati) e il sistema ammette un’unica soluzione (quindi il polinomio interpolante di Lagrange è unico). La matrice dei coefficienti associata a questo sistema però 1 x0 x20 . . . xn0 1 x1 x21 . . . xn1 1 ... ... ... ... 1 ... ... ... ... 1 xn x2n . . . xnn è una matrice di Van der Monde, ed è una matrice particolare in quanto fortemente malcondizionata: per valori di n molto grandi la risoluzione del sistema porta a risultati poco affidabili e quindi si preferisce utilizzare altri metodi per determinare il polinomio interpolante. 1 Polinomi fondamentali di Lagrange Una possibile soluzione al problema è quella di scrivere il polinomio mediante interpolante mediante i polinomi di Lagrange: n X Ln (x) = ln,k (x)yk k=0 dove n Y (x − x0 ) . . . (x − xk−1 )(x − xk+1 ) . . . (x − xn ) x − xi = ln,k (x) = xk − xi (xk − x0 ) . . . (xk − xk−1 )(xk − xk+1 ) . . . (xk − xn ) i=0 i6=k Da notare che per come sono definiti questi polinomi si ha che: 1 se j = k ln,k (xj ) = 0 se j 6= k Questa rappresentazione è soggetta al fenomeno della cancellazione numerica e quindi è instabile in quanto per valori di xk e xj molto vicini tra loro si ottengono divisioni per numeri prossimi allo zero. Rappresentazione di Newton (o metodo delle differenze divise) In questo metodo il polinomio interpolante è dato dalla seguente formula Ln (x) = y0 +[x0 , x1 ](x−x0 )+[x0 , x1 , x2 ](x−x0 )(x−x1 )+. . .+[x0 , x1 , . . . , xn ](x−x0 ) . . . (x−xn−1 ) dove ciascuna delle espressioni tra parentesi quadre è la differenza divisa sui punti x0 ,. . . ,xn . In particolare: f (b) − f (a) b−a è chiamata differenza divisa del primo ordine su due punti.In alcuni testi tale espressione viene scritta nella forma [a, b; f ]. Analogamente la differenza divisa di ordine 2 su tre punti è data da [a, b] = [a, b, c] = [b, c] − [a, b] c−a Quella di ordine 3 su quattro punti [a, b, c, d] = [b, c, d] − [a, b, c] d−a è cosı̀ via. 2 Vantaggi La definizione di differenza divisa [a, b], per valori di b molto vicini ad a, concide con la definizione di limite del rapporto incrementale ovvero: f (b) − f (a) = f 0 (a) b−a Analogamente, in presenza di valori vicini tra loro, si ha che: [a, b, c] = [a, b, c, d] = f 00 (a) 2 f 000 (a) 3! Stima dell’errore (Resto dell’interpolazione) Data una successione di punti, vogliamo stabilire quanto la funzione interpolante si discosta dalla funzione di partenza, cioè: |f (x) − Ln (x)| = Rn (f, x) L’espressione Rn (f, x) viene chiamata resto o errore dell’interpolazione Lagrangiana. Tale quantità può essere ancora rappresentata nella forma Rn (f, x) = [x, x0 , . . . , xn ](x − x0 ) . . . (x − xn ) Dall’analisi sappiamo che per questa espressione esiste un punto ξ tale che Rn (f, x) = f (n+1) (ξ) (x − x0 ) . . . (x − xn ) (n + 1)! Sappiamo dell’esistenza del punto ξ, ma non siamo in grado di stabilire chi sia; benché questo risultato sia puramente teorico, e quindi di fatto inutilizzabile dal punto di vista applicativo, ci permette di esplorare il seguente caso particolare: supponendo infatti che f ∈ Pn (insieme di polinomi di grado al più n), allora la sua derivata n + 1-esima sarà pari a zero e di conseguenza anche Rn (f, x) = 0, cioè l’interpolante andrà a coincidere con la funzione f . Analizziamo ora il comportamento dell’interpolante al crescere dei punti di interpolazione. Convergenza dell’interpolazione Si dimostra che: |Rn (f, x)| ≤ cEn (f )(1 + λn ) , 3 c∈< dove En (f ) = min P ∈Pn [x0 ,xn ] max |f (x) − P (x)| è l’errore di migliore approssimazione uniforme (cioè scelgo fra tutti i polinomi in Pn quello che si discosta meno da f ) e λn = max [x0 ,xn ] n X |ln,k (x)| k=0 è l’n-esima costante di Lebesgue. Tanto più la funzione f è regolare e tanto più convergerà rapidamente a 0. In particolare se f ∈ C 0 ⇒ En (f ) converge a 0, se f ∈ C 1 ⇒ En (f ) converge a 0 come n1 , se invece f ∈ C 2 ⇒ En (f ) converge a 0 come n12 etc. . Le quantità λn invece tendono ad infinito al crescere di n ed in particolare si ha che λn ≥ c log n. Per poter bilanciare il buon comportamento di En (f ) rispetto al cattivo comportamento di λn affinché Rn (f ) tenda a 0, bisogna operare delle opportune scelte per i punti xi del polinomio interpolante. In particolare: • se xi = zeri di Cebicev ⇒ λn ∼ = log n (scelta ottimale). • se xi = zeri di polinomi ortogonali ⇒ λn ∼ = nα . • se xi equidistanti ⇒ λn ∼ = en (scelta peggiore). Consideriamo, ad esempio, la funzione f (x) = |x| e studiamo la convergenza dell’interpolante di Lagrange scegliendo punti di interpolazione equidistanti. La funzione f (x) ∈ C 0 poiché presenta una discontinuità in 0; inoltre dato che i punti scelti sono equidistanti, i λn ∼ = en e quindi l’interpolante presenterà numerose oscillazioni (fenomeni di overflow e underflow) ed En (f ) tenderà a zero molto lentamente. Fenomeno di Runge Esaminiamo la funzione f (x) = 1 1 + x2 in [-5,5] Nonostante la funzione f ammetta infinite derivate, l’interpolante di Lagrange non converge in tutto l’intervallo: estendendo infatti la funzione al campo dei complessi, si può facilmente verificare che il denominatore si annulla per x = ±i dato che i2 = −1. Quindi se i punti di interpolazione 4 vengono scelti all’interno del piano complesso (raggio < 1) l’interpolante converge sicuramente, mentre diverge estendendo l’intervallo a cerchi più grandi che includono i punti di singolarità. 5