Sia A la successione definita per induzione dalle equazioni A(0)=1,
A(n+1) = (A(n)+9/A(n))/2. Si studi sperimentalmente (e si provi poi a congettuare e dimostrare) se
esiste (ed eventualente quanto vale)
Calcolando con una calcolatrice o con un altro mezzo di calcolo i valori di A(.) si ottengono, ad es. nel caso lo strumento approssimi a 16 cifre:
1, 5, 3.4, 3.023529411764706, 3.00009155413138, 3.000000001396984, 3, 3,
Possiamo fare questi calcoli anche con lo script grande calcolatrice
(vedi):
(B+9/B)/2 1 (1+9/1)/2 = 5 (5+9/5)/2 = 3.4 (3.4+9/3.4)/2 = 3.023529411764706 (3.023529411764706+9/3.023529411764706)/2 = 3.00009155413138 (3.00009155413138+9/3.00009155413138)/2 = 3.000000001396984 (3.000000001396984+9/3.000000001396984)/2 = 3o con questo script.
(A(n)+9/A(n))/2 ≤ A(n) ossia [moltiplco per 2; 2>0; la relaz. si conserva] a:
A(n)+9/A(n) ≤ 2·A(n) ossia [moltiplco per A(n); A(n)>0; la relaz. si conserva] a:
A(n)2+9 ≤ 2·A(n)2 ossia [sottraggo A(n)2; la relaz. si conserva] a:
9 < A(n)2 ossia [estraggo la radice quadrata; la relaz. si conserva] a:
3 ≤ A(n)
Questa relazione è vera per ogni n > 0, infatti, posto n=k+1:
A(k+1) = (A(k)+9/A(k))/2 ≥ 3 equivale a:
A(k)+9/A(k) ≥ 6 che equivale a:
A(k)2-6A(k)+9 ≥ 0, che è vera in quanto:
A(k)2-6A(k)+9 = (A(k)-3)2
Dunque la successione converge. Sia L il suo limite. Quindi da
Per capire meglio (e controllare i calcoli) è sempre utile, quando è possibile, fare anche (o eventualmente partire da) qualche
considerazione grafica. Dai grafici di
L'andamento del grafico di
Il procedimento con cui abbiamo studiato la nostra successione si potrebbe applicare con ovvi cambiamenti a qualunque altra successione del tipo:
A(0)=1, A(n+1) = (A(n) + k/A(n)) / 2, con k > 0
per dimostrare che essa convege a √k.
Questo è dunque un efficientissimo algoritmo per calcolare la radice quadrata di un numero.
Esso risale agli antichi babilonesi e ha come idea originale la seguente osservazione:
se A è una approssimazione per eccesso [difetto] di √k allora k/A ne è una approssimazione per difetto [eccesso]
(da A > √k segue che k/A < √k), e quindi come migliore approssimazione si può prendere la media artitmetica, (A+k/A)/2, di tali approssimazioni.
Ecco l'implementazione dell'algortimo in R (per il calcolo di √3, √4, ):
A = 3; x = 1; for (i in 1:8) {x = (x+A/x)/2; print(x)} # 2 1.75 1.732143 1.732051 1.732051 1.732051 1.732051 1.732051 A = 4; x = 1; for (i in 1:8) {x = (x+A/x)/2; print(x)} # 2.5 2.05 2.00061 2 2 2 2 2 A = 9; x = 1; for (i in 1:8) {x = (x+A/x)/2; print(x)} # 5 3.4 3.023529 3.000092 3 3 3 3 A = 100; x = 1; for (i in 1:8) {x = (x+A/x)/2; print(x)} # 50.5 26.2401 15.02553 10.84043 10.03258 10.00005 10 10 # # Ecco come è stato realizzato il grafico precedente: # source("http://macosa.dima.unige.it/r.R") BF=5; HF=5; PLANE(0,5, 0,5) f = function(x) 9/x; h = function(x) x; g = function(x) (x+9/x)/2 coldash = "brown"; graph(f,0,5, 0) coldash = "blue"; graph(g,0,5, 0) coldash = "red"; graph(h,0,5, 0) x = 1; polyline(c(x,x,g(x)),c(x,g(x),g(x)),"black") x=g(x); polyline(c(x,x,g(x)),c(x,g(x),g(x)),"seagreen") x=g(x); polyline(c(x,x,g(x)),c(x,g(x),g(x)),"orange") # ecc.