L’algoritmo è noto come metodo babilonese oppure di Archita, di Erone, …
n > 4
Sia n, con n > 4, il numero in ingresso e la sua radice quadrata allora
Segui i passi
Osserva… | |
---|---|
![]() | Un’approssimazione ragionevole![]() |
![]() | Un’altra approssimazione ragionevole![]() ![]() |
![]() | Ancora un’approssimazione ragionevole![]() |
![]() | Ripete il 2° passo |
![]() | Ripete il 3° passo |
… | Continua… |
Riorganizza i passi precedenti
- Considera n=256
- In prima colonna,
: un’approssimazione della radice che nella prima riga è
e successivamente sarà il valore in ultima colonna della riga precedente
- In seconda colonna,
: la divisione tra …
- In terza colonna,
: la media aritmetica tra …
Passo | ![]() | ![]() | ![]() |
---|---|---|---|
1 | 128,00000000 | 2,00000000 | 65,00000000 |
2 | 65,00000000 | 3,93846154 | 34,46923077 |
3 | 34,46923077 | 7,42691364 | 20,94807220 |
4 | 20,94807220 | 12,22069494 | 16,58438357 |
5 | 16,58438357 | 15,43620834 | 16,01029596 |
6 | 16,01029596 | 15,98971067 | 16,00000331 |
Perché funziona?
Osserva l’immagine
e
convergono verso
è sempre in mezzo…

A ogni iterazione
si allontana da n e si avvicina da destra a
si allontana da 2 e si avvicina da sinistra a
si trova tra
e
n > 0
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 2 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:
Distanza tra due soluzioni successive, in rapporto con l’ultima approssimazione (diventa una percentuale)
Si usa se l’ordine di grandezza dei numeri in gioco è molto alto o molto basso
Esempio
n=256
Passo | ![]() | ![]() | ![]() | ![]() | ![]() | % |
---|---|---|---|---|---|---|
1 | 128,00000000 | 2,00000000 | 65,00000000 | 63,00000000 | 0,96923077 | 96,923077 % |
2 | 65,00000000 | 3,93846154 | 34,46923077 | 30,53076923 | 0,88573979 | 88,573979 % |
3 | 34,46923077 | 7,42691364 | 20,94807220 | 13,52115857 | 0,64546076 | 64,546076 % |
4 | 20,94807220 | 12,22069494 | 16,58438357 | 4,36368863 | 0,26312034 | 26,312034 % |
5 | 16,58438357 | 15,43620834 | 16,01029596 | 0,57408762 | 0,03585740 | 3,585740 % |
6 | 16,01029596 | 15,98971067 | 16,00000331 | 0,01029265 | 0,00064329 | 0,064329 % |
Conclusione…
Le 6 colonne precedenti si possono ridurre a 2, o addirittura a 1!
- La prima approssimazione è
- Le approssimazioni successive diventano
- Scegli il criterio per fermare l’iterazione (per esempio errore assoluto)
Passo | Approssimazione | Errore | |
---|---|---|---|
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 |
… | … | … | … |