%% Nome del file:

\newcommand {\Cartellalatex} {/home/esg/Latex}

\input{\Cartellalatex/input.tex}
\setcounter{Contcap}{10}
\setcounter{Contprop}{1}

\begin{document}\Century{1100}

\setlength {\parindent} {1em}

\Capitolo {10. Interpolazione di Hermite}

\Situazione{ Siano $\lambda_1, \ldots, \lambda_s \in \CC$ tutti distinti ed $m_1, \ldots, m_s \in~\NN~+~1$. Sia $m:= m_1 + \ldots + m_s$.}

\Lemma { Siano $f \in \CC[x]$, $\alpha \in \CC$ e $p \in \NN$. Allora $\alpha$ \eacc uno zero di molteplicit\aacc (esatta) $p$ di $f$ se e solo se $f^{(j)} (\alpha) =0$ per ogni $j= 0, \ldots, p-1$ ed $f^{(p)} (\alpha) \neq 0$.} 

\Dimostrazione{Corso di Algebra oppure Scheja/Storch, pag. 109.}

\Corollario { Sia $f \in \CC[x]$ un polinomio di grado $< m$ tale che per ogni $k= 1, \ldots, s$ si abbia $f^{(j)}(\lambda_k) =0$ per ogni $j=0, \ldots, m_k -1$. Allora $f=0$.}

\Dimostrazione{MANCA}

\Teorema{ Per ogni $k=1, \ldots, s$ ed ogni $j=0, \ldots, m_k -1$ sia dato un numero complesso $v_{ij}$. Allora esiste esattamente un polinomio $H \in \CC[x]$ di grado $<m$ tale che per ogni $k=1, \ldots, s$ si abbia $H^{(j)}(\lambda_j)= v_{kj}$ per ogni $j= 0, \ldots, m_k -1$.}

\Dimostrazione{MANCA}

\Definizione{ Il polinomio $H$ nella proposizione 10.7 si chiama il \C{polinomio di interpolazione di Hermite} rispetto al problema di interpolazione dato. 

Per indicare i parametri del problema di interpolazione, denotiamo $H$ con\m

$H[\lambda_1:(v_{10}, \ldots, v_{1,m_1-1}), \ldots, \lambda_s:(v_{s0}, \ldots, v_{s,m_s-1})]$\m

\NI Abbreviando $v_k := (v_{k0}, \ldots, v_{k, m_k -1})$ per ogni $k$, possiamo anche scrivere $H= H[\lambda_1 : v_1, \ldots, \lambda_s : v_s]$. Talvolta, in algoritmi ricorsivi, ammettiamo anche che uno dei vettori $v_k$ sia il vettore vuoto, cio\eacc che $v_k = ( )$, ponendo in tal caso\m

$H[\lambda_1: v_1, \ldots, \lambda_s: v_s] : = H[\lambda_1:v_1, \ldots, \lambda_{k-1}:v_{k-1}, \lambda_{k+1}:v_{k+1}, \ldots, \lambda_s:~v_s]$.\m

\NI Per $v_k=(v_{k0}, \ldots, v_{kt})$ con $t>0$ poniamo infine $v_k^{-} := (v_{k0}, \ldots, v_{k, t-1})$.

}


\Osservazione{ Diamo adesso due dimostrazioni costruttive del teorema 10.4. Nella prima, basata sul teorema cinese del resto, seguiamo Gathen/Gerhard, pagg. 102-105 e 111-113, nella seconda esponiamo, in modo leggermente modificato, lo schema alle differenze che si trova in Stoer, pagg. 44-47, e Deuflhard/Hohmann, pagg. 207-211.}

\Lemma[(teorema cinese dei resti)]{$A$ sia un anello euclideo ed $a_1, \ldots, a_s \in A$ tale che $mcd(a_i, a_j)=1$ per ogni $i \neq j$.

Sia $b_i := a_1 \cdots \widehat{a_i} \cdots a_s$ (con la notazione introdotta nella definizione 9.6) per ogni $i$. Per ogni $i$ allora $mcd(a_i, b_i)=1$ e quindi esistono $\alpha_i, \beta_i \in A$ tali che $\alpha_i a_i + \beta_i b_i =1$. Si noti che ci\oacc implica ($\beta_i b_i =1$, \text{ in } $A / a_i$), mentre \eacc chiaro che ($\beta_i b_i =0$, in $A / a_j$) per $j \neq i$ perch\'e in tal caso $ b_i = a_1 \cdots \widehat{a_i} \cdots a_j \cdots a_s$ (oppure $ b_i = a_1 \cdots a_j \cdots \widehat{a_i} \cdots a_s$) \eacc un multiplo di $a_j$.

Siano adesso dati $c_1, \ldots, c_s \in A$. Se poniamo $c:= \beta_1 b_1 c_1 + \ldots + \beta_s b_s c_s$, allora ($c=c_i$, \text{ in } $A / a_i$) per ogni $i=1, \ldots, s$.


Non \eacc difficile ( \eacc per noi irrilevante) dimostrare che $c$ \eacc univocamente determinato dal modulo $a_1 \cdots a_s$.}

