La calculadora utiliza sucesiones obtenidas mediante refinamientos del método de Newton (véanse Les Algorithmes, Bibliothèque Tangente 37, 2013, o Itération et Récurrence, Bibliothèque Tangente 76, 2021).
La función f utilizada se define por f (x) = x2 ‒ a.
Buscamos la solución de f (x) = 0, pues la solución es precisamente a\sqrt{a} la cantidad que nos interesa. Apliquemos el algoritmo.
La derivada de f es f ' (x) = 2 x, y se tiene f(x)f′(x)=x2−a2x=x2−a2x.\dfrac{f(x)}{f'(x)} = \dfrac{x^2 -a}{2x} = \dfrac{x}{2} - \dfrac{a}{2x}.
De ello se deduce la sucesión de Herón:
un+1=un−f(un)f′(un)=un−un2+a2un=un2+a2un=12(un+aun).u_{n+1} = u_n - \dfrac{f(u_n)}{f'(u_n)} = u_n - \dfrac{u_n}{2} + \dfrac{a}{2u_n} =\dfrac{u_n}{2} + \dfrac{a}{2u_n} = \dfrac{1}{2} \left( u_n + \cfrac{a}{u_n} \right).
Ilustremos ahora el método con a = 163. Para iniciar los cálculos, podemos partir de a o bien, dado que 163 está comprendido entre 144 = 122 y 169 = 132, de 12.
Tras solo tres iteraciones del algoritmo, el resultado es asombroso, pues 163=12,7671453348037…\sqrt{163} = 12,7671453348037 \ldots
En efecto, el número de cifras decimales correctas se duplica (como mínimo) en cada bucle (fenómeno de convergencia cuadrática).
En cada iteración hay una suma, una división y una división entre 2, fácil de programar en binario: solo tres operaciones que realizar.
El truco de Schönhage ---------------------
La principal desventaja de utilizar la sucesión de Herón (véase más arriba) es la presencia de una división: es una operación « penosa » y « lenta », incluso para un circuito electrónico. Pero es posible sustituir la división « a / *un » por una sucesión: se utiliza, una vez más, el método de Newton para calcular el inverso 1/b de un número real b > 0. Esta vez se utiliza la función g definida por g(x)=1x−b,g(x) = \dfrac{1}{x}-b, lo que conduce a la sucesión v definida por vn*+1 = *vn(2 ‒ bvn*).
En efecto: g(x)=1x−b,g(x) = \dfrac{1}{x}-b, y g′(x)=−1x2,g'(x) = \dfrac{-1}{x^2}, de donde g(x)g′(x)=1x−b−1x2=−x2(1x−b)=−x+bx2,\dfrac{g(x)}{g'(x)} = \dfrac{ \dfrac{1}{x}-b}{\dfrac{-1}{x^2}} = -x^2 \left( \cfrac{1}{x} -b\right) = -x +bx^2,
es decir, vn+1=vn−g(un)g′(un)=vn+vn−bvn2=vn(2−bvn).v_{n+1} = v_n- \dfrac{g\left(u_n\right)}{g'\left(u_n \right)} = v_n +v_n -bv_n^2 = v_n \left( 2-bv_n \right).
¡Aún se puede mejorar! El matemático alemán Arnold Schönhage (nacido en 1934) tuvo la idea de acoplar las dos sucesiones del método de Newton, y este acoplamiento resulta más eficaz que utilizar ambos métodos por separado. Para calcular un valor aproximado de la raíz cuadrada de a > 0, partimos de nuevo de la sucesión u, definida por
un+1=12(un+aun)=un+a−un22un.u_{n+1} = \dfrac{1}{2} \left( u_n + \cfrac{a}{u_n} \right) = u_n + \dfrac{a-u_n^2}{2u_n}.
Para calcular 12un,\dfrac{1}{2u_n}, se utiliza el método de Newton aplicado al cálculo de inversos.
En este contexto se utilizan dos sucesiones, u y v:
{un+1=un+(a−un2)vn,\[0,7mm]vn+1=vn(2−2unvn)=vn+(1−2unvn)vn,\left \{ \begin{array}{l} u_{n+1} = u_n + \left( a-u_n^2\right) v_n, \[0,7mm] v_{n+1} = v_n (2-2u_nv_n) = v_n +(1-2u_nv_n)v_n, \end{array} \right. con v0=12u0.v_0= \dfrac{1}{2u_0}.