L’algoritmo è noto come metodo babilonese oppure di Archita, di Erone, …
Sia n, con n > 4, il numero in ingresso e x la sua radice quadrata allora 2 < x < n
Prima approssimazione:
Seconda approssimazione:
Terza approssimazione:
Ripeti i calcoli con , la media calcolata nel passaggio precedente
Ripeti …
Esempio
n=256
Osserva
- In prima colonna,
: un’approssimazione della radice che nella prima riga è n/2 e successivamente sarà il valore in ultima colonna della riga precedente
- In seconda colonna,
: la divisione tra …
- In terza colonna,
: la media aritmetica tra …
![]() |
![]() |
![]() |
128,00000000 | 2,00000000 | 65,00000000 |
65,00000000 | 3,93846154 | 34,46923077 |
34,46923077 | 7,42691364 | 20,94807220 |
20,94807220 | 12,22069494 | 16,58438357 |
16,58438357 | 15,43620834 | 16,01029596 |
16,01029596 | 15,98971067 | 16,00000331 |
Perché funziona?
Osserva lo schema a destra (n > 4)
e
convergono verso x
è sempre in mezzo…
A ogni iterazione
si allontana da n e si avvicina da destra a x
si allontana da 2 e si avvicina da sinistra a x
si trova tra
e
Se rappresenti graficamente i valori dell’esempio precedente
Funziona sempre?
L’algoritmo funziona per qualsiasi valore di n (positivo…) e per qualsiasi approssimazione iniziale (positiva…)
A ogni passo
- se
allora
- se
allora
sarà compreso tra
e
e sempre più vicino a
Nei primi passi e
potrebbero scambiarsi di posto ma poi tutto continuerà come prima.
Quante iterazioni?
Per decidere quando fermare l’iterazione si può stabilire un valore soglia ε e fermare l’iterazione quando l’errore è minore di ε
Si può scegliere tra
- Errore assoluto,
, distanza tra due soluzioni successive
- Errore relativo:
, errore in rapporto all’ultima approssimazione
Si usa se l’ordine di grandezza dei numeri in gioco è molto alto o molto basso
Esempio
n=256
![]() |
![]() |
![]() |
![]() |
![]() |
|
128,00000000 | 2,00000000 | 65,00000000 | 63,00000000 | 0,96923077 | 96,923077 % |
65,00000000 | 3,93846154 | 34,46923077 | 30,53076923 | 0,88573979 | 88,573979 % |
34,46923077 | 7,42691364 | 20,94807220 | 13,52115857 | 0,64546076 | 64,546076 % |
20,94807220 | 12,22069494 | 16,58438357 | 4,36368863 | 0,26312034 | 26,312034 % |
16,58438357 | 15,43620834 | 16,01029596 | 0,57408762 | 0,03585740 | 3,585740 % |
16,01029596 | 15,98971067 | 16,00000331 | 0,01029265 | 0,00064329 | 0,064329 % |
Le 6 colonne precedenti si possono ridurre a 2
- Prima approssimazione:
- Approssimazioni successive:
- Scegli quale criterio utilizzare per fermare l’iterazione
Esempio
n=256
![]() |
![]() |
|
1 | 128,00000000 | |
2 | 65,00000000 | 63,00000000 |
3 | 34,46923077 | 30,53076923 |
4 | 20,94807220 | 13,52115857 |
5 | 16,58438357 | 4,36368863 |
6 | 16,01029596 | 0,57408762 |
7 | 16,00000331 | 0,01029265 |
Wikipedia: Metodi per il calcolo della radice quadrata