Re: Algorithms to calculate square root
- To: mathgroup at smc.vnet.net
- Subject: [mg16498] Re: [mg16454] Algorithms to calculate square root
- From: BobHanlon at aol.com
- Date: Tue, 16 Mar 1999 03:59:48 -0500
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 3/13/99 12:13:34 PM, ajith.pn at pcm.bosch.de writes: >This question is about the calculation of square root using numerical >analytical algorithms. I found the formula (from the book "Numerical >Recipes in C - The Art of Scientific Computing" ) > > if > U[i+1] = 0.5 * U[i] * ( 3 - V * U[i] * U[i] ) >then U[infinity] converges quadratically to 1/sqrt(V). A final >multiplication by V gives sqrt(V). > >Are there any other similar algorithm to calculate square root? > Ajith, I don't have Knuth's book handy, but I believe this algorithm is in it: For y = Sqrt[x], y[n] = (y[n-1] + x/y[n-1])/2 y[n_Integer?Positive, x_?Positive] := NestList[((# + x/#)/2.)&,x, n] (* If you only want the final result, use Nest vice NestList *) y[5, 16] {16,8.5,5.19118,4.13666,4.00226,4.} Bob Hanlon