Hello,
I am trying to figure out the most efficient algorithm to extract square roots mentally to multiple digits (let’s say 2 to 10).
I have read Ron Doerfler’s book on this and it gives quite good techniques, however some of them are difficult to perform mentally.
I can see the following methods :
- The digits by digits algorithm that was teached in school a long time ago :
Not efficient for mental calculation + slow + gets very complex (large numbers) after a few digits. - The Newton-Raphson/Heron/Babylonian algorithm :
Easy to remember and fast convergence, however it gets difficult after 1 iteration because of the largest squares + more complicated divisors involved. - Some improvements of Newton-Raphson exist, such as Halley’s method or Chebyshev correction but to get accuracy you need to deal with large divisions.
- Doerfler discusses in his book an interesting algorithm which does not involve complex divisions (you always divides by the initial approximation) and with a limited complexity with additional digits. Here is an example of the procedure I did not find its name or other references on the internet :
(actually in his book he describes a similar procedure but to get 2 digits per iteration, which involve 2 digits divisions and more complex steps)
This last technique seems well fitted for mental calculation, calculations are simpler but you have a lot of intermediate results to remember. Quite surprising that it does not seem to be so popular.
I was wondering what kind of technique you guys use to extract inexact square roots and which techniques use experts in the field?
How much time do you need to extract a square root of a 2-3-4 digit-numbers to 2-4-6 digits accuracy ? just trying to have a benchmark here.
Thank-you for your inputs.
