Funzione spline
# Funzione spline

In analisi matematica, una spline è una funzione, costituita da un insieme di polinomi raccordati tra loro, il cui scopo è interpolare in un intervallo un insieme di punti (detti nodi della spline), in modo tale che la funzione sia continua almeno fino ad un dato ordine di derivate in ogni punto dell'intervallo.

Il calcolo di funzioni spline è un potente strumento di grafica computerizzata di tipo vettoriale, come il CAD (Computer Aided Design, cioè "disegno assistito al computer"). Il termine inglese spline sta a significare una striscia di metallo o di legno, perché originariamente la spline costituiva un particolare strumento di disegno formato da lunghe fettucce elastiche fissate ai nodi dell'interpolazione da grossi pesi.

L'individuazione di funzioni richiede il calcolo dei coefficienti del polinomio interpolatore. Esistono varie modalità di generazione delle spline, ma, contrariamente ai metodi numerici di Newton e Lagrange, i cui polinomi hanno un grado che dipende dal numeri dei poli considerati, esse utilizzano polinomi di grado $p$ fissato per unire tutti gli $n$ nodi, con $p<n$. Quindi una spline non genera un solo polinomio interpolatore, ma un insieme di polinomi che si raccordano tra loro, in modo tale che la funzione spline finale sia continua in tutti i nodi. Per esempio, si consideri una funzione spline di grado $p=3$: essa genera un insieme di cubiche continue e derivabili due volte all'interno dell'intervallo di interpolazione; inoltre agli estremi dell'intervallo si richiede che la derivata seconda sia nulla, ossia che la funzione esca con andamento rettilineo al di fuori degli estremi dell'intervallo; in questo caso si parla di spline naturale.

La spline ha la caratteristica di interpolare i punti in modo da non avere bruschi cambiamenti nella pendenza, ossia di essere molto smussata e liscia; infatti si può dimostrare che la funzione spline $y=s(x)$ minimizza nell'intervallo di interpolazione $[a,b]$ la quantità

    ${\sqrt {\int \limits _{a}^{b}\left\vert s''(x)\right\vert ^{2}dx}},$

che geometricamente, può essere interpretata come la misura della curvatura media della spline. Dal punto di vista fisico la condizione precedente traduce la condizione di minimizzazione dell'energia elastica posseduta dalle fettucce metalliche appartenenti all'originario strumento di disegno.

## Definizione

Sia $\Lambda =\{a=x_{0}<x_{1}<\cdots <x_{n}=b\}$ una suddivisione dell'intervallo chiuso $[a,b]$. Una funzione spline di grado $p$ con nodi nei punti $x_{i},$ con $i=0,1,2,\dots ,n,$ è una funzione su $[a,b]$ indicata con $s_{p}(x)$ tale che, nell'intervallo $[a,b]$ si abbia:

* in ogni sottointervallo $[x_{i},x_{i+1}],$ con $i=0,1,2,\dots ,n-1,$ la funzione $s_{p}(x)$ è un polinomio di grado $p$;
* la funzione $s_{p}(x)$ e le sue prime $p-1$ derivate sono continue.

Una funzione spline è interpolante se, oltre a soddisfare i due requisiti sopra indicati, passa per ognuno dei punti che la definiscono. In particolare, data la tabulazione (campionamento) di una funzione $f(x)$ nei punti $(x_{i},y_{i}),$ con $i=0,1,\dots ,n,$ è detta spline interpolante la spline $s_{p}(x)$ tale che: $s_{p}(x_{i})=y_{i}$ per ogni $i=0,1,\dots ,n.$

Indicata con $s_{p,j}(x)$ la restrizione di una spline di grado $p$ sul sottointervallo $[x_{j},x_{j+1}],$ per $j=0,\dots ,n-1,$ si può sempre pensare a $s_{p,j}(x)$ nella forma

    $s_{p,j}(x)=\sum _{i=0}^{p}a_{ij}(x-x_{j})^{i},$

dove gli $n(p+1)$ coefficienti $a_{ij}$ (sono $p+1$ su ciascuno degli $n$ sottointervalli) sono da determinare imponendo le condizioni di continuità di $s_{p}^{(k)}$ nei nodi interni:

    $s_{p,j-1}^{(k)}(x_{j})=s_{p,j}^{(k)}(x_{j}),$ per $j=1,\ldots ,n-1\quad k=0,\ldots ,p-1.$

Ciò però dà luogo a $p(n-1)$ equazioni, pertanto il sistema di equazioni così ottenuto, ha $n+p=n(p+1)-p(n-1)$ gradi di libertà. Anche nel caso delle spline interpolatorie, imponendo il passaggio della spline per i punti $(x_{i},y_{i}),$ per $i=0,\ldots ,n,$ non si è ancora in grado di determinare $p-1$ coefficienti. Per questo motivo nella pratica si è soliti aggiungere delle condizioni aggiuntive, in maniera che il sistema abbia soluzione unica.

Le condizioni aggiuntive più usate sono di due tipi:

* $s_{p}^{(k)}(a)=s_{p}^{(k)}(b),$ per $k=1,\ldots ,p-1,$

spline che soddisfano questo tipo di condizioni sono dette spline periodiche;

* $s_{p}^{(m+j)}(a)=s_{p}^{(m+j)}(b)=0,$ per $j=0,\ldots ,m-2,$

a patto però che sia $p=2m-1,$ con $m\geq 2.$ Spline che soddisfano condizioni di questo tipo sono invece dette spline naturali.

Tra tutte le funzioni appartenenti allo spazio di Sobolev $H^2$ che passano per $n$ punti assegnati e che soddisfano una delle condizioni aggiuntive precedenti, la spline cubica interpolante è quella che minimizza l'integrale:

    $\ \left(\int \left|f''{(2)}(t)\right|^{2}\,dt\right)^{1/2}.$

Tale integrale, se la derivata prima è piccola, può essere interpretato come una buona approssimazione della curvatura media. Il fatto che sia minimo giustifica l'affermazione che la spline è la funzione interpolante più liscia.