\Osservazione{ Sia $H \in \CC[x]$ come nel teorema 10.4. Allora $H$ possiede per ogni $k=1, \ldots, s$ uno sviluppo di Taylor\m

$\begin{aligned}
H &= H(\lambda_k) + H'(\lambda_k) (x -\lambda_k) + \ldots + \Frac{ H^{(m_k -1)}(\lambda_k)}{(m_k-1)!} (x - \lambda_k)^{m_k -1} + \ldots =\\
&=  \underbrace{v_{k0} + v_{k1} (x - \lambda_k) + \ldots + \Frac{v_{k, m_k -1}}{(m_k -1)!} (x- \lambda_k)^{m_k -1}}_{=: H_k} + \ldots
\end{aligned}$\m

\NI e quindi

($H = H_k$, \text{ in } $\CC[x] \slash (x - \lambda_k)^{m_k -1}$) \quad (*)\m

\NI Siccome i polinomi $(x - \lambda_i)^{m_i}$ sono a due a due relativamente primi, dal lemma 10.8 vediamo che $H$ \eacc univocamente determinato dalle relazioni (*).}

\Osservazione{ Dal punto di vista numerico forse pi\uacc trasparente \eacc la tecnica del calcolo delle differenze che esponiamo adesso.}

\Lemma{ Nelle ipotesi e con le notazioni della definizione 10.5 siano $i \neq l$ e 

$\begin{aligned}
F&:= H [\lambda_1 : v_1, \ldots, \lambda_i : v_i^{-}, \ldots, \lambda_s : v_s]\\ 
G &:= H[\lambda_1 : v_1, \ldots, \lambda_l : v_l^{-}, \ldots, \lambda_s : v_s].
\end{aligned}$ \m

\NI Allora\m

$H= \Frac{x-\lambda_i}{\lambda_l-\lambda_i} F + \Frac{x-\lambda_l}{\lambda_i-\lambda_l}G$

}

\Dimostrazione{MANCA}

\Osservazione{Per s=1 il polinomio di interpolazione di Hermite coincide con lo sviluppo di Taylor:\m

$H[\lambda_1: (v_{10}, \ldots, v_{1, m_1 -1})] = \displaystyle \sum_{j=0}^{m_1 -1} v_{1j} \Frac{(x-\lambda_1)^j}{j!}$}

\Dimostrazione{?}

