¿Cuáles son algunos algoritmos diferentes para calcular raíces cuadradas?

Prefiero fuertemente el método babilónico. Es simple y tiene convergencia cuadrática. Se puede implementar fácilmente tanto en hardware como en software. Se basa en el algoritmo de Newton-Raphson para encontrar la raíz de [matemáticas] f (x) = x ^ 2-n [/ matemáticas].

Digamos que desea calcular [math] \ sqrt n [/ math].

  1. Elija un valor inicial [math] a_0 [/ math]. Para una estimación aproximada: Si [math] n = b \ cdot 10 ^ {2c} [/ math], con [math] b \ in [1,100) [/ math], use [math] 10 ^ c [/ math] . Para mayor precisión, agregue algunas distinciones de casos simples que involucran rangos de [math] b [/ math]. Por ejemplo: si [math] b \ ge 10 [/ math], use [math] a_0 = 6 \ cdot 10 ^ c [/ math], de lo contrario use [math] a_0 = 2 \ cdot 10 ^ c [/ math] .
  2. Itere hasta que tenga la precisión deseada: [matemáticas] a_ {n + 1} = \ frac {1} {2} \ left (a_n + \ frac {n} {a_n} \ right) [/ math]

Un pequeño número de iteraciones ya le brinda una gran aproximación. Cada iteración duplica aproximadamente la cantidad de dígitos correctos.