Teoria: Metodo di bisezione e iterazioni di punto fissoBisezione: se f è continua e f(a)f(b) < 0 si dimezza l'intervallo tenendo la metà con il cambio di segno; dopo n passi |c_n − α| ≤ (b−a)/2^(n+1), cioè un bit di precisione per iterazione (convergenza lineare, sempre garantita). Punto fisso x = g(x): se g manda [a,b] in sé con |g'| ≤ L < 1 (contrazione) il punto fisso è unico, l'iterazione x_{k+1} = g(x_k) converge da ogni x_0 e |x_k − α| ≤ L^k/(1−L)·|x_1−x_0|; l'errore si moltiplica per circa g'(α) a ogni passo. Una stessa equazione ha molte riscritture x = g(x), alcune convergenti e altre no.Metodo di bisezione e iterazioni di punto fisso →.
Testo
L'equazione x=e−x ha un'unica soluzione reale α≈0,567 (il grafico di y=e−x è decrescente e quello di y=x è crescente). Si usa g(x)=e−x e x0=0,5.
- (a) Verificare le ipotesi del teorema delle contrazioni su I=[0,4, 0,7] e dare la costante L.
- (b) Calcolare a mano x1,…,x6 e gli errori rispetto a α=0,5671433. Osservare il rapporto ek/ek−1.
- (c) Stimare con la stima a priori quante iterazioni bastano per un errore ≤10−4 e confrontare con il numero reale.
- (d) Domanda teorica: la riscrittura x=−lnx dello stesso problema converge?
Soluzione
(a) Ipotesi del teorema
- g manda I in sé. g è decrescente, quindi g(I)=[g(0,7),g(0,4)]=[e−0,7,e−0,4]=[0,4966, 0,6703], che è contenuto in [0,4, 0,7] ✓.
- Contrazione. g′(x)=−e−x, quindi ∣g′(x)∣=e−x è decrescente e il massimo su I si ha in x=0,4: L=e−0,4=0,6703<1 ✓.
Quindi esiste un unico punto fisso α∈I e l'iterazione converge da ogni x0∈I.
(b) Iterazioni
xk+1=e−xk, con ek=xk−α:
| k |
xk |
ek |
ek/ek−1 |
| 0 |
0,500000 |
−6,71⋅10−2 |
|
| 1 |
0,606531 |
+3,94⋅10−2 |
−0,587 |
| 2 |
0,545239 |
−2,19⋅10−2 |
−0,556 |
| 3 |
0,579703 |
+1,26⋅10−2 |
−0,573 |
| 4 |
0,560065 |
−7,08⋅10−3 |
−0,564 |
| 5 |
0,571172 |
+4,03⋅10−3 |
−0,569 |
| 6 |
0,564863 |
−2,28⋅10−3 |
−0,566 |
(Ad esempio x1=e−0,5=0,606531, x2=e−0,606531=0,545239.)
Il rapporto tende a g′(α)=−e−α=−α=−0,5671 (perché e−α=α): convergenza lineare con tasso 0,567, errori di segno alterno.
(c) Stima a priori
x1−x0=0,606531−0,5=0,106531. La stima è
∣xk−α∣≤1−LLk∣x1−x0∣=0,32970,6703k⋅0,106531=0,3231⋅0,6703k.
Per essere ≤10−4: 0,6703k≤3,095⋅10−4, cioè k≥ln0,6703ln(3,095⋅10−4)=−0,4000−8,081=20,2, quindi k=21.
In realtà l'errore effettivo vale 7,6⋅10−5≤10−4 già a k=12 (tabella delle iterazioni: x12=0,567067): la stima a priori è prudente perché usa L=0,67 (il massimo su tutto I) invece del tasso vero ∣g′(α)∣=0,567 e perché è un maggiorante.
(d) La riscrittura x=−lnx
Da x=e−x si ricava x=−lnx (cioè g2(x)=−lnx, definita per x>0). Qui g2′(x)=−x1, e ∣g2′(α)∣=0,56711=1,763>1: il punto fisso è repulsivo, l'iterazione si allontana. Da x0=0,5 si ottiene 0,6931, 0,3665, 1,0037, −0,0037: al passo successivo ln(−0,0037) non è definito. Le due iterazioni sono l'una l'inversa dell'altra: dove g contrae, g−1 espande.
Risultati. L=0,6703; x6=0,564863 (e6=−2,3⋅10−3); stima a priori: 21 iterazioni, ne bastano 12; la riscrittura −lnx diverge.
Errori tipici
- Prendere L=∣g′(α)∣ nella stima a priori: la stima richiede il massimo di ∣g′∣ su un intervallo che g manda in sé.
- Scegliere un intervallo non invariante: ad esempio [0,5,0,6] non va, perché g(0,5)=0,6065>0,6.
Versione ripasso
(a) g=e−x decrescente su I=[0,4,0,7]: g(I)=[0,4966,0,6703]⊂I; ∣g′∣=e−x≤e−0,4=L=0,6703<1 (Metodo di bisezione e iterazioni di punto fissoBisezione: se f è continua e f(a)f(b) < 0 si dimezza l'intervallo tenendo la metà con il cambio di segno; dopo n passi |c_n − α| ≤ (b−a)/2^(n+1), cioè un bit di precisione per iterazione (convergenza lineare, sempre garantita). Punto fisso x = g(x): se g manda [a,b] in sé con |g'| ≤ L < 1 (contrazione) il punto fisso è unico, l'iterazione x_{k+1} = g(x_k) converge da ogni x_0 e |x_k − α| ≤ L^k/(1−L)·|x_1−x_0|; l'errore si moltiplica per circa g'(α) a ogni passo. Una stessa equazione ha molte riscritture x = g(x), alcune convergenti e altre no.Metodo di bisezione e iterazioni di punto fisso →).
(b) x0=0,5, α=0,5671433:
- x1=0,606531, x2=0,545239, x3=0,579703, x4=0,560065, x5=0,571172, x6=0,564863;
- errori −6,7⋅10−2, +3,9⋅10−2, −2,2⋅10−2, +1,3⋅10−2, −7,1⋅10−3, +4,0⋅10−3, −2,3⋅10−3;
- rapporto →g′(α)=−e−α=−α=−0,567.
(c) ∣xk−α∣≤1−LLk∣x1−x0∣=0,3231⋅0,6703k (x1−x0=0,106531). Per 10−4: k≥ln0,6703ln(3,095⋅10−4)=20,2→21. In pratica bastano 12 (stima prudente: usa L globale).
(d) x=−lnx: g2′(α)=−α1, ∣g2′(α)∣=1,763>1, repulsivo; da 0,5: 0,6931, 0,3665, 1,0037, −0,0037 e poi ln non definito.
Errori tipici: L=∣g′(α)∣ nella stima a priori; intervallo non invariante ([0,5,0,6] ha g(0,5)=0,6065>0,6).