Illustriamo ora il metodo con a = 163. Per inizializzare i calcoli, si può partire da a, oppure, dato che 163 è compreso tra 144 = 122 e 169 = 132, da 12.
Dopo appena tre iterazioni dell’algoritmo, il risultato è sorprendente, poiché 163=12,7671453348037…
Infatti, il numero di cifre decimali esatte raddoppia (come minimo) a ogni ciclo: è il fenomeno della convergenza quadratica.
A ogni iterazione occorrono un’addizione, una divisione e una divisione per 2, facile da programmare in binario: in tutto, appena tre operazioni.
L’astuzia di Schönhage
---------------------
Il principale svantaggio dell’uso della successione di Erone (vedi sopra) è la presenza di una divisione: un’operazione «gravosa» e «lenta», persino per un circuito elettronico. Tuttavia, la divisione « a / *un » può essere sostituita da una successione: ancora una volta si usa il metodo di Newton per calcolare l’inverso 1/b di un numero reale b > 0. Questa volta si usa la funzione g definita da g(x)=x1−b, che porta alla successione v definita da vn*+1 = *vn(2 ‒ bvn*).
Infatti:
g(x)=x1−b, e g′(x)=x2−1,
da cui
g′(x)g(x)=x2−1x1−b=−x2(x1−b)=−x+bx2,
Si può fare ancora meglio! Il matematico tedesco Arnold Schönhage (nato nel 1934) ebbe l’idea di accoppiare le due successioni del metodo di Newton; questo accoppiamento si rivelò più efficiente dell’uso separato dei due metodi. Per calcolare un valore approssimato della radice quadrata di a > 0, ripartiamo dalla successione u, definita da
un+1=21(un+una)=un+2una−un2.
Per calcolare 2un1, si usa il metodo di Newton per calcolare gli inversi.
In questo contesto si usano due successioni, u e v:
{un+1=un+(a−un2)vn,\[0,7mm]vn+1=vn(2−2unvn)=vn+(1−2unvn)vn, con v0=2u01.