Salta al contenuto
Note per Studenti Formulario · Calcolo Numerico

FormularioCalcolo Numerico: definizioni, teoremi e formule delle note, in ordine di capitolo

In questa pagina 6

I. Errori e aritmetica di macchina

Aritmetica di macchina - floating point, precisione di macchina e cancellazione

Definizione (errori).

  • Errore assoluto: Ea=∣x−x~∣E_a = |x - \tilde x| (ha le unità di xx).
  • Errore relativo: Er=∣x−x~∣∣x∣E_r = \dfrac{|x - \tilde x|}{|x|} per x≠0x \ne 0 (adimensionale).

Esempio. x=π=3,14159265x = \pi = 3{,}14159265 e x~=3,14\tilde x = 3{,}14. Ea=0,00159265E_a = 0{,}00159265, Er=0,00159265/3,14159265≈5,07⋅10−4E_r = 0{,}00159265 / 3{,}14159265 \approx 5{,}07 \cdot 10^{-4}: circa 33 cifre corrette.

Definizione (sistema di numeri di macchina F(β,t,L,U)F(\beta, t, L, U)). Un numero normalizzato è x=± (d0,d1d2…dt−1)β⋅β e,d0≠0,L≤e≤Ux = \pm\,(d_0{,}d_1 d_2 \dots d_{t-1})_\beta \cdot \beta^{\,e}, \qquad d_0 \ne 0,\quad L \le e \le U dove β\beta è la base, tt il numero di cifre significative (la precisione), ee l'esponente. Si aggiunge lo 00.

Esempio (sistema "giocattolo"). F(2,3,−1,2)F(2, 3, -1, 2): numeri ±(1,m1m2)2⋅2e\pm(1{,}m_1 m_2)_2 \cdot 2^e con e∈{−1,0,1,2}e \in \{-1, 0, 1, 2\}. I valori positivi sono (1+m/4)⋅2e(1 + m/4)\cdot 2^e con m=0,1,2,3m = 0, 1, 2, 3:

Grafico interattivo: I 16 numeri positivi di F(2,3,−1,2): la distanza raddoppia a ogni potenza di 2, quindi la densità è maggiore vicino a zero

Teorema (errore di arrotondamento). Se xmin⁡≤∣x∣≤xmax⁡x_{\min} \le |x| \le x_{\max}, allora fl(x)=x(1+δ),∣δ∣≤u=12 β 1−t.\mathrm{fl}(x) = x(1 + \delta), \qquad |\delta| \le u = \tfrac12\,\beta^{\,1-t}. uu si chiama unità di arrotondamento (unit roundoff); εM=β1−t=2u\varepsilon_M = \beta^{1-t} = 2u è la precisione di macchina (distanza tra 11 e il numero di macchina successivo).

Esempio (arrotondamento nel sistema giocattolo). Qui εM=21−3=0,25\varepsilon_M = 2^{1-3} = 0{,}25 e u=0,125u = 0{,}125.

  • x=2,7x = 2{,}7 sta tra 2,52{,}5 e 33: distanze 0,20{,}2 e 0,30{,}3, quindi fl(2,7)=2,5\mathrm{fl}(2{,}7) = 2{,}5. Errore relativo 0,2/2,7≈0,074≤0,1250{,}2/2{,}7 \approx 0{,}074 \le 0{,}125 ✓.
  • x=5,4x = 5{,}4 sta tra 55 e 66: fl(5,4)=5\mathrm{fl}(5{,}4) = 5, errore relativo 0,4/5,4≈0,074≤0,1250{,}4/5{,}4 \approx 0{,}074 \le 0{,}125 ✓.
  • x=7,6>7+12x = 7{,}6 > 7 + \tfrac12: overflow (risultato ∞\infty o errore). x=0,1<xmin⁡x = 0{,}1 < x_{\min}: underflow (si arrotonda a 00 o al numero più vicino).
  • 1+0,1=1,11 + 0{,}1 = 1{,}1 sta tra 11 e 1,251{,}25, più vicino a 11: fl(1,1)=1\mathrm{fl}(1{,}1) = 1. Il 0,10{,}1 è assorbito: perché il risultato cambi, a 11 si deve sommare più di εM/2=u\varepsilon_M/2=u (con uu esatto si cade a metà tra 11 e 1,251{,}25 e il pareggio va verso 11, il numero con ultima cifra pari).

Condizionamento di un problema e stabilità di un algoritmo

Definizione (problema ben posto, Hadamard). Il problema "dato dd, trova xx tale che F(x,d)=0F(x, d) = 0" è ben posto se: (1) la soluzione xx esiste; (2) è unica; (3) dipende con continuità dai dati dd. Altrimenti è mal posto.

