4. Interpolazione
Definizione del problema
È un problema di approssimazione di una funzione o di un insieme di dati con una funzione che sia più semplice e che abbia buone proprietà di regolarità. È utilizzata quando i dati sono forniti con precisione. La condizione di interpolazione è che la funzione interpolante e la funzione interpolata coincidano nei nodi che sono le ascisse dei dati.
Interpolazione polinomiale
Nell'interpolazione polinomiale la funzione interpolata sarà un polinomio. Con indicheremo l'insieme dei polinomi di grado minore o uguale ad .
Teorema di Vandermonde
Siano dato gli nodi distinti ed i dati in corrispondenza , allora esiste sempre uno ed un solo polinomio interpolante di grado passante per tutti i punti .
Metodo dei coefficienti indeterminati
Anche detto metodo di Vandermonde, consiste nel ricavare il polinomio risolvendo un sistema lineare. Un polinomio ha coefficienti, che sarebbero le incognite. Se abbiamo nodi allora possiamo facilmente costruire un sistema lineare quadrato per ottenere i coefficienti del polinomioì, e quindi un polinomio che rispetti la condizione di interpolazione. Purtroppo il metodo genera una matrice mal condizionata per il problema dei sistemi lineari al crescere di . Esistono metodi migliori per il problema dell'interpolazione.
Metodo dei polinomi di Lagrange
Si pone il polinomio alla seguente espressione: Dove gli sono i polinomi di Lagrange e sono definibili come una base dello spazio dei polinomi , mentre nei casi precedenti viene usata la base canonica (). La costruzione avviene come segue: Il comportamento di con i nodi è quello di un interruttore: Quindi è ovvio che il polinomio definito precedentemente interpola i nodi, essendo che quando è sottomesso a si attiva e si annullano tutti gli altri, quindi .
Metodo delle differenze divise di Newton
Anche in questo metodo si utilizza una base differente, e si crea come segue: Osserviamo che:
- etc.
Le espressioni successive si annullano a causa di moltiplicazioni per . Una volta osservato questo, bisogna calcolare i termini imponendo che sia soddisfatta la condizione di interpolazione. Per il primo nodo si ha: Vediamo cosa succede per il secondo nodo: Quindi: Questo termine, che somiglia al rapporto incrementale, prende il nome di prima differenza divisa In generale, si ha che per il termine corrisponde alla differenza divisa:
Calcolo delle differenze divise
Un trucco per calcolare le differenze divise è quello di creare una tabella piramidale come segue:

