Metodo di Newton-Raphson
Il metodo di Newton-Raphson utilizza l'approssimazione iterativa per trovare una radice di un polinomio p(x) $$ x_{n+1} = x_n - \frac{p(x_n)}{p'(x_n)} $$ Dove \( x_n \) è l'approssimazione corrente della radice. \( p(x) \) è il polinomio e \( p'(x) \) è la derivata del polinomio.
E' un motodo di calcolo numerico utile per trovare una radice reale del polinomio, anche se approssimata, quando non si trovano altre radici intere o razionali.
Il metodo di Newton-Raphson è molto efficiente e converge rapidamente alla radice reale. In particolar modo se la scelta iniziale \( x_0 \) è vicina alla radice reale.
Un esempio pratico
Ecco un esempio pratico di utilizzo il metodo di Newton-Raphson per trovare una radice reale di un polinomio.
Considero il polinomio \( p(x) = x^3 - x^2 - 1 \).
Come primo passo scelgo l'approssimazione iniziale. Ad esempio, x0=0
$$ x_0 = 1.5 $$
Poi calcolo la derivata del polinomio \( p(x) = x^3 - x^2 - 1 \) è il polinomio
$$ p'(x) = 3x^2 - 2x $$
Poi inzio le iterazioni
Iterazione 1
$$ x_1 = x_0 - \frac{p(x_0)}{p'(x_0)} $$
$$ x_1 = 1.5 - \frac{(1.5)^3 - (1.5)^2 - 1}{3(1.5)^2 - 2(1.5)} $$
$$ x_1 = 1.5 - \frac{3.375 - 2.25 - 1}{6.75 - 3} $$
$$ x_1 = 1.5 - \frac{0.125}{3.75} $$
$$ x_1 = 1.5 - 0.0333 $$
$$ x_1 = 1.4667 $$
Iterazione 2
$$ x_2 = x_1 - \frac{p(x_1)}{p'(x_1)} $$
$$ x_2 = 1.4667 - \frac{(1.4667)^3 - (1.4667)^2 - 1}{3(1.4667)^2 - 2(1.4667)} $$
$$ x_2 = 1.4667 - \frac{3.1550 - 2.1511 - 1}{6.4533 - 2.9333} $$
$$ x_2 = 1.4667 - \frac{0.0039}{3.5200} $$
$$ x_2 = 1.4667 - 0.001 $$
$$ x_2 = 1.4656 $$
Calcolo la differenza tra la soluzione precedente e quella attuale
$$ \epsilon = | x_2 - x_1 | = |1.4656-1.4667| = 0.001 $$
Nota. In realtà il sottraendo $ 0.001 $ calcolato durante i calcoli è già la differenza tra i due valori. Quindi, si può anche omettere di calcolare due volte. Tuttavia, per spiegare meglio a cosa serve ho preferito ripetere il calcolo.
Iterazione 3
$$ x_3 = x_2 - \frac{p(x_2)}{p'(x_2)} $$
$$ x_3 = 1.4656 - \frac{(1.4656)^3 - (1.4656)^2 - 1}{3(1.4656)^2 - 2(1.4656)} $$
$$ x_3 = 1.4656 - \frac{3.148- 2.1479 - 1}{6.4439 - 2.9312} $$
$$ x_3 = 1.4656 - \frac{0.0001}{3.5127} $$
$$ x_3 = 1.4655 $$
Calcolo la differenza tra la soluzione precedente e quella attuale
$$ \epsilon = |x_3 - x_2| = |1.4655 - 1.4656| = 0.0001 $$
Continuo iterativamente finché la differenza tra \( x_{n+1} \) e \( x_n \) è inferiore a una tolleranza desiderata, ad esempio, ε<0.001 oppure ε<0.0001.
Dopo alcune iterazioni \( x \) converge a una radice reale del polinomio \( p(x) \).
In questo caso, la soluzione \( x \approx 1.4655 \) può essere già considerata un'approssimazione accettabile della radice reale del polinomio.
Verifica. Sostituisco \( x \approx 1.4655 \) nel polinomio iniziale \( p(x) = x^3 - x^2 - 1 \) e calcolo il risultato. $$ p(1.4655) = 1.4655^3 -1.4655^2 - 1 = -0.00025 $$ Il risultato è molto vicino allo zero, quindi è molto vicino alla radice del polinomio.
E così via.