Definizione (numero di condizionamento). Per y=f(x)y = f(x) derivabile con xf(x)≠0x f(x) \ne 0 K(x)=∣x f′(x)f(x)∣K(x) = \left|\frac{x\,f'(x)}{f(x)}\right| è il fattore con cui un errore relativo sul dato xx viene moltiplicato nel risultato. Il problema è ben condizionato se KK è piccolo (qualche unità), mal condizionato se KK è grande.

Esempio 1: il coseno vicino a π2\frac\pi2. Per x=1,57x = 1{,}57: K=1,57⋅tan⁡1,57=1,57⋅1255,77≈1971,6K = 1{,}57 \cdot \tan 1{,}57 = 1{,}57 \cdot 1255{,}77 \approx 1971{,}6. Si perturba xx con errore relativo 10−410^{-4}, cioè x~=1,57⋅1,0001=1,570157\tilde x = 1{,}57 \cdot 1{,}0001 = 1{,}570157. Previsione: errore relativo su cos⁡x\cos x circa 1971,6⋅10−4≈0,1971971{,}6 \cdot 10^{-4} \approx 0{,}197 (19,7%19{,}7\%). Calcolo diretto: cos⁡1,57=7,9633⋅10−4\cos 1{,}57 = 7{,}9633\cdot 10^{-4} e cos⁡1,570157=6,3933⋅10−4\cos 1{,}570157 = 6{,}3933\cdot 10^{-4}, variazione relativa 1,570⋅10−47,9633⋅10−4=0,1972\frac{1{,}570\cdot 10^{-4}}{7{,}9633\cdot 10^{-4}} = 0{,}1972 ✓. Una perturbazione dello 0,01%0{,}01\% sull'angolo cambia il risultato del 20%20\%: vicino a π2\frac\pi2 la pendenza del coseno vale circa −1-1, quindi la variazione assoluta del risultato è pari a quella del dato (1,57⋅10−41{,}57\cdot 10^{-4}); ma il valore del coseno è prossimo a zero, e diviso per un numero così piccolo l'errore relativo esplode.

Definizione (errore in avanti e all'indietro).

  • Errore in avanti (forward): ∣y^−f(x)∣∣f(x)∣\dfrac{|\hat y - f(x)|}{|f(x)|}.
  • Errore all'indietro (backward): la perturbazione Δx\Delta x dei dati per cui y^\hat y è il risultato esatto, y^=f(x+Δx)\hat y = f(x + \Delta x), cioè ∣Δx∣∣x∣\dfrac{|\Delta x|}{|x|}. Un algoritmo è stabile all'indietro se l'errore all'indietro è dell'ordine di uu (di poco più di un arrotondamento sui dati).

Esempio svolto: ricorrenza instabile. Sia In=∫01xnex−1 dxI_n = \displaystyle\int_0^1 x^n e^{x-1}\,dx per n≥0n \ge 0. Per parti (Integrazione per parti∫ f·g' dx = f·g − ∫ f'·g dx (regola del prodotto letta al contrario). Si usa per log x, arcsin x, arctan x (scritti come "funzione per 1"), per sin²x, cos²x, sinh²x, cosh²x (integrale circolare: l'integrale di partenza ricompare e si porta a sinistra) e per prodotti come x^n·e^(αx), x^n·sin(βx), e^(αx)·sin(βx).Integrazione per parti →): In=[xnex−1]01−n∫01xn−1ex−1dx=1−n In−1,I0=1−e−1=0,63212…I_n = \bigl[x^n e^{x-1}\bigr]_0^1 - n\int_0^1 x^{n-1}e^{x-1}dx = 1 - n\,I_{n-1}, \qquad I_0 = 1 - e^{-1} = 0{,}63212\ldots Il problema è ben condizionato (un integrale di una funzione positiva e limitata: 1e(n+1)≤In≤1n+1\frac{1}{e(n+1)} \le I_n \le \frac1{n+1}, cioè InI_n è piccolo e decrescente). Si prova la ricorrenza in avanti con 44 cifre significative, partendo da I0→0,6321I_0 \to 0{,}6321 (errore e0=2,06⋅10−5e_0 = 2{,}06\cdot 10^{-5}):

Definizione.

  • Consistenza: se si inserisce nello schema la soluzione esatta xx, il residuo tende a zero per h→0h \to 0 (n→∞n \to \infty): lo schema "assomiglia" al problema.
  • Stabilità: la soluzione numerica dipende con continuità, in modo uniforme rispetto a hh, dai dati: piccole perturbazioni dei dati non vengono amplificate al diminuire di hh.
  • Convergenza: xn→xx_n \to x per h→0h \to 0.

Teorema (di equivalenza di Lax-Richtmyer). Per un problema ben posto e lineare, uno schema consistente è convergente se e solo se è stabile. Per i problemi non lineari vale in generale almeno la direzione consistenza + stabilità ⇒\Rightarrow convergenza.

Esempio svolto: derivata numerica. Per approssimare f′(x)f'(x) si usa il rapporto incrementale Dh=f(x+h)−f(x)hD_h = \dfrac{f(x + h) - f(x)}{h}.

  • Errore di troncamento: dallo sviluppo di Taylor, Dh−f′(x)=h2f′′(ξ)D_h - f'(x) = \frac h2 f''(\xi). Tende a zero con hh (schema consistente, di ordine 11).
  • Errore di arrotondamento: i due valori f(x+h)f(x+h) e f(x)f(x) hanno ciascuno errore relativo uu; la loro differenza (numeri quasi uguali!) ha errore assoluto ≈2u∣f∣\approx 2u|f|, e dividendo per hh l'errore diventa ≈2u∣f∣h\approx \frac{2u|f|}{h}: cresce al diminuire di hh.
  • Errore totale E(h)≈h2∣f′′∣+2u∣f∣hE(h) \approx \dfrac h2|f''| + \dfrac{2u|f|}{h}. Il minimo è per hott=2u∣f∣∣f′′∣h_{\text{ott}} = 2\sqrt{\dfrac{u|f|}{|f''|}}, circa u≈10−8\sqrt u \approx 10^{-8} in doppia precisione.

II. Equazioni non lineari

Metodo di bisezione e iterazioni di punto fisso

Teorema (degli zeri). Se ff è continua in [a,b][a,b] e f(a)f(b)<0f(a)f(b) < 0, esiste α∈ ]a,b[\alpha \in\, ]a,b[ con f(α)=0f(\alpha) = 0.

Teorema (stima dell'errore). Il punto medio cnc_n soddisfa ∣cn−α∣≤b−a2 n+1.|c_n - \alpha| \le \frac{b - a}{2^{\,n+1}}.

Esempio svolto. f(x)=x3−x−2f(x) = x^3 - x - 2 su [1,2][1,2]: f(1)=−2<0f(1) = -2 < 0 e f(2)=4>0f(2) = 4 > 0, quindi c'è una radice (α=1,52138…\alpha = 1{,}52138\ldots).

Grafico interattivo: f(x) = x³ − x − 2: cambia segno in [1, 2], lo zero è α ≈ 1,5214

Teorema (delle contrazioni, o del punto fisso). Sia g:[a,b]→[a,b]g: [a,b] \to [a,b] derivabile con ∣g′(x)∣≤L<1∀x∈[a,b].|g'(x)| \le L < 1 \quad \forall x \in [a,b]. Allora: (1) gg ha un solo punto fisso α∈[a,b]\alpha \in [a,b]; (2) per ogni x0∈[a,b]x_0 \in [a,b] la successione xk+1=g(xk)x_{k+1} = g(x_k) converge ad α\alpha; (3) valgono le stime ∣xk−α∣≤Lk ∣x0−α∣(velocitaˋ),∣xk−α∣≤Lk1−L ∣x1−x0∣(a priori),∣xk−α∣≤L1−L ∣xk−xk−1∣(a posteriori).|x_k - \alpha| \le L^k\,|x_0 - \alpha| \quad\text{(velocità)},\qquad |x_k - \alpha| \le \frac{L^k}{1-L}\,|x_1 - x_0| \quad\text{(a priori)},\qquad |x_k - \alpha| \le \frac{L}{1-L}\,|x_k - x_{k-1}| \quad\text{(a posteriori)}.

Metodo di Newton, metodo delle secanti e ordine di convergenza

Definizione (ordine di convergenza). La successione converge con ordine p≥1p \ge 1 e costante asintotica CC se lim⁡k→∞∣ek+1∣∣ek∣p=C,0<C<∞(con C<1 se p=1).\lim_{k\to\infty}\frac{|e_{k+1}|}{|e_k|^p} = C, \qquad 0 < C < \infty \quad(\text{con } C<1 \text{ se } p=1).

  • p=1p = 1: convergenza lineare (tasso CC): l'errore si moltiplica per CC a ogni passo (bisezione: C=12C=\frac12; punto fisso: C=∣g′(α)∣C = |g'(\alpha)|).
  • p=2p = 2: convergenza quadratica. Se ∣ek∣≈10−s|e_k| \approx 10^{-s} allora ∣ek+1∣≈C 10−2s|e_{k+1}| \approx C\,10^{-2s}: il numero di cifre corrette raddoppia a ogni iterazione.
  • 1<p<21<p<2: convergenza superlineare.

Teorema (convergenza locale quadratica). Sia f∈C2f \in C^2 in un intorno di α\alpha, con f(α)=0f(\alpha) = 0 e f′(α)≠0f'(\alpha) \ne 0 (radice semplice). Allora esiste δ>0\delta > 0 tale che per ogni x0x_0 con ∣x0−α∣<δ|x_0 - \alpha| < \delta il metodo di Newton converge ad α\alpha e lim⁡k→∞ek+1ek2=f′′(α)2f′(α).\lim_{k\to\infty}\frac{e_{k+1}}{e_k^2} = \frac{f''(\alpha)}{2f'(\alpha)}. L'ordine è 22 se f′′(α)≠0f''(\alpha) \ne 0 (se f′′(α)=0f''(\alpha) = 0 l'ordine è maggiore).

III. Interpolazione e approssimazione

Interpolazione polinomiale - forma di Lagrange, differenze divise ed errore

Teorema (esistenza e unicità). Per n+1n+1 coppie (xi,yi)(x_i, y_i) con xix_i a due a due distinti esiste un unico polinomio pnp_n di grado ≤n\le n con pn(xi)=yip_n(x_i) = y_i per ogni ii.

Definizione (differenze divise). f[xi]=f(xi)f[x_i] = f(x_i) e ricorsivamente f[xi,…,xi+k]=f[xi+1,…,xi+k]−f[xi,…,xi+k−1]xi+k−xi.f[x_i, \dots, x_{i+k}] = \frac{f[x_{i+1}, \dots, x_{i+k}] - f[x_i, \dots, x_{i+k-1}]}{x_{i+k} - x_i}.

Teorema (forma di Newton). Il polinomio di interpolazione è pn(x)=f[x0]+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+⋯+f[x0,…,xn]∏j=0n−1(x−xj).p_n(x) = f[x_0] + f[x_0,x_1](x - x_0) + f[x_0,x_1,x_2](x-x_0)(x-x_1) + \dots + f[x_0,\dots,x_n]\prod_{j=0}^{n-1}(x - x_j).

Esempio svolto: tabella delle differenze divise di exe^x. Per i nodi 00, 0,50{,}5, 11: f[0,0,5]=1,648721−10,5=1,297443,f[0,5,1]=2,718282−1,6487210,5=2,139121,f[0,0{,}5] = \frac{1{,}648721 - 1}{0{,}5} = 1{,}297443,\qquad f[0{,}5,1] = \frac{2{,}718282 - 1{,}648721}{0{,}5} = 2{,}139121, f[0,0,5,1]=2,139121−1,2974431−0=0,841679.f[0,0{,}5,1] = \frac{2{,}139121 - 1{,}297443}{1 - 0} = 0{,}841679. Allora p2(x)=1+1,297443 x+0,841679 x(x−0,5)p_2(x) = 1 + 1{,}297443\,x + 0{,}841679\,x(x - 0{,}5) e p2(0,25)=1+0,324361+0,841679⋅0,25⋅(−0,25)=1,324361−0,052605=1,271756,p_2(0{,}25) = 1 + 0{,}324361 + 0{,}841679\cdot 0{,}25\cdot(-0{,}25) = 1{,}324361 - 0{,}052605 = 1{,}271756, lo stesso valore di Lagrange (stesso polinomio, scritto in un'altra base).

Teorema (errore). Sia f∈Cn+1([a,b])f \in C^{n+1}([a,b]), con nodi x0,…,xn∈[a,b]x_0,\dots,x_n \in [a,b]. Per ogni x∈[a,b]x \in [a,b] esiste ξ=ξ(x)∈ ]a,b[\xi = \xi(x) \in\,]a,b[ tale che f(x)−pn(x)=f(n+1)(ξ)(n+1)! ωn+1(x),ωn+1(x)=∏i=0n(x−xi).f(x) - p_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\,\omega_{n+1}(x), \qquad \omega_{n+1}(x) = \prod_{i=0}^{n}(x - x_i).

Esempio (continuazione). Per exe^x, n=2n=2, M3=e1=2,718M_3 = e^1 = 2{,}718 su [0,1][0,1]. Per x=0,25x = 0{,}25: ∣ω3(0,25)∣=∣0,25⋅(−0,25)⋅(−0,75)∣=0,046875|\omega_3(0{,}25)| = |0{,}25\cdot(-0{,}25)\cdot(-0{,}75)| = 0{,}046875. Maggiorazione: 2,7186⋅0,046875=0,02124\frac{2{,}718}{6}\cdot 0{,}046875 = 0{,}02124. L'errore effettivo 0,012270{,}01227 è inferiore ✓.

Interpolazione a tratti, spline cubiche e minimi quadrati

Teorema (errore). Se f∈C2f \in C^2 e h=max⁡i(xi+1−xi)h = \max_i (x_{i+1} - x_i), max⁡[a,b]∣f(x)−s(x)∣≤h28 max⁡[a,b]∣f′′∣.\max_{[a,b]}|f(x) - s(x)| \le \frac{h^2}{8}\,\max_{[a,b]}|f''|.

Esempio. f=exf = e^x su [0,1][0,1], f′′≤ef'' \le e. Con h=0,1h = 0{,}1 (1010 intervalli): maggiorante 0,018e=3,40⋅10−3\frac{0{,}01}{8}e = 3{,}40\cdot 10^{-3}; errore effettivo (massimo calcolato su una griglia fine) 3,23⋅10−33{,}23\cdot 10^{-3}. Per garantire 10−410^{-4}: h2≤8⋅10−4e=2,94⋅10−4h^2 \le \frac{8\cdot 10^{-4}}{e} = 2{,}94\cdot 10^{-4}, h≤0,01716h \le 0{,}01716, quindi N≥58,3N \ge 58{,}3, cioè N=59N = 59 intervalli (errore effettivo 9,7⋅10−59{,}7\cdot 10^{-5} ✓).

Definizione (spline cubica interpolante). È una funzione S:[x0,xn]→RS: [x_0, x_n] \to \mathbb{R} tale che

  1. su ogni [xi,xi+1][x_i, x_{i+1}], S=SiS = S_i è un polinomio di grado ≤3\le 3;
  2. S(xi)=yiS(x_i) = y_i per i=0,…,ni = 0,\dots,n;
  3. S∈C2([x0,xn])S \in C^2([x_0,x_n]): Si−1′(xi)=Si′(xi)S_{i-1}'(x_i) = S_i'(x_i) e Si−1′′(xi)=Si′′(xi)S_{i-1}''(x_i) = S_i''(x_i) per i=1,…,n−1i = 1,\dots,n-1.

Esempio svolto. Nodi 0,1,2,30,1,2,3 (h=1h=1), valori y=0, 1, 0, 1y = 0,\ 1,\ 0,\ 1; spline naturale: M0=M3=0M_0 = M_3 = 0. Equazioni per i=1,2i=1,2: 4M1+M2=6(0−2+0)=−12,M1+4M2=6(1−0+1)=12.4M_1 + M_2 = 6(0 - 2 + 0) = -12, \qquad M_1 + 4M_2 = 6(1 - 0 + 1) = 12. Dalla prima M2=−12−4M1M_2 = -12 - 4M_1; nella seconda M1−48−16M1=12⇒−15M1=60⇒M1=−4M_1 - 48 - 16M_1 = 12 \Rightarrow -15M_1 = 60 \Rightarrow M_1 = -4, M2=4M_2 = 4. Gli intervalli:

  • S0(x)=M1x36+(y1−M16)x+y0(1−x)=−23x3+53xS_0(x) = \frac{M_1x^3}{6} + \left(y_1 - \frac{M_1}6\right)x + y_0(1-x) = -\frac23x^3 + \frac53x (con M0=0M_0=0, y0=0y_0 = 0, y1−M1/6=1+23y_1 - M_1/6 = 1 + \frac23);
  • S1(x)=−23(2−x)3+23(x−1)3+53(2−x)−23(x−1)S_1(x) = -\frac23(2-x)^3 + \frac23(x-1)^3 + \frac53(2-x) - \frac23(x-1);
  • S2(x)=23(3−x)3−23(3−x)+(x−2)S_2(x) = \frac23(3-x)^3 - \frac23(3-x) + (x-2).

Grafico interattivo: Spline cubica naturale per i punti (0,0), (1,1), (2,0), (3,1) e polinomio di grado 3 sugli stessi punti (tratteggiato): la spline resta nell'intervallo dei dati, il polinomio no

IV. Integrazione numerica

Formule di quadratura - trapezi, Cavalieri-Simpson ed estrapolazione di Richardson

Definizione (grado di esattezza). Una formula di quadratura ha grado di esattezza rr se E(p)=0E(p)=0 per ogni polinomio di grado ≤r\le r ed E(xr+1)≠0E(x^{r+1})\ne0.

Formula del punto medio. QPM=H f(m)Q_{PM}=H\,f(m) (un nodo, p0p_0 costante). Formula del trapezio. QT=H2[f(a)+f(b)]Q_T=\dfrac H2\big[f(a)+f(b)\big] (due nodi, p1p_1 retta per (a,f(a))(a,f(a)) e (b,f(b))(b,f(b)): l'integrale è l'area del trapezio). Formula di Cavalieri-Simpson. QS=H6[f(a)+4f(m)+f(b)]Q_S=\dfrac H6\big[f(a)+4f(m)+f(b)\big] (tre nodi a,m,ba,m,b, p2p_2 parabola).

Esempio. Su [0,1][0,1] Simpson dà QS(x3)=16[0+4⋅18+1]=16⋅32=14=∫01x3dxQ_S(x^3)=\frac16\big[0+4\cdot\frac18+1\big]=\frac16\cdot\frac32=\frac14=\int_0^1x^3dx (esatto) e QS(x4)=16[0+4⋅116+1]=524=0,20833≠15Q_S(x^4)=\frac16\big[0+4\cdot\frac1{16}+1\big]=\frac{5}{24}=0{,}20833\ne\frac15.

Grafico interattivo: Integrale di e^x su [0,1]: la corda del trapezio (tratteggiata) sta sopra la curva, perché e^x è convessa, e il trapezio sovrastima l'area (E < 0)

Teorema (errore del trapezio). Se f∈C2([a,b])f\in C^2([a,b]) esiste ξ∈(a,b)\xi\in(a,b) con ET=I−QT=−(b−a)312 f′′(ξ).E_T=I-Q_T=-\frac{(b-a)^3}{12}\,f''(\xi).

Esempio. I=∫01exdx=e−1=1,718282I=\int_0^1e^xdx=e-1=1{,}718282. Con f=exf=e^x, f′′=f(4)=ex≤ef''=f^{(4)}=e^x\le e su [0,1][0,1].

  • Trapezio: QT=1+e2=1,859141Q_T=\frac{1+e}2=1{,}859141, ET=−0,140859E_T=-0{,}140859; la stima dà ∣ET∣≤e12=0,2265|E_T|\le\frac e{12}=0{,}2265 ✓.
  • Simpson: QS=16[1+4e0,5+e]=16[1+6,594885+2,718282]=1,718861Q_S=\frac16\big[1+4e^{0{,}5}+e\big]=\frac16[1+6{,}594885+2{,}718282]=1{,}718861, ES=−0,000579E_S=-0{,}000579; la stima dà ∣ES∣≤e2880=0,000944|E_S|\le\frac e{2880}=0{,}000944 ✓.

Teorema (errore delle formule composite). Se f∈C2f\in C^2 (rispettivamente C4C^4) esistono ξ,η∈(a,b)\xi,\eta\in(a,b) con I−Th=−(b−a) h212f′′(ξ),I−Sh=−(b−a) h4180f(4)(η).I-T_h=-\frac{(b-a)\,h^2}{12}f''(\xi),\qquad I-S_h=-\frac{(b-a)\,h^4}{180}f^{(4)}(\eta).

Esempio. ∫01exdx\int_0^1e^xdx con ε=10−6\varepsilon=10^{-6}: M2=M4=eM_2=M_4=e. Trapezi: h212e≤10−6⇒h≤12⋅10−6/e=0,00210⇒n≥476\frac{h^2}{12}e\le10^{-6}\Rightarrow h\le\sqrt{12\cdot10^{-6}/e}=0{,}00210\Rightarrow n\ge476. Simpson: h4180e≤10−6⇒h≤(180⋅10−6/e)1/4=0,0902⇒n≥11,08\frac{h^4}{180}e\le10^{-6}\Rightarrow h\le\big(180\cdot10^{-6}/e\big)^{1/4}=0{,}0902\Rightarrow n\ge11{,}08, cioè n=12n=12 (pari). Simpson richiede 13 valutazioni contro 477.

Quadratura gaussiana e formule composite adattive

Teorema (D). Siano t1,…,tmt_1,\dots,t_m le radici di PmP_m e wi=∫−11ℓi(t) dtw_i=\int_{-1}^1\ell_i(t)\,dt i pesi interpolatori. La formula ha grado di esattezza 2m−12m-1.

Esempio. ∫01ex dx=1,718282\int_0^1e^x\,dx=1{,}718282 con m=2m=2. Nodi: x=12±12⋅0,57735=0,211325; 0,788675x=\frac12\pm\frac12\cdot0{,}57735=0{,}211325;\ 0{,}788675. Valori: e0,211325=1,235314e^{0{,}211325}=1{,}235314, e0,788675=2,200479e^{0{,}788675}=2{,}200479. Q=1−02 (1⋅1,235314+1⋅2,200479)=3,4357932=1,717896,I−Q=3,85⋅10−4.Q=\frac{1-0}2\,(1\cdot1{,}235314+1\cdot2{,}200479)=\frac{3{,}435793}2=1{,}717896,\qquad I-Q=3{,}85\cdot10^{-4}. Per confronto Simpson con tre valori ha errore 5,79⋅10−45{,}79\cdot10^{-4}: la formula gaussiana con meno valori è più precisa. Con m=3m=3 (x=0,112702; 0,5; 0,887298x=0{,}112702;\,0{,}5;\,0{,}887298, valori 1,119298; 1,648721; 2,4285601{,}119298;\,1{,}648721;\,2{,}428560): Q=12(59⋅1,119298+89⋅1,648721+59⋅2,428560)=1,718281Q=\frac12\big(\frac59\cdot1{,}119298+\frac89\cdot1{,}648721+\frac59\cdot2{,}428560\big)=1{,}718281, errore 8,2⋅10−78{,}2\cdot10^{-7}.

V. Sistemi lineari

Fattorizzazione LU, pivoting e Cholesky

Teorema. Se det⁡Ak≠0\det A_k\ne0 per k=1,…,n−1k=1,\dots,n-1, esiste un'unica fattorizzazione A=LUA=LU con LL a diagonale unitaria. I pivot sono ukk=det⁡Akdet⁡Ak−1u_{kk}=\dfrac{\det A_k}{\det A_{k-1}}.

Teorema (Cholesky). Se AA è SPD esiste un'unica matrice triangolare inferiore LL con elementi diagonali positivi tale che A=LLTA=LL^T.

Esempio. A=(422253236)A=\begin{pmatrix}4&2&2\\2&5&3\\2&3&6\end{pmatrix}. Minori di testa: 44, 4⋅5−4=164\cdot5-4=16, det⁡A=64\det A=64: tutti positivi, A è SPD.

  • Colonna 1: l11=4=2l_{11}=\sqrt4=2, l21=22=1l_{21}=\frac22=1, l31=22=1l_{31}=\frac22=1.
  • Colonna 2: l22=5−12=2l_{22}=\sqrt{5-1^2}=2, l32=3−l31l21l22=3−1⋅12=1l_{32}=\frac{3-l_{31}l_{21}}{l_{22}}=\frac{3-1\cdot1}2=1.
  • Colonna 3: l33=6−12−12=4=2l_{33}=\sqrt{6-1^2-1^2}=\sqrt4=2.

Norme di matrici e condizionamento dei sistemi lineari

Definizione. Una norma su Rn\mathbb R^n è una funzione ∥⋅∥\|\cdot\| con: ∥x∥≥0\|\mathbf x\|\ge0 e =0=0 solo per x=0\mathbf x=\mathbf 0; ∥αx∥=∣α∣∥x∥\|\alpha\mathbf x\|=|\alpha|\|\mathbf x\|; ∥x+y∥≤∥x∥+∥y∥\|\mathbf x+\mathbf y\|\le\|\mathbf x\|+\|\mathbf y\| (disuguaglianza triangolare).

Definizione (norma indotta). ∥A∥=max⁡x≠0∥Ax∥∥x∥=max⁡∥x∥=1∥Ax∥\|A\|=\displaystyle\max_{\mathbf x\ne\mathbf 0}\frac{\|A\mathbf x\|}{\|\mathbf x\|}=\max_{\|\mathbf x\|=1}\|A\mathbf x\|.

Teorema (formule esplicite). ∥A∥1=max⁡j∑i=1n∣aij∣  (massima somma per colonne),∥A∥∞=max⁡i∑j=1n∣aij∣  (massima somma per righe),\|A\|_1=\max_j\sum_{i=1}^n|a_{ij}|\ \ (\text{massima somma per colonne}),\qquad\|A\|_\infty=\max_i\sum_{j=1}^n|a_{ij}|\ \ (\text{massima somma per righe}), ∥A∥2=λmax⁡(ATA)=σmax⁡(A).\|A\|_2=\sqrt{\lambda_{\max}(A^TA)}=\sigma_{\max}(A).

Esempio (3×33\times3). A=(1−2304−1−215)A=\begin{pmatrix}1&-2&3\\0&4&-1\\-2&1&5\end{pmatrix}. Somme per colonne: ∣1∣+∣0∣+∣−2∣=3|1|+|0|+|-2|=3; ∣−2∣+4+1=7|-2|+4+1=7; 3+1+5=93+1+5=9: ∥A∥1=9\|A\|_1=9. Somme per righe: 1+2+3=61+2+3=6; 0+4+1=50+4+1=5; 2+1+5=82+1+5=8: ∥A∥∞=8\|A\|_\infty=8. Frobenius: 1+4+9+0+16+1+4+1+25=61=7,81\sqrt{1+4+9+0+16+1+4+1+25}=\sqrt{61}=7{,}81. Stime per la norma 2: ∥A∥2≤9⋅8=8,49\|A\|_2\le\sqrt{9\cdot8}=8{,}49 e ∥A∥2≥ρ(A)=4,38\|A\|_2\ge\rho(A)=4{,}38; il valore esatto (Python) è 6,136{,}13.

Definizione. Per AA invertibile κ(A)=∥A∥ ∥A−1∥\kappa(A)=\|A\|\,\|A^{-1}\| (con la stessa norma indotta).

Esempio. A=(1201)A=\begin{pmatrix}1&2\\0&1\end{pmatrix} ha A−1=(1−201)A^{-1}=\begin{pmatrix}1&-2\\0&1\end{pmatrix}, quindi κ1=κ∞=3⋅3=9\kappa_1=\kappa_\infty=3\cdot3=9 e κ2=(1+2)2=5,83\kappa_2=(1+\sqrt2)^2=5{,}83.

Teorema (perturbazione del termine noto, D). Se Ax=bA\mathbf x=\mathbf b e A(x+δx)=b+δbA(\mathbf x+\delta\mathbf x)=\mathbf b+\delta\mathbf b, con b≠0\mathbf b\ne\mathbf 0, ∥δx∥∥x∥≤κ(A) ∥δb∥∥b∥.\frac{\|\delta\mathbf x\|}{\|\mathbf x\|}\le\kappa(A)\,\frac{\|\delta\mathbf b\|}{\|\mathbf b\|}.

Esempio. Con A=(1111,0001)A=\begin{pmatrix}1&1\\1&1{,}0001\end{pmatrix} e b=(2; 2,0001)T\mathbf b=(2;\,2{,}0001)^T la soluzione è x=(1,1)T\mathbf x=(1,1)^T. Se b2b_2 passa a 2,00022{,}0002 (∥δb∥∞=10−4\|\delta\mathbf b\|_\infty=10^{-4}, errore relativo 10−42,0001=5⋅10−5\frac{10^{-4}}{2{,}0001}=5\cdot10^{-5}) la soluzione diventa (0, 2)T(0,\,2)^T: δx=(−1,1)\delta\mathbf x=(-1,1), errore relativo 11=1\frac{1}{1}=1, cioè 100%. L'amplificazione effettiva è 15⋅10−5=2⋅104≤κ∞=4⋅104\frac1{5\cdot10^{-5}}=2\cdot10^4\le\kappa_\infty=4\cdot10^4 ✓.

Metodi iterativi - Jacobi, Gauss-Seidel e convergenza

Teorema (convergenza, D). L'iterazione converge per ogni x(0)\mathbf x^{(0)} se e solo se ρ(B)<1\rho(B)<1. Basta che ∥B∥<1\|B\|<1 per una norma indotta.

Teorema (dominanza diagonale). Se AA è a dominanza diagonale stretta per righe, ∣aii∣>∑j≠i∣aij∣|a_{ii}|>\sum_{j\ne i}|a_{ij}| per ogni ii, Jacobi e Gauss-Seidel convergono.

Teorema (SPD). Se AA è simmetrica definita positiva, Gauss-Seidel converge (Jacobi in generale no: richiede anche 2D−A2D-A definita positiva). Tridiagonali. Se AA è tridiagonale con diagonale non nulla, ρ(BGS)=ρ(BJ)2\rho(B_{GS})=\rho(B_J)^2 e Jacobi e Gauss-Seidel convergono o divergono insieme.

VI. Equazioni differenziali ordinarie

Metodi di Eulero esplicito, implicito e Crank-Nicolson

Definizione. L'errore di troncamento locale τn(h)\tau_n(h) è il residuo che si ottiene inserendo la soluzione esatta nello schema, diviso per hh. Il metodo è consistente se τn(h)→0\tau_n(h)\to0 per h→0h\to0; ha ordine pp se τ(h)=O(hp)\tau(h)=O(h^p).

Definizione (stabilità, o zero-stabilità). Un metodo è stabile se, perturbando lo schema con errori δn\delta_n a ogni passo (e δ0\delta_0 sul dato iniziale), la soluzione numerica perturbata znz_n dista da quella non perturbata unu_n al più ∣zn−un∣≤C(∣δ0∣+∑kh∣δk∣)|z_n-u_n|\le C\big(|\delta_0|+\sum_k h|\delta_k|\big), con CC indipendente da hh su un intervallo fissato [t0,T][t_0,T].

Teorema (convergenza). Se ff è lipschitziana in yy (costante LL) e il metodo è consistente di ordine pp e stabile, allora max⁡n∣en∣≤C hp\max_n|e_n|\le C\,h^p per h→0h\to0, con CC dipendente da LL, dall'intervallo e dalle derivate di yy.

Esempio. Per y′=t−yy'=t-y: L=1L=1, y′′=2e−ty''=2e^{-t}, M=2M=2. A t=1t=1 con h=0,2h=0{,}2: ∣e∣≤2⋅0,22(e−1)=0,344|e|\le\frac{2\cdot0{,}2}{2}(e-1)=0{,}344. L'errore vero è 0,08040{,}0804: la stima è corretta, ma pessimistica di un fattore 44.

Stabilità assoluta, problemi stiff e sistemi di equazioni differenziali

Definizione. La regione di stabilità assoluta è A={z∈C:∣R(z)∣<1}\mathcal A=\{z\in\mathbb C:|R(z)|<1\}. Il metodo è A-stabile se A\mathcal A contiene tutto il semipiano Re z<0\mathrm{Re}\,z<0.

Esempio (λ=−50\lambda=-50, y(0)=1y(0)=1). Il fattore di EE è 1−50h1-50h: h=0,01h=0{,}01: 0,50{,}5 (decade monotonamente); h=0,02h=0{,}02: 00 (azzera la soluzione al primo passo); h=0,03h=0{,}03: −0,5-0{,}5 (oscilla smorzata); h=0,04h=0{,}04: −1-1 (oscillazione permanente di ampiezza 11); h=0,05h=0{,}05: −1,5-1{,}5 (diverge). La soglia è h=250=0,04h=\frac{2}{50}=0{,}04. Con EI il fattore è 11+50h\frac1{1+50h} (h=0,05h=0{,}05: 0,2860{,}286) e con CN 1−25h1+25h\frac{1-25h}{1+25h} (h=0,05h=0{,}05: −0,111-0{,}111): stabili.

Grafico interattivo: Piano z = h·lambda: regione di stabilità di Eulero esplicito (interno del cerchio centrato in -1, raggio 1) e cerchio di centro +1 e raggio 1, il cui esterno è la regione di Eulero implicito; Crank-Nicolson è stabile in tutto il semipiano Re z < 0