Teoria: Metodo di Newton, metodo delle secanti e ordine di convergenzaOrdine di convergenza p: |e_{k+1}| ≈ C|e_k|^p (p = 1 lineare, p = 2 quadratica: le cifre corrette raddoppiano a ogni passo). Newton x_{k+1} = x_k − f(x_k)/f'(x_k): zero della tangente, ordine 2 per radici semplici con e_{k+1} ≈ f''(α)/(2f'(α)) e_k²; per radici di molteplicità m è solo lineare con tasso (m−1)/m (si recupera con x − m f/f'). Secanti: sostituisce f' con un rapporto incrementale, ordine (1+√5)/2 ≈ 1,618, una sola valutazione di f per passo. Newton richiede un x_0 abbastanza vicino: può ciclare o divergere.Metodo di Newton, metodo delle secanti e ordine di convergenza →.
Testo
Un microcontrollore non ha l'istruzione di divisione. Per calcolare a1 (a>0) si applica il metodo di Newton all'equazione f(x)=x1−a=0.
- (a) Ricavare l'iterazione e verificare che usa solo prodotti e differenze.
- (b) Dimostrare che ek+1=−aek2 (con ek=xk−a1) e dedurne la condizione di convergenza sul dato iniziale.
- (c) Per a=3 e x0=0,3 calcolare x1,x2,x3 e gli errori.
- (d) Per a=7 confrontare x0=0,1 con x0=0,3.
Soluzione
(a) Iterazione
f(x)=x1−a, f′(x)=−x21. Allora
xk+1=xk−−xk21xk1−a=xk+xk2(xk1−a)=xk+xk−axk2=xk(2−axk).
Due prodotti e una differenza, nessuna divisione.
(b) Errore e condizione di convergenza
Si pone r=a1 (la radice) e xk=r+ek. Allora
xk+1−r=xk(2−axk)−r.
Con axk=1+aek (perché ar=1): 2−axk=1−aek e
xk+1=(r+ek)(1−aek)=r−arek+ek−aek2=r−ek+ek−aek2=r−aek2,
dove si è usato ar=1. Quindi
ek+1=−aek2.
Convergenza quadratica con costante a (coincide con 2f′(r)f′′(r)=2⋅(−1/r2)2/r3=−r1=−a ✓).
Condizione: ∣ek+1∣<∣ek∣⟺a∣ek∣<1⟺∣e0∣<a1. Inoltre ek+1≤0 sempre, quindi dopo il primo passo xk≤r. Se 0<x0<a2 allora e0∈]−a1,a1[ e l'iterazione converge. Se x0>a2 (e0>a1) l'errore cresce in modulo e x1=x0(2−ax0)<0: diverge a −∞.
(c) a=3, x0=0,3
Radice r=0,33333…; x0=0,3∈]0,32[ ✓.
- x1=0,3(2−0,9)=0,3⋅1,1=0,33; e1=−3,33⋅10−3.
- x2=0,33(2−0,99)=0,33⋅1,01=0,3333; e2=−3,33⋅10−5.
- x3=0,3333(2−0,9999)=0,3333⋅1,0001=0,33333333; e3=−3,33⋅10−9.
Controllo: e1=−3e02=−3⋅(3,33⋅10−2)2=−3,33⋅10−3 ✓; e2=−3e12=−3,33⋅10−5 ✓. Le cifre corrette sono 2, 4, 8: raddoppiano.
(d) a=7
r=0,142857… e a2=0,2857.
- x0=0,1∈]0,0,2857[: x1=0,1(2−0,7)=0,13; x2=0,13(2−0,91)=0,1417; x3=0,1417(2−0,9919)=0,14284777; errori −1,29⋅10−2, −1,16⋅10−3, −9,4⋅10−6; rapporto ek+1/ek2=−7 ✓.
- x0=0,3>72=0,2857: x1=0,3(2−2,1)=−0,03, x2=−0,0663, x3=−0,1634, x4=−0,5136, x5=−2,873: diverge.
Risultati. xk+1=xk(2−axk); ek+1=−aek2; converge per 0<x0<a2; 31≈0,33333333 in tre passi.
Errori tipici
- Pensare che serva x0 "vicino" in senso generico: qui l'intervallo di convergenza è esplicito, ]0,a2[, e basta un'approssimazione grossolana (ad esempio una tabella o una potenza di 2).
- Dimenticare il segno: ek+1=−aek2≤0, quindi dopo il primo passo si resta sempre sotto la radice.
Versione ripasso
(a) f=x1−a, f′=−x21: xk+1=xk+xk2(xk1−a)=xk(2−axk), senza divisioni (Metodo di Newton, metodo delle secanti e ordine di convergenzaOrdine di convergenza p: |e_{k+1}| ≈ C|e_k|^p (p = 1 lineare, p = 2 quadratica: le cifre corrette raddoppiano a ogni passo). Newton x_{k+1} = x_k − f(x_k)/f'(x_k): zero della tangente, ordine 2 per radici semplici con e_{k+1} ≈ f''(α)/(2f'(α)) e_k²; per radici di molteplicità m è solo lineare con tasso (m−1)/m (si recupera con x − m f/f'). Secanti: sostituisce f' con un rapporto incrementale, ordine (1+√5)/2 ≈ 1,618, una sola valutazione di f per passo. Newton richiede un x_0 abbastanza vicino: può ciclare o divergere.Metodo di Newton, metodo delle secanti e ordine di convergenza →).
(b) Con r=a1, axk=1+aek: xk+1=(r+ek)(1−aek)=r−aek2, cioè ek+1=−aek2 (coincide con 2f′f′′=−r1=−a). Converge se ∣e0∣<a1, cioè 0<x0<a2; per x0>a2 diverge a −∞.
(c) a=3, x0=0,3: x1=0,3⋅1,1=0,33, x2=0,33⋅1,01=0,3333, x3=0,3333⋅1,0001=0,33333333; errori −3,3⋅10−3, −3,3⋅10−5, −3,3⋅10−9 (cifre 2,4,8).
(d) a=7: da 0,1: 0,13, 0,1417, 0,14284777, rapporto −7; da 0,3>72: −0,03, −0,0663, −0,1634, −0,5136, −2,873, diverge.
Errori tipici: "x0 vicino" generico (l'intervallo è ]0,a2[); dimenticare il segno di ek+1.