Interpolazione polinomiale a tratti
L’interpolazione polinomiale a tratti è una tecnica utilizzata per approssimare una funzione mediante polinomi definiti su intervalli specifici del dominio. A differenza dell’interpolazione polinomiale globale, che utilizza un singolo polinomio per l’intero intervallo, l’interpolazione a tratti suddivide l’intervallo in sottointervalli e utilizza polinomi di grado inferiore in ciascun sottointervallo.
§ Definizione. Sia t : [a, b] \to \mathbb{R} e siano i nodi a = x_0 < x_1 < \dots < x_n = b. Diciamo che t è un polinomio a tratti di grado k \in \mathbb{N} rispetto alla partizione \{x_i\} se la restrizione di t a ciascun intervallo [x_i, x_{i+1}], indicata con t|_{[x_i, x_{i+1}]}, coincide con una funzione polinomiale di grado al più k.
Interpolazione lineare a tratti
Consideriamo il caso più semplice di interpolazione lineare a tratti (k=1). Useremo la notazione f_i := f(x_i) e h_i := x_{i+1} - x_i. L’interpolante lineare a tratti t(x) nell’intervallo [x_i, x_{i+1}] è definito come:
t_i(x) := t(x)|_{[x_i, x_{i+1}]} = \frac{f_{i+1} - f_i}{h_i}(x - x_i) + f_i
Convergenza
Ricordiamo la seguente proposizione riguardante il resto dell’interpolazione polinomiale:
§ Proposizione. Sia f \in C^{n+1}[a, b] and p_n il polinomio di interpolazione di grado n. Allora per ogni x \in [a, b] esiste \xi \in (a, b) tale che:
r(x) = f(x) - p_n(x) = \prod_{i=0}^n (x - x_i) \frac{f^{(n+1)}(\xi)}{(n+1)!}
Per n=1 (interpolazione lineare), la formula diventa:
r_1(x) = (x - x_0)(x - x_1) \frac{f''(\xi)}{2}
Stima di della norma infinito dell’errore
Supponiamo f \in C^2[a, b] e consideriamo x \in [x_i, x_{i+1}]. Allora:
|f(x) - t(x)| = |(x - x_i)(x - x_{i+1})| \frac{|f''(\xi)|}{2}
con \xi \in (x_i, x_{i+1}) \subseteq [a, b]. Sia M := \max_{x \in [a, b]} |f''(x)|. Allora:
|f(x) - t(x)| \le \frac{M}{2} |(x - x_i)(x - x_{i+1})|
Esprimiamo x come combinazione convessa degli estremi: x = (1 - \theta)x_i + \theta x_{i+1} con \theta \in [0, 1].
x - x_i = \theta(x_{i+1} - x_i) = \theta h_ix - x_{i+1} = (1 - \theta)(x_i - x_{i+1}) = -(1 - \theta)h_i
Quindi:
|f(x) - t(x)| \le \frac{M}{2} |\theta(1 - \theta)| h_i^2
Poiché il valore massimo di \theta(1 - \theta) su [0, 1] è 1/4 (raggiunto in \theta = 1/2), abbiamo:
|f(x) - t(x)| \le \frac{M}{8} h_i^2 \le \frac{1}{8} M H^2
dove H := \max_i h_i. Concludiamo che \|f - t\|_\infty \le \frac{1}{8} M H^2.
Convergenza delle derivate prime
Nei nodi (punti angolosi) la derivata t' non è definita. Tuttavia, vogliamo analizzare se \|f' - t'\|_\infty \to 0 per H \to 0 negli intervalli aperti.
Sia x \in (x_i, x_{i+1}). Allora t'_i(x) = \frac{f_{i+1} - f_i}{h_i}. Per determinare f'(x) usiamo lo sviluppo di Taylor centrato in x:
f_i = f(x) + (x_i - x) f'(x) + \frac{1}{2}(x_i - x)^2 f''(\xi_i)per\xi_i \in (x_i, x)f_{i+1} = f(x) + (x_{i+1} - x) f'(x) + \frac{1}{2}(x_{i+1} - x)^2 f''(\eta_i)per\eta_i \in (x, x_{i+1})
Sottraendo le due equazioni:
f_{i+1} - f_i = (x_{i+1} - x_i) f'(x) + \frac{1}{2} \left[ (x_{i+1} - x)^2 f''(\eta_i) - (x_i - x)^2 f''(\xi_i) \right]
f'(x) = \frac{f_{i+1} - f_i}{h_i} + \frac{1}{2h_i} \left[ (x_i - x)^2 f''(\xi_i) - (x_{i+1} - x)^2 f''(\eta_i) \right]
Allora:
\begin{aligned}
|f'(x) - t'_i(x)| &\le \frac{1}{2} \frac{M}{h_i} |(x_i - x)^2 - (x_{i+1} - x)^2| \\
&= \frac{1}{2} \frac{M}{h_i} |\theta^2 h_i^2 - (1 - \theta)^2 h_i^2| \\
&= \frac{1}{2} M h_i |\theta^2 - (1 - \theta)^2|
\end{aligned}
Poiché |\theta^2 - (1 - \theta)^2| = |2\theta - 1| \le 1 per \theta \in [0, 1], abbiamo:
|f'(x) - t'_i(x)| \le \frac{1}{2} M h_i
Quindi l’errore sulla derivata prima va come O(H) per H \to 0.
Interpolazione di Hermite
Data f \in C^k[a, b] e nodi fissati, cerchiamo una funzione g(x) \in C^k[a, b] “semplice” tale che:
\forall j = 0, \dots, k, \quad g^{(j)}(x_i) = f^{(j)}(x_i)
Nel caso dell’interpolazione polinomiale di Hermite con k=1 e \{x_i\}_{i=0}^n nodi, cerchiamo un polinomio di grado \le 2n+1 tale che:
p(x_i) = f(x_i), \quad p'(x_i) = f'(x_i)
Il resto dell’interpolazione polinomiale di Hermite per k=1 è:
r^{(H)}(x) = f(x) - p_{2n+1}(x) = \prod_{i=0}^n (x - x_i)^2 \frac{f^{(2n+2)}(\eta)}{(2n+2)!}
In particolare, per n=1 (un solo intervallo [x_0, x_1]):
r^{(H)}(x) = (x - x_0)^2 (x - x_1)^2 \frac{f^{(4)}(\eta)}{4!}
Interpolazione di Hermite cubica a tratti
Siano f \in C^2[a, b] e una partizione a = x_0 < x_1 < \dots < x_n = b. Cerchiamo g \in C^1[a, b] tale che per ogni i:
g|_{[x_i, x_{i+1}]} = g_isia un polinomio di grado al più3.g(x_i) = f(x_i).g'(x_i) = f'(x_i).
La soluzione è unica. Per determinare g_i su [x_i, x_{i+1}], consideriamo la forma:
g_i(x) = a_i (x - x_i)^3 + b_i (x - x_i)^2 + c_i (x - x_i) + d_i
e imponiamo le condizioni:
g_i(x_i) = f_i, \quad g_i(x_{i+1}) = f_{i+1}(garantisceg \in C^0)g_i'(x_i) = f_i', \quad g_i'(x_{i+1}) = f_{i+1}'(garantisceg \in C^1)
La soluzione del sistema lineare 4 \times 4 fornisce i coefficienti:
\begin{aligned}
g_i(x) = &[2(f_i - f_{i+1}) + h_i(f_i' + f_{i+1}')] \frac{(x - x_i)^3}{h_i^3} \\
&- [3(f_i - f_{i+1}) + h_i(2f_i' + f_{i+1}')] \frac{(x - x_i)^2}{h_i^2} \\
&+ f_i' (x - x_i) + f_i
\end{aligned}
Convergenza
Usiamo la formula del resto. Supponiamo f \in C^4[a, b], allora per x \in [x_i, x_{i+1}]:
\begin{aligned}
|f(x) - g_i(x)| &= \left| (x - x_i)^2 (x - x_{i+1})^2 \frac{f^{(4)}(\eta)}{4!} \right| \\
&\le \frac{1}{4!} K |(x - x_i)^2 (x - x_{i+1})^2| \\
&\le \frac{1}{4!} K \frac{1}{16} h_i^4 = \frac{1}{384} K h_i^4 \\
&\le \frac{1}{384} K H^4
\end{aligned}
dove K = \|f^{(4)}\|_\infty. Quindi \|f - g\|_\infty \le \frac{1}{384} K H^4, ovvero l’errore decade come O(H^4).
Spline
Sia f : [a, b] \to \mathbb{R}, k \ge 2 e nodi a = x_0 < x_1 < \dots < x_n = b.
§ Definizione. Una funzione s(x) : [a, b] \to \mathbb{R} è una funzione spline di ordine k per f rispetto ai nodi \{x_i\} se valgono le seguenti condizioni:
s_i := s|_{[x_i, x_{i+1}]}è un polinomio di grado< k.s(x_i) = f(x_i)per ognii.s \in C^{k-2}[a, b].
Spline cubiche
Sia s(x) una spline cubica (k=4) per f sui nodi \{x_i\}. Su ogni intervallo [x_i, x_{i+1}] abbiamo:
s_i(x) = a_i (x - x_i)^3 + b_i (x - x_i)^2 + c_i (x - x_i) + d_i
Vogliamo ricavare i coefficienti a_i, b_i, c_i, d_i. Le condizioni imposte sono:
-
s_i(x_i) = f_iperi = 0, \dots, n-1(interpolazione e continuitàC^0). -
s_i(x_{i+1}) = f_{i+1}peri = 0, \dots, n-1(interpolazione e continuitàC^0). -
s_{i-1}'(x_i) = s_i'(x_i)peri = 1, \dots, n-1(continuità delle derivate primeC^1). -
s_{i-1}''(x_i) = s_i''(x_i)peri = 1, \dots, n-1(continuità delle derivate secondeC^2).
In totale abbiamo 4n coefficienti e 2n + 2(n-1) = 4n - 2 equazioni. Il sistema risultante è sottodeterminato, quindi la soluzione non è unica. Vediamo le possibili condizioni al contorno che si possono imporre per ottenere l’unicità.
§ Definizione. Le condizioni aggiuntive per ottenere l’unicità della spline cubica sono dette condizioni al contorno. Le più comuni sono:
-
Spline naturali:
s''(a) = 0es''(b) = 0. -
Spline complete:
s'(a) = f'(a)es'(b) = f'(b). -
Spline not-a-knot:
s_0'''(x_1) = s_1'''(x_1)es_{n-2}'''(x_{n-1}) = s_{n-1}'''(x_{n-1}). -
Spline periodiche:
s'(a) = s'(b)es''(a) = s''(b).
Costruzione della spline tramite i momenti
Uno dei modi per trovare s(x) è scrivere il sistema in a_i, b_i, c_i, d_i e risolverlo. Un altro metodo più efficiente è quello dei momenti.
§ Definizione. Sia s(x) : [a, b] \to \mathbb{R} una spline cubica. I momenti di s(x) sono i valori della derivata seconda nei nodi:
\mu_i := s''(x_i), \quad i = 0, \dots, n
Caratterizziamo s attraverso i momenti. Per x \in [x_i, x_{i+1}], la derivata seconda s_i''(x) è un polinomio di primo grado. Supponendo che i momenti siano noti, possiamo scrivere s_i''(x) per interpolazione lineare:
s_i''(x) = \mu_{i+1} \frac{x - x_i}{h_i} - \mu_i \frac{x - x_{i+1}}{h_i}
Integrando successivamente rispetto a x, otteniamo:
s_i'(x) = \mu_{i+1} \frac{(x - x_i)^2}{2h_i} - \mu_i \frac{(x - x_{i+1})^2}{2h_i} + \alpha_i
s_i(x) = \mu_{i+1} \frac{(x - x_i)^3}{6h_i} - \mu_i \frac{(x - x_{i+1})^3}{6h_i} + \alpha_i(x - x_i) + \beta_i
Le costanti di integrazione \alpha_i e \beta_i vengono determinate imponendo le condizioni di interpolazione s_i(x_i) = f_i e s_i(x_{i+1}) = f_{i+1}:
\left\{ \begin{aligned}
\alpha_i &= \frac{f_{i+1} - f_i}{h_i} - \frac{h_i}{6}(\mu_{i+1} - \mu_i) \\
\beta_i &= f_i - \frac{h_i^2}{6} \mu_i
\end{aligned} \right.
§ Teorema. Sia f : [a, b] \to \mathbb{R} con a = x_0 < x_1 < \dots < x_n = b e s(x) una spline cubica per f con nodi \{x_i\}. Allora vale:
\begin{aligned}
s_i(x) = &\mu_{i+1} \frac{(x - x_i)^3}{6h_i} - \mu_i \frac{(x - x_{i+1})^3}{6h_i} \\
&+ \left[ \frac{f_{i+1} - f_i}{h_i} - \frac{h_i}{6}(\mu_{i+1} - \mu_i) \right](x - x_i) + f_i - \mu_i \frac{h_i^2}{6}
\end{aligned}
Osservazione. La condizione sulle derivate seconde è implicita in quanto consideriamo i momenti come dati (punti di interpolazione per la derivata seconda).
Equazioni dei momenti
Imponiamo la condizione di continuità della derivata prima nei nodi interni: s_{i-1}'(x_i) = s_i'(x_i) per i = 1, \dots, n-1.
Dalla formula per s_i'(x), calcoliamo il valore nel nodo sinistro x_i:
s_i'(x_i) = - \mu_i \frac{h_i}{2} + \alpha_i = - \mu_i \frac{h_i}{2} + \frac{f_{i+1} - f_i}{h_i} - \frac{h_i}{6}(\mu_{i+1} - \mu_i)
E il valore nel nodo destro dell’intervallo precedente x_i:
s_{i-1}'(x_i) = \mu_i \frac{h_{i-1}}{2} + \alpha_{i-1} = \mu_i \frac{h_{i-1}}{2} + \frac{f_i - f_{i-1}}{h_{i-1}} - \frac{h_{i-1}}{6}(\mu_i - \mu_{i-1})
Eguagliando e riordinando i termini otteniamo l’equazione lineare per i momenti:
h_{i-1}\mu_{i-1} + 2(h_{i-1} + h_i)\mu_i + h_i\mu_{i+1} = 6 \underbrace{\left( \frac{f_{i+1} - f_i}{h_i} - \frac{f_i - f_{i-1}}{h_{i-1}} \right)}_{f_{i-1, i, i+1}}
Ovvero:
h_{i-1}\mu_{i-1} + 2(h_{i-1} + h_i)\mu_i + h_i\mu_{i+1} = 6 f_{i-1, i, i+1}
§ Teorema. Sia f : [a, b] \to \mathbb{R} e \{x_i\} una partizione. La funzione s(x) è una spline cubica per f se e solo se i momenti \mu_i soddisfano il sistema lineare sopra definito per ogni i = 1, \dots, n-1, con l’aggiunta delle opportune condizioni al contorno.
Rappresentazione matriciale
A seconda delle condizioni al contorno scelte, il sistema assume forme diverse.
Spline naturali
Imponendo \mu_0 = \mu_n = 0, abbiamo (n-1) equazioni:
\begin{bmatrix}
2(h_0+h_1) & h_1 & 0 & \\
h_1 & 2(h_1+h_2) & h_2 & \\
& \ddots & \ddots & \ddots \\
& 0 & h_{n-2} & 2(h_{n-2}+h_{n-1})
\end{bmatrix}
\begin{bmatrix}
\mu_1 \\ \mu_2 \\ \vdots \\ \mu_{n-1}
\end{bmatrix}
= 6
\begin{bmatrix}
f_{0, 1, 2} \\
f_{1, 2, 3} \\
\vdots \\
f_{n-2, n-1, n}
\end{bmatrix}
Spline complete
Sia s'(x_0) = f_0' e s'(x_n) = f_n'. Le equazioni aggiuntive ai bordi portano a un sistema (n+1) \times (n+1):
\begin{bmatrix}
2h_0 & h_0 & 0 & \\
h_0 & 2(h_0+h_1) & h_1 & \\
& \ddots & \ddots & \ddots \\
& 0 & h_{n-1} & 2h_{n-1}
\end{bmatrix}
\begin{bmatrix}
\mu_0 \\ \mu_1 \\ \vdots \\ \mu_n
\end{bmatrix}
= 6
\begin{bmatrix}
f_{0, 1} - f_0' \\
f_{0, 1, 2} \\
\vdots \\
f_n' - f_{n-1, n}
\end{bmatrix}
Nodi equispaziati
Per nodi equispaziati (h_i = h), le matrici si semplificano dividendo per h:
- Naturali:
\begin{bmatrix}
4 & 1 & 0 & \\
1 & 4 & 1 & \\
& \ddots & \ddots & \ddots \\
& 0 & 1 & 4
\end{bmatrix}
\begin{bmatrix}
\mu_0 \\ \mu_1 \\ \vdots \\ \mu_n
\end{bmatrix}
= \frac{6}{h}
\begin{bmatrix}
f_{0, 1, 2} \\
f_{1, 2, 3} \\
\vdots \\
f_{n-2, n-1, n}
\end{bmatrix}
- Complete:
\begin{bmatrix}
2 & 1 & 0 & \\
1 & 4 & 1 & \\
& \ddots & \ddots & \ddots \\
& 0 & 1 & 2
\end{bmatrix}
\begin{bmatrix}
\mu_0 \\ \mu_1 \\ \vdots \\ \mu_n
\end{bmatrix}
= \frac{6}{h}
\begin{bmatrix}
f_{0, 1} - f_0' \\
f_{0, 1, 2} \\
\vdots \\
f_n' - f_{n-1, n}
\end{bmatrix}
Convergenza
Consideriamo le spline complete con nodi equispaziati. Sia M la matrice del sistema.
§ Proposizione. Sia M la matrice associata al sistema delle spline complete. Allora:
Mè invertibile e a predominanza diagonale in senso stretto.\|M^{-1}\|_\infty \le 1.- Utilizzando la notazione
(|A|)_{ij} := |A_{ij}|, si ha|M^{-1}| [1, 2, \dots, 2, 1]^T = [1, \dots, 1]^T.
Osservazione. Il numero di condizionamento in norma infinito soddisfa \kappa_\infty(M) = \|M\|_\infty \|M^{-1}\|_\infty \le 6 \cdot 1 = 6, e non dipende dal numero di nodi n. Questo garantisce un’ottima stabilità numerica nel calcolo dei momenti.
Lemma di Neumann
Per dimostrare la convergenza, utilizzeremo il seguente risultato di analisi matriciale.
§ Lemma (Neumann). Sia A \in \mathbb{R}^{n \times n} con \|A\| < 1 (dove \|\cdot\| è la norma indotta). Allora:
(I - A)è invertibile.- La serie
\sum_{j=0}^\infty A^jconverge a(I - A)^{-1}. \|(I - A)^{-1}\| \le \dfrac{1}{1 - \|A\|}.
Dimostrazione. Osserviamo i seguenti punti:
Poiché \|A\| < 1, la serie geometrica di matrici \sum_{j=0}^\infty A^j converge assolutamente in quanto \sum \|A^j\| \le \sum \|A\|^j < \infty.
L’operatore (I - A) è invertibile. Infatti, se esistesse v \ne 0 tale che (I - A)v = 0, allora Av = v, il che implicherebbe che 1 è un autovalore di A. Ma sappiamo che il raggio spettrale \rho(A) \le \|A\| < 1, quindi 1 non può essere un autovalore.
Verifichiamo l’identità dell’inversa:
(I - A) \sum_{j=0}^m A^j = I - A^{m+1}
Poiché \|A\| < 1, allora A^{m+1} \to 0 per m \to \infty. Quindi (I - A) \sum_{j=0}^\infty A^j = I.
Passando alla norma, otteniamo:
\|(I - A)^{-1}\| = \left\| \sum_{j=0}^\infty A^j \right\| \le \sum_{j=0}^\infty \|A\|^j = \frac{1}{1 - \|A\|}
§ Teorema. Siano f \in C^4[a, b] e s(x) la spline cubica completa su nodi equispaziati con passo h. Siano \mu_i i momenti di s e sia M := \|f^{(4)}\|_\infty. Allora:
\max_{i=0, \dots, n} |f''(x_i) - \mu_i| \le \frac{3}{4} M h^2
Risultati di convergenza
Il seguente teorema riassume la velocità di convergenza della spline cubica e delle sue derivate verso la funzione originaria al diminuire del passo h.
§ Teorema. Nelle ipotesi del teorema precedente, si hanno le seguenti stime di errore in norma infinito:
-
\|f'''(x) - s'''(x)\|_{\infty, [x_i, x_{i+1}]} \le 2 M h -
\|f''(x) - s''(x)\|_{\infty, [a, b]} \le \frac{7}{4} M h^2 -
\|f'(x) - s'(x)\|_\infty \le \frac{7}{4} M h^3 -
\|f(x) - s(x)\|_\infty \le \frac{7}{8} M h^4
Dimostrazione.
-
Analizziamo l’errore sulla derivata terza. Sia
x \in [x_i, x_{i+1}]. Poichés_i'''è costante:s_i'''(x) = \frac{\mu_{i+1} - \mu_i}{h}L’errore è:
\begin{aligned} & f'''(x) - s_i'''(x) = \\[0.5em] &= f'''(x) - \frac{\mu_{i+1} - \mu_i}{h} \\ &= f'''(x) - \frac{(\mu_{i+1} - f''(x_{i+1})) - (\mu_i - f''(x_i)) + f''(x_{i+1}) - f''(x_i)}{h} \end{aligned}dove abbiamo aggiunto e tolto a numeratore i termini
f''(x_{i+1}),f''(x_i)ef''(x).Ora ricordiamo che
-
\max_i |\mu_i - f''(x_i)| \le \dfrac{3}{4} M h^2 -
Usando Taylor per
f''inxe valutando inx_{i+1}ex_iotteniamo:\begin{aligned} f''(x_{i+1}) &= f''(x) + f'''(x)(x_{i+1} - x) + \frac{1}{2} f^{(4)}(\xi_2)(x_{i+1} - x)^2 \\ f''(x_i) &= f''(x) + f'''(x)(x_i - x) + \frac{1}{2} f^{(4)}(\xi_1)(x_i - x)^2 \end{aligned}Sottraendo la prima dalla seconda otteniamo che il termine
f'''(x)si elimina:\begin{aligned} & f'''(x) (x_{i+1} - x) - f'''(x)(x_{i} - x) = \\ &= f'''(x) (x_{i+1} - \cancel{x} - x_{i} + \cancel{x}) = \\ &= f'''(x) (x_{i+1} - x_i) \\ &= f'''(x) h \end{aligned}dunque moltiplicando per
1/hsi ricava:f''(x_{i+1}) - f''(x_i) = f'''(x) h + \frac{1}{2} \left[ f^{(4)}(\xi_2)(x_{i+1} - x)^2 - f^{(4)}(\xi_1)(x_i - x)^2 \right]ora osserviamo che
x \in [x_i, x_{i+1}], dunque pert \in [0, 1]possiamo scriverex = t x_i + (1 - t) x_{i+1}. Quindi:(x_{i+1} - x)^2 + (x_i - x)^2 = (t^2 + (1 - t)^2) (x_{i+1} - x_i)^2 \le (1) h^2 = h^2
Sostituendo nella formula dell’errore otteniamo:
\begin{aligned} f&'''(x) - s_i'''(x) = \\[0.5em] = & f'''(x) - \frac{(\mu_{i+1} - f''(x_{i+1})) - (\mu_i - f''(x_i)) + f''(x_{i+1}) - f''(x_i)}{h} \\[0.5em] = & \frac{(\mu_i - f''(x_i)) - (\mu_{i+1} - f''(x_{i+1}))}{h} + \\ - & \frac{1}{2h} \left[ f^{(4)}(\xi_2)(x_{i+1} - x)^2 - f^{(4)}(\xi_1)(x_i - x)^2 \right] \end{aligned}Applicando la stima sui momenti
|f''(x_i) - \mu_i| \le \dfrac{3}{4} M h^2e la stima|f^{(4)}| \le M:\begin{aligned} & |f'''(x) - s_i'''(x)| \le \\[0.5em] & \le \frac{1}{h} \left( \frac{3}{4} M h^2 + \frac{3}{4} M h^2 \right) + \frac{M}{2h} \underbrace{((x - x_i)^2 + (x_{i+1} - x)^2)}_{\le h^2} \\ &= \frac{3}{2} M h + \frac{1}{2} M h = 2 M h \end{aligned} -
-
Sia
x \in [a, b]. Sexè un nodo, dalla stima dei momenti sappiamo già che:|f''(x_i) - s''(x_i)| = |f''(x_i) - \mu_i| \le \frac{3}{4} M h^2 \le \frac{7}{4} M h^2Se
xnon è un nodo, siax_iil nodo più vicino axejtale chex \in [x_j, x_{j+1}]. Allora:\int_{x_i}^x (f'''(t) - s_j'''(t)) \mathrm dt = (f''(x) - s_j''(x)) - (f''(x_i) - s_j''(x_i))Da cui:
\begin{aligned} |f''(x) - s_j''(x)| &\le \int_{x_i}^x |f'''(t) - s_j'''(t)| \mathrm dt + |f''(x_i) - \mu_i| \\ &\le |x - x_i| \cdot \max_{t \in [x_i, x]} |f'''(t) - s_j'''(t)| + \frac{3}{4} M h^2 \\ &\le \frac{h}{2} (2 M h) + \frac{3}{4} M h^2 = \frac{7}{4} M h^2 \end{aligned}Questo vale per ogni
x \in [a, b], quindi\|f'' - s''\|_\infty \le \dfrac{7}{4} M h^2. -
Consideriamo la funzione
e(x) := f(x) - s(x). Poichésinterpolaf,e(x_i) = 0per ognii. Per il teorema di Rolle, in ogni intervallo(x_i, x_{i+1})esiste almeno un punto\xi_iin cui la derivata si annulla:e'(\xi_i) = f'(\xi_i) - s'(\xi_i) = 0.Procedendo come nel punto precedente:
\int_{\xi_i}^x (f''(t) - s''(t)) \mathrm dt = f'(x) - s'(x)Allora:
|f'(x) - s'(x)| \le |x - \xi_i| \cdot \max |f'' - s''| \le h \left( \frac{7}{4} M h^2 \right) = \frac{7}{4} M h^3Quindi
\|f' - s'\|_\infty \le \dfrac{7}{4} M h^3. -
Sia
x \in [a, b]e siax_iil nodo più vicino ax. Poichéf(x_i) - s(x_i) = 0, abbiamo:\int_{x_i}^x (f'(t) - s'(t)) \mathrm dt = f(x) - s(x)Quindi:
|f(x) - s(x)| \le |x - x_i| \cdot \max_{t \in [x_i, x]} |f' - s'| \le \frac{h}{2} \left( \frac{7}{4} M h^3 \right) = \frac{7}{8} M h^4Concludiamo che
\|f - s\|_\infty \le \dfrac{7}{8} M h^4.
Proprietà di minima curvatura
Le spline naturali godono di una proprietà di ottimalità legata all’energia di curvatura.
§ Teorema (Proprietà di minima curvatura). Sia f : [a, b] \to \mathbb{R} con nodi \{x_i\}. Allora la spline naturale s(x) \in C^2[a, b] minimizza la quantità
\int_a^b [g''(x)]^2 \mathrm dx
per ogni g \in C^2[a, b] con g(x_i) = f(x_i) per ogni i.
Dimostrazione.
Sia g \in C^2[a, b] con g(x_i) = f(x_i) per ogni i. Dimostriamo che:
\int_a^b (s''(x))^2 \mathrm dx \le \int_a^b (g''(x))^2 \mathrm dx
Consideriamo:
\begin{aligned}
0 &\le \int_a^b (s''(x) - g''(x))^2 \mathrm dx \\
&= \int_a^b (s''(x))^2 \mathrm dx + \int_a^b (g''(x))^2 \mathrm dx - 2 \int_a^b s''(x) g''(x) \mathrm dx \\
&= \int_a^b (g'')^2 - \int_a^b (s'')^2 + 2 \int_a^b s'' [s'' - g'']
\end{aligned}
Mostriamo che 2 \int_a^b s'' [s'' - g''] \mathrm dx = 0. Analizziamo l’integrale su ogni intervallo [x_i, x_{i+1}] integrando per parti due volte:
\begin{aligned}
& \int_{x_i}^{x_{i+1}} s_i'' \cdot (s_i - g)'' \mathrm dx = \\
& = \big[ (s_i' - g') \cdot s_i'' \big]_{x_i}^{x_{i+1}} - \underbrace{\big[ (s_i - g) s_i''' \big]_{x_i}^{x_{i+1}}}_{=0} + \int_{x_i}^{x_{i+1}} (s_i - g) \underbrace{s_i^{(4)}}_{=0} \mathrm dx
\end{aligned}
dove il secondo termine si annulla poiché s(x_i) = g(x_i) = f(x_i) nei nodi, e il terzo termine si annulla poiché s_i è un polinomio di grado al più 3.
\begin{aligned}
& \int_a^b s'' [s'' - g''] \mathrm dx \\
&= \sum_{i=0}^{n-1} \big[ (s_i' - g') \cdot s_i'' \big]_{x_i}^{x_{i+1}} \\
&= (s'(x_n) - g'(x_n)) s''(x_n) - (s'(x_0) - g'(x_0)) s''(x_0) \\
&= 0
\end{aligned}
poiché s''(x_n) = s''(x_0) = 0 in quanto per le spline naturali. Segue che:
0 \le \int_a^b (g'')^2 - \int_a^b (s'')^2 \implies \int_a^b (s''(x))^2 \mathrm dx \le \int_a^b (g''(x))^2 \mathrm dx
§ Teorema (Proprietà di minima curvatura per spline complete). Sia f: [a, b] \to \mathbb{R} di classe C^1[a, b] con nodi \{x_i\}. Allora la spline completa s(x) \in C^2[a, b] minimizza la quantità
\int_a^b (g''(x))^2 \mathrm dx
al variare di g \in C^2[a, b] tale che g(x_i) = f(x_i) per ogni i, e che soddisfa le condizioni al contorno g'(a) = f'(a) e g'(b) = f'(b).
Dimostrazione.
Si procede come nella dimostrazione precedente, ma in questo caso non si annullano necessariamente s''(x_0) e s''(x_n). Tuttavia, si annullano i termini
s'(x_n) - g'(x_n) \quad \text{e} \quad s'(x_0) - g'(x_0)
per le proprietà delle spline complete
s'(a) = f'(a), \quad s'(b) = f'(b)
e per le ipotesi su g
g'(a) = f'(a), \quad g'(b) = f'(b)
Dunque l’integrale di bordo è nullo e la tesi segue come nel caso delle spline naturali.