L'iterazione nel calcolo numerico
Nel calcolo numerico, l'iterazione è un metodo utilizzato per risolvere problemi matematici, tra cui equazioni algebriche, equazioni differenziali, ottimizzazione e molto altro.
L'idea è quella di iniziare con una stima iniziale di una soluzione e poi migliorare ripetutamente quella stima attraverso un processo ripetitivo o iterativo.
Ogni ripetizione del processo è chiamato un'iterazione.
A cosa serve? I metodi iterativi sono molto utili nel calcolo numerico perché posso utilizzarli per risolvere problemi altrimenti difficili o impossibili da risolvere analiticamente. Inoltre, posso implementarli su un computer.
Un esempio pratico
Uno dei metodi iterativi più noti è il metodo di Newton per trovare le radici di un'equazione.
Il metodo di Newton si basa sulla formula:
$$ x_{n+1} = x_n - \frac{ f(x_n) }{ f'(x_n) } $$
Inizia con una stima iniziale x0 per la radice.
Poi, utilizzando il calcolo, si trova una nuova stima x1 che è più vicina alla vera radice dell'equazione.
Questo processo è ripetuto, con ogni nuova stima xn+1 ottenuta dalla stima precedente xn, fino a quando non si raggiunge un grado di precisione accettabile.
Ad esempio, considero l'equazione
$$ x^3 - 2x - 5 = 0 $$
Scelgo come prima soluzione approssimativa x0=2
$$ x_0 = 2 $$
A questo punto applico la formula di Newton, utilizzando come funzione f(x)=x3-2x-5
La derivata è f'(x)=3x2 - 2
$$ x_1 = x_0 - \frac{ f(x_0) }{ f'(x_0) } $$
$$ x_1 = 2 - \frac{ x_0^3-2x_0-5 } { 3x_0^2-2 } $$
Sapendo che x0=2
$$ x_1 = 2 - \frac{ 2^3-2 \cdot 2-5 } { 3 \cdot 2^2-2 } $$
$$ x_1 = 2 - \frac{ 8-4-5 } { 12-2 } $$
$$ x_1 = 2 - \frac{ -1 } { 10 } $$
$$ x_1 = 2 + 0.1 $$
$$ x_1 = 2.1 $$
Una volta trovato x1=2.1 applico nuovamente la formula per trovare x2
$$ x_2 = x_1 - \frac{ f(x_0) }{ f'(x_0) } $$
$$ x_2 = 2.1 - \frac{ x_1^3-2x_1-5 } { 3x_1^2-2 } $$
Sapendo che x1=2.1
$$ x_2 = 2.1 - \frac{ 2.1^3-2 \cdot 2.1-5 } { 3 \cdot 2.1^2-2 } $$
$$ x_2 = 2.1 - \frac{ 9.261-4.2-5 } { 13.23-2 } $$
$$ x_2 = 2.1 - \frac{ 0.061 } { 11.23 } $$
$$ x_2 = 2.1 - 0.0054 $$
$$ x_2 = 2.0946 $$
Il processo iterativo continua fino a quando non raggiungo un'approssimazione sufficientemente vicina alla soluzione reale.
Ad esempio, potrei decidere di fermarmi quando la differenza tra due approssimazioni consecutive xn-xn+1 è inferiore a una certa tolleranza (es. 0.0001).
$$ | x_n - x_{n+1}| <0.0001 $$
Nota. Il metodo di Newton non garantisce sempre la convergenza verso la soluzione. La sua efficacia dipende in gran parte dalla scelta dell'approssimazione iniziale x0. Inoltre, richiede che la funzione f sia differenziabile e che la sua derivata non sia zero.
E così via.