Sia la tabella piramidale, con ci riferiamo all'elemento della colonna . Possiamo riempire la colonna calcolando gli elementi come segue (dalla 3° colonna in poi, dato che le prime due sono note): Le differenze divise che ci interessano stanno nella prima riga della tabella, quindi per , quindi in generale:
Metodo delle differenze
Deriva dal metodo delle differenze divise e si adotta solo nel caso in cui i nodi sono ugualmente spaziati tra loro, e quindi data una spaziatora si può definire una relazione: Se anziché considerare le differenze divise, considerassimo solo le differenze, allora potremmo definire ricorsivamente il seguente schema: Per capire meglio come funzionano, calcoliamo : Si può effettuare il calcolo delle differenze attraverso la tabella, ma senza dividere:
Teorema
Se i nodi sono equispaziati, allora vale che: e vale anche la seguente formula per il calcolo del polinomio interpolante: Dove è ottenuto come . Tramite questa formula è possibile ignorare completamente il calcolo dei coefficienti e valutare il polinomio interpolante in un qualsiasi punto (previa costruzione della tabella che determina le differenze ).
Problemi legati all'interpolazione polinomiale
Un polinomio di grado troppo alto continuerà ad interpolare i nodi, ma tra un punto ed il successivo oscillerà in maniera crescente al crescere di . Vedremo come rimediare quando studieremo le splines.
Interpolazione Lagrangiana
I metodi presentati sino ad ora sono metodi di interpolazione polinomiale lagrangiana. In questi metodi non viene specificato come deve avvenire il passaggio per i punti interpolati, ad esempio sfruttando informazioni relative alle derivate.
Teorema dell'errore nei metodi di interpolazione lagrangiani
Il teorema vale per qualsiasi metodo di interpolazione Lagrangiana.
Sia la funzione da interpolare e siano dati nodi . Sia ovvero siano continue le derivate di . Sia il polinomio interpolante nei nodi stabiliti. Allora l'errore vale esattamente Con e definito come segue Anche se non viene detto come determinare il termine , è comunque possibile studiare l'errore massimo che si può commettere utilizzando il polinomio ottenuto tramite interpolazione lagrangiana: Dimostrazione del teorema.
Nel caso in cui sia un nodo , allora l'espressione è banalmente vera: per la condizione di interpolazione l'errore è nullo. Questo è vero sia nell'espressione , sia in quella seguente, dato che si annulla quando è un nodo.
Fissiamo e ipotizziamo che non sia uno dei nodi. Definiamo una funzione ausiliaria: La funzione ha esattamente zeri:
-
zeri sono dati dalla componente che si annulla sugli nodi
- e da che sugli zeri è zero per la condizione di interpolazione
-
1 zero è dato per
La funzione è differenziabile volte poichè è composta da:
- che è differenziabile volte per ipotesi
- e che essendo polinomi sono differenziabili infinite volte
Il teorema di Rolle enuncia che sotto opportune condizioni (funzione continua e derivabile (esterni esclusi) nel dominio) se allora esiste tale che . Dato che: Allora in ogni intervallo tra due nodi consecutivi contiene un punto al suo interno per cui la derivata prima si annulla. Essendoci nodi, questo ragionamento può essere applicato ai rispettivi intervalli, quindi la derivata prima ha zeri.
Se si reitera il ragionamento otterremo che:
- ha zeri
- ha zeri
- ha zeri
- ha uno zero, che chiameremo
Una volta chiarito qual è lo a cui ci riferiamo, osserviamo come calcolare la formula della tesi.
Lo scopo è quello di calcolare la derivata -esima di . La è per ipotesi derivabile volte, quindi si calcola la derivata. Il polinomio si annulla derivandolo volte. Il termine è tale che: Osserviamo che il polinomio è monico, ovvero il coefficiente del monomio di grado massimo è 1. La derivata di un polinomio monico di grado è semplicemente:
Piccolo hint: deriviamo 4 volte:
Infine ricomponiamo la derivata Inseriamo facendo così annullare la derivata -esima: Riordiniamo l'espressione: Da cui la tesi:
Corollario (correlazione tra errore e differenze divise)
Dal teorema sull'errore e dalle formule delle differenze divise di Newton si ha:
Interpolazione Hermitiana
L'interpolazione hermitiana tiene conto dell'informazione fornita dalle derivate della funzione interpolata. Siano gli nodi, se oltre alla valutazione della funzione nel generico nodo vengono fornite anche le derivate allora si può imporre un passaggio più accurato del polinomio approssimante in quel punto.
Buchi di informazione
Per funzionare, non devono esserci buchi nell'informazione fornita. Per buco intendiamo ad esempio che venga fornita la derivata prima nel punto , ma non il valore della funzione, oppure che venga fornito il valore della derivata seconda e non della derivata prima (etc). Se le informazioni contengono buchi, allora la matrice del sistema lineare associato (Vendermonde) sarà degenere. Se invece non ci sono buchi, quindi per ogni derivata -esima fornita sono state fornite le derivate precedenti ed il valore della funzione valutata sul punto, allora la matrice sarà non degenere e sarà possibile calcolare il polinomio.
Grado del polinomio interpolante
Supponiamo che siano forniti:
- nodi
- valori
- derivate prime
- derivate -esime
Allora il grado del polinomio interpolante calcolato attraverso interpolazione hermitiana sarà
Interpolazione osculatoria
Questo tipo di interpolazione è un caso particolare dell'interpolazione hermitiana, in cui si hanno a disposizione tutti le informazioni di derivate prime oltre che ai valori della funzione nei vari nodi.
Estensione dei teoremi sull'errore
I teoremi sull'errore dell'interpolazione lagrangiana precedentemente enunciati valgono anche in questo caso, con l'unica differenza che nella funzione , se si conosce fino alla derivata -esima di un certo nodo , il termine deve essere elevato alla .
Disposizione dei nodi
Per semplicità lavoreremo sulla interpolazione lagrangiana, ma vale anche per quella hermitiana.
All'aumentare del grado del polinomio, esso oscilla tra i nodi imposti durante l'interpolazione. Questo effetto può essere rilassato andando a giocare sulla disposizione dei nodi, utilizzando quindi dei nodi non equispaziati (campionamento non uniforme).
Triangolazione
Fissata una tipologia di campionamento (uniforme oppure non uniforme) e fissato , la triangolazione di un certo intervallo produce una sequenza di campionamenti di cardinalità . Andando a produrre il polinomio interpolante per ognuno dei campionamenti, si spera che all'aumentare del numero di campioni il polinomio converga alla funzione interpolata .
Teorema di Faber
Per ogni triangolazione esiste una funzione per cui la successione di polinomi non converge uniformemente ad .
Esempio: funzione di Runge con con campionamento omogeneo.
Teorema dell'esistenza della triangolazione ottima
Data allora esiste una triangolazione tale che la successione converge uniformemente ad .
Conseguenze dei teoremi
- Non esistono schemi interpolatori universali.
- Dalla formula dell'errore l'unica cosa che possiamo manipolare è il campionamento
Polinomi di Chebichev
I polinomi di Chebichev sono una classe di polinomi di grado utili alla ricerca dei nodi ottimali presso i quali campionare non uniformemente una qualsiasi funzione che si intende interpolare tramite interpolazione polinomiale. Si lavorerà ipotizzando che il dominio della funzione interpolata sia , in caso contrario, sarà possibile mappare il risultato nel dominio originale della funzione.
I polinomi di Chebichev sono definiti come segue: Quindi per valutare bisogna prima calcolare , e dopodiché . Notiamo che:
- Per si ha
- Per si ha
Otteniamo il polinomio per ed ed utilizziamo le formule di sommazione degli angoli per il coseno: Sommiamo i polinomi e manipoliamo l'equazione: Dove sostituiamo e . Possiamo definire i polinomi di Chebichev ricorsivamente come segue: Sviluppando i polinomi si nota che il grado di è effettivamente . Inoltre, sempre sviluppando i polinomi, ci accorgiamo che il coefficiente del monomio di grado più alto di è , quindi se consideriamo: Avremo un polinomio monico. Questa osservazione ci servirà nei teoremi successivi.
Zeri dei polinomi di Chebichev
Essendo un polinomio di grado , avrà necessariamente zeri . Se utilizziamo la rappresentazione iniziale, esisteranno sicuramente tale che .
Quando si annulla il coseno? Quindi otteniamo: Una volta trovati i , li utilizziamo per trovare gli zeri di : Segue una rappresentazione della funzione di in cui sono evidenti i 6 zeri del polinomio:

Polinomi ortogonali
I polinomi di Chebichev fanno parte di una più grande classe di polinomi chiamati polinomi ortogonali al prodotto interno.
Teorema di minimizzazione dell'errore nel caso di zeri di Chebichev
Sia la funzione utilizzata nella determinazione dell'errore di interpolazione. Tra le possibili scelte degli nodi con si ha che è minima se Quindi se gli scelti sono gli zeri dei polinomi di Chebichev.
Come si eguagliano di due termini? Essendo due polinomi di grado sarà sicuramente possibile passare da una forma all'altra.
Splines
L'idea è che anziché usare un polinomio di alto grado, si suddivide l'intervallo in sottointervalli intermedi e si utilizzano polinomi di grado più basso in ognuno dei sottointervalli. La funzione spline è data dall'unione dei polinomi ottenuti. Ci sono due categorie di spline:
- Spline interpolanti: si interpola nei sottointervalli, ma non garantisce la continuità delle derivate a meno di imporre ulteriori restrizioni.
- Spline approssimanti: si rilassa il vincolo dell'interpolazione, non è obbligatorio quindi interpolare i punti ed il metodo diventa di approssimazione.
Parleremo di spline interpolanti.
Grado della spline
Queste ultime sono descritte da un grado legato alla loro derivabilità. Per ottenere una spline interpolante, è necessario raggruppare i campioni contigui (max ~5 per gruppo) ed interpolare all'interno del gruppo. Otterremo tanti polinomi quanti sono i gruppi. I polinomi vengono poi concatenati per creare la spline. La concatenazione dei polinomi non preserva la derivabilità in quanto crea dei punti angolosi. La spline costruita come descritto prima è di grado 1. Per ottenere una spline di grado , bisogna imporre delle condizioni su tutte le derivate di ordine minore o uguale a .
In pratica si utilizzano spline di grado 1 o 3, poiché propongono un buon trade-off tra efficienza computazionale e approssimazione fornita. Si evita l'utilizzo di spline di grado pari, poiché quelle di grado dispari presentano meno errori di approssimazione.
Polinomio a tratti e definizione di Spline
Un polinomio di grado a tratti è una funzione che in ogni sottointervallo è un polinomio di grado . Tali polinomi sono uniti in modo continuo in modo da interpolare i dati. Ciò comporta che la funzione interpolante possa avere derivate discontinue. È possibile imporre alcune proprietà di continuità alle derivate senza richiedere la conoscenza di tali derivate. Di particolare interesse è il caso in cui le derivate sono continue fino all'ordine se è il grado del polinomio a tratti, in tal caso il polinomio prende il nome di spline di grado k.
Ricordiamoci che non è necessario conoscere le derivate della funzione nei nodi, le condizioni di continuità delle derivate sono imposte tra i polinomi contigui!!
Gradi di libertà
Per grado di libertà si intende il numero di condizioni da imporre nella costruzione della spline per garantire l'univocità di quest'ultima. Se la spline è di grado e si opera su nodi, si dimostra che il grado di libertà è .
Disambiguazione: con gradi di liberta intendiamo anche il numero di condizioni che ci manca da imporre per identificare univocamente .
Spline lineari
Per si hanno le spline lineari. Se determiniamo il grado di libertà, supponendo di avere nodi, otterremo un grado di libertà . Le condizioni sono banalmente soddisfatte attraverso la costruzione di una particolare base. Definiamo le funzioni cappello per come segue: Così definite, avremo che (delta di dirak), quindi le funzioni cappello sono linearmente indipendenti (ortogonali tra loro).
La spline lineare è definita come: Graficamente la spline consiste nell'unire i campioni contigui attraverso delle rette.
Stima dell'errore: sia , si ha che
Spline cubiche
Per si hanno le spline cubiche. Questa volta con nodi ci rimangono 2 gradi di liberta da riempire ( ). Il tipo di spline cubica varia in base a come si impongono i due gradi di libertà:
- Spline naturale: si impone
- Spline periodica: si impone S'_3(x_0) = S'_3(x_n) \and S''_3(x_0) = S''_3(x_n)
- Spline vincolata si impone S_3'(x_0)=y'_0 \and S_3'(x_n)=y'_n con