\Nota{Otteniamo cos\iacc un semplice algoritmo ricorsivo per il calcolo del polinomio di interpolazione di Hermite: 

Per $s=1$ utilizziamo il lemma 10.11, altrimenti riduciamo il grado del problema mediante il lemma 10.10.

Soprattutto nei conti a mano si pu\acc{o} accorciare l'algoritmo utilizzando che $H[ \lambda_1 :(v_10), \ldots, \lambda_s: (v_{s0})] = v_{10} L_1 + \ldots + v_{s0}L_s$ nella notazione della osservazione 9.7.}

\Esempio{ Calcoliamo $H:=H[1: (3), 2: (7, 1)]$. MANCA}

\Esempio{ Calcoliamo $H:=H[1: (3, 4), 0: (6, 2, 10)]$. MANCA}

\Nota{ Possiamo realizzare l'algoritmo indicato nella nota 10.12 in Python mediante le seguenti funzioni che utilizzano il modulo \C{swiginac}. MANCA}

\Nota{ Nelle ipotesi e con le notazioni della definizione 10.5 denotiamo con $\Delta [ \lambda_1 : v_1, \ldots, \lambda_s : v_s]$ il coefficiente della potenza massimale formale, cio\eacc di $x^{m-1}$, in $H[\lambda_1 : v_1, \ldots, \lambda_s : v_s]$.

Scegliamo questa notazione perch\'e questi coefficienti corrispondono a uno schema alle differenze che deriva dal lemma 10.10, come vediamo adesso.

Elenchiamo inoltre le condizioni $H^{(0)} (\lambda_1) = v_{10}, \ldots, H^{(m_1 - 1)} (\lambda_1) =~ v_{1, m_1 -1},\\ H^{(0)} (\lambda_2) = v_{20}, \ldots$ nell'ordine indicato e denotiamo, per $i=0, \ldots, m-1$, con $H [\lambda_1 : v_1, \ldots, \lambda_s : v_s]_{[i]}$ il polinomio di interpolazione di Hermite che corrisponde alle prime $i+1$ condizioni, in modo analogo sia definito $\Delta [ \lambda_1 : v_1, \ldots, \lambda_s : v_s]_{[i]}$.

In particolare $H [\lambda_1 : v_1, \ldots, \lambda_s : v_s]_{[0]} = \Delta [\lambda_1 : v_1, \ldots, \lambda_s : v_s]_{[0]} = v_{10}$.

Definiamo poi $(\alpha_1, \ldots, \alpha_m) : = ( \underbrace{\lambda_1, \ldots, \lambda_1}_{m_1}, \ldots, \underbrace{\lambda_s, \ldots, \lambda_s}_{m_s})$ ed infine\m

$\begin{aligned}
(x- \alpha)_{[0]} &:= 1 \quad , \quad (x - \alpha)_{[1]} := x - \alpha_1 \quad ,\\
(x- \alpha)_{[i]} &:= (x - \alpha_1) \cdots (x - \alpha_i) \mbox{ per } i=1, \ldots, m.
\end{aligned}$  }

\Osservazione{ Nelle ipotesi e con le notazioni della nota 10.16 si hanno le seguenti relazioni:\m

\lista{
\item [1] Se $i \neq l$, allora\m

$\Delta[ \lambda_1:v_1, \ldots, \lambda_s :v_s] = \Frac{ \Delta[ \lambda_1:v_1, \ldots, \lambda_i : v_i^{-}, \ldots, \lambda_s :v_s] -  \Delta[ \lambda_1:v_1, \ldots, \lambda_l:v_l^{-}, \ldots,  \lambda_s :v_s]}{\lambda_p - \lambda_i}$

\item [2] $\Delta [ \lambda_1 : v_1 ] = \Frac{ v_{1, m_1 -1}}{(m_1 -1)!}$.}

}

\Dimostrazione{ Direttamente dal lemma 10.10 e dalla osservazione 10.11.}

\Osservazione{ Con le notazioni della nota 5.16 vale\m

$H[\lambda_1:v_1, \ldots, \lambda_s:v_s] = \displaystyle \sum_{i=0}^{m-1} \Delta [ \lambda_1: v_1, \ldots, \lambda_s :v_s]_{[i]} (x - \alpha)_{[i]}$.}

\Dimostrazione{MANCA}

\Esempio{ Calcoliamo $H:= H[ 1 : (3), 2 : (7, 1)]$ con il metodo della osservazione 10.18. MANCA}

\Esempio{ Calcoliamo $H:= H[ 0 : (6, 2, 10), 1 : (3, 4)]$ con il metodo della osservazione 10.18. MANCA}

\Nota{ I calcoli che utilizziamo nell'osservazione 10.18 possono essere semplificati mediante il seguente schema alle differenze che illustriamo per il caso\m

$H=H[\lambda_1 : (v_{10}, v_{11}, v_{12}), \lambda_2: (v_{20}), \lambda_3: (v_{30}, v_{31}), \lambda_4: (v_{40}, v_{41})]$.\m

\Array [lllllllll]
{\lambda_1 : (v_{10}, v_{11}, v_{12})\\[2ex]
& v_{10}\\[2ex]
& [\lambda_1] & v_{11}\\[2ex]
& v_{10} & [\lambda_1] & v_12 \\[2ex]
& [\lambda_1] & v_{11} & [\lambda_1, \lambda_2] & \Frac{\operatorname{diff.}}{\lambda_2 - \lambda_1}\\[2ex]
& v_{10} & [\lambda_1, \lambda_2] & \Frac{\operatorname{diff.}}{\lambda_2 - \lambda_1} & [\lambda_1, \lambda_3] & \Frac{\operatorname{diff.}}{\lambda_3 - \lambda_1}\\[2ex]
\lambda_2 : (v_{20}) & [\lambda_1, \lambda_2] & \Frac{ v_{20} - v_{10}}{\lambda_2 - \lambda_1} & [\lambda_1, \lambda_3] & \Frac{ \operatorname{diff.}}{\lambda_3 - \lambda_1} & [\lambda_1, \lambda_3] & \Frac{\operatorname{diff.}}{\lambda_3 - \lambda_1}\\[2ex]
& v_{20} & [\lambda_1, \lambda_3] & \Frac{\operatorname{diff.}}{\lambda_3 - \lambda_1} & [\lambda_1, \lambda_3] & \Frac{\operatorname{diff.}}{\lambda_3 - \lambda_1} & [\lambda_1, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_1}\\[2ex]
\lambda_3 : (v_{30}, v_{31}) & [\lambda_2, \lambda_3] & \Frac{v_{30} - v_{20}}{\lambda_3 - \lambda_2} & [\lambda_1, \lambda_3] & \Frac{\operatorname{diff.}}{\lambda_3 - \lambda_1} &[\lambda_1, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_1} &[\lambda_1, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_1} \\[2ex]
& v_{30} & [\lambda_2, \lambda_3] & \Frac{ \operatorname{diff.}}{\lambda_3 - \lambda_2} & [\lambda_1, \lambda_4] & \Frac{ \operatorname{diff.}}{\lambda_4 - \lambda_1} & [\lambda_1, \lambda_4] & \Frac{ \operatorname{diff.}}{\lambda_4 - \lambda_1}\\[2ex]
& [\lambda_3] & v_{31} & [\lambda_2, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_2}  & [\lambda_1, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_1} \\[2ex]
& v_{30} & [\lambda_3, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_3} & [\lambda_2, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_2}\\[2ex]
\lambda_4 : ( v_{40}, v_{41}) & [\lambda_3, \lambda_4] & \Frac{ v_{40} - v_{30}}{\lambda_4 - \lambda_3} & [\lambda_3, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_3}\\[2ex]
& v_{40} &  [\lambda_3, \lambda_4] & \Frac{\operatorname{diff.}}{\lambda_4 - \lambda_3}\\[2ex]
& [\lambda_4] & v_{41}\\[2ex]
& v_{40}\\
}\m

\NI MANCA SPIEGAZIONE. \Eacc chiaro che nella diagonale superiore otteniamo i coefficienti $\Delta[\lambda_1 : v_1, \ldots, \lambda_s : v_s]_{[i]}.$}

\Esempio{ Calcoliamo $H=H[0 : (-1, -2), 1: (0, 10, 40)]$. MANCA}

\Esempio{ Calcoliamo $H=H[1 : (2, 5, 6), 2: (11), 3: (0, -27),  4: (-37, 158)]$. MANCA}

\Esempio{ Per $\lambda_1 \neq \lambda_2$ calcoliamo $H=H[\lambda_1 : (1, 0, 0), \lambda_2: (0, 0)]$. MANCA}

\Definizione{ Per $k=1, \ldots, s$ e $j=0, \ldots, m_k -1$ definiamo $H_{kj}$ come la soluzione del problema di interpolazione $H_{kj}^{(\alpha)} (\lambda_{\beta}) = \delta_{k \beta} \delta_{j}^{\alpha}$ per $\beta= 1, \ldots, s$ ed $\alpha=0, \ldots, m_{\beta} -1$.

Abbiamo quindi $H_{10} = H(\lambda_1 : (1, 0, \ldots, 0), \ldots), H_{11}= H(\lambda_1 : (0, 1, \ldots, 0), \ldots),\\ H_{12}=H(\lambda_1 : (0, 0, 1, \ldots, 0), \ldots), \ldots, H_{20} = H(\lambda_2 : (1, 0, \ldots, 0), \ldots), \\H_{21}= H(\lambda_2 : (0, 1, \ldots, 0), \ldots), \ldots$.

I polinomi $H_{kj}$ sono detti \C{polinomi di interpolazione fondamentale di Hermite}.

Nell'esempio 10.24 abbiamo calcolato $H_{10}$ per $m_1 = 3$, $m_2 = 2$.}

\Proposizione{ Nella situazione della definizione 10.25 siano adesso dati i numeri complessi $v_{kj}$ per $k=1, \ldots, s$ e $j=0, \ldots, m_k -1$. Sia $H:= H[\lambda_1 : v_1, \ldots, \lambda_s : v_s]$. Allora\m

$H=\displaystyle \sum_{k=1}^{s} \sum_{j=0}^{m_s -1} v_{kj} H_{kj}$.}

\Dimostrazione{MANCA}


\end{document}