Si vuole approssimare f′(10) per f(x)=lnx (valore esatto f′(10)=0,1) in doppia precisione, con unità di arrotondamento u=1,11⋅10−16.
(a) Per la differenza in avanti Dh+=hf(x+h)−f(x) ricavare l'errore di troncamento, la stima dell'errore di arrotondamento, l'errore relativo totale E+(h) e il passo ottimo h+.
(b) Fare lo stesso per la differenza centrata Dhc=2hf(x+h)−f(x−h).
(c) Confrontare con i valori misurati.
(d) Domanda teorica: perché, a parità di costo, la differenza centrata permette di arrivare a una precisione molto migliore?
Soluzione
Si ha f(10)=ln10=2,3026, f′=x1=0,1, f′′=−x21=−0,01, f′′′=x32=0,002.
(a) Differenza in avanti
Troncamento. Da Taylor f(x+h)=f(x)+hf′(x)+2h2f′′(ξ), quindi Dh+−f′(x)=2hf′′(ξ). In valore relativo a f′: 2h⋅f′∣f′′∣=2h⋅0,10,01=20h.
Arrotondamento. Ciascuno dei due valori di ln ha errore assoluto ≲u∣f∣=2,56⋅10−16; la differenza ha errore ≲2u∣f∣, e dopo la divisione per h: h2u∣f∣. In relativo a f′: 0,1h2⋅2,56⋅10−16=h5,1⋅10−15.
Errore totale: E+(h)=20h+h5,1⋅10−15.
Minimo: E+′=201−h25,1⋅10−15=0⇒h+=20⋅5,1⋅10−15=1,02⋅10−13=3,2⋅10−7, con E+(h+)=2⋅20h+=3,2⋅10−8.
(La formula generale h+=2u∣f∣/∣f′′∣ dà 21,11⋅10−16⋅230,26=3,2⋅10−7 ✓.)
(b) Differenza centrata
Troncamento. Sommando gli sviluppi di f(x+h) e −f(x−h) i termini in h2 si cancellano: Dhc−f′(x)=6h2f′′′(ξ). Relativo a f′: 6h2⋅0,10,002=300h2.
Arrotondamento. Differenza di due valori divisa per 2h: errore ≲2h2u∣f∣=hu∣f∣, relativo 0,1h2,56⋅10−16=h2,56⋅10−15.
Errore totale: Ec(h)=300h2+h2,56⋅10−15. Derivando: 3002h=h22,56⋅10−15, cioè h3=3,84⋅10−13 e hc=7,3⋅10−5. Il minimo vale Ec(hc)=1,8⋅10−11+3,5⋅10−11=5,3⋅10−11.
(c) Confronto con il calcolo
Errori relativi misurati (doppia precisione):
h
10−2
10−4
10−6
3⋅10−7
10−8
10−12
in avanti
5,0⋅10−4
5,0⋅10−6
5,5⋅10−8
2,1⋅10−8
8,3⋅10−8
8,0⋅10−4
h
10−2
10−4
7⋅10−5
10−6
10−8
centrata
3,3⋅10−7
2,9⋅10−11
1,9⋅10−11
1,6⋅10−9
8,3⋅10−8
I minimi si trovano dove previsto: h≈3⋅10−7 per il metodo in avanti (errore 2,1⋅10−8, inferiore alla stima 3,2⋅10−8 perché la stima è un maggiorante) e h≈7⋅10−5 per quello centrato (errore 1,9⋅10−11 contro 5,3⋅10−11).
(d) Perché la centrata è migliore
Il troncamento della centrata è O(h2) invece di O(h), quindi si ottiene lo stesso errore di troncamento con un passo molto più grande; un passo più grande significa meno cancellazione (∝u/h). Il punto di compromesso scende da ≈10−8 (u) a ≈10−5 (u1/3) e la precisione raggiunta da u1/2 a u2/3: qui da 10−8 a 10−11, con due valutazioni di f in entrambi i casi.