There was a footpath leading across fields to New Southgate, and I used to go there alone to watch the sunset and contemplate suicide. I did not, however, commit suicide because I wished to know more of mathematics. – Bertrand Russell
I just ran across Newton’s approach to calculating square roots and thought it was fantastic. It’s interesting that our history of knowledge seems to get catapulted every few generations by individuals (Euclid, Archimedes, … Newton). Although I can proclaim with confidence I am not one such person I do fit in the category of oglers who stop to appreciate the beauty.
These days you can get a square root by using a button on a calculator but how exactly did he achieve this, especially for results that are irrational (e.g. √2 )?
Here is a step by step:
1. Make an estimate or a result. It doesn’t have to be too accurate – the example I saw starts with 1.
2. Verify your result. If it is not accurate, compute the average of your estimate plus the quotient of the number and the estimate.
3. Use the results of step 2 as your new estimate.
Here is an example, calculating the square root of 2.
Estimation | Quotient | Mean |
1 | 2 / 1 = 2 | 1.5 |
1.5 | 2 / 1.5 = 1.333 | 1.4167 |
1.4167 | 2 / 1.4167 = 1.4118 | 1.4142 |
1.4142 |
Here is some C# that does the trick:
class Program { static void Main(string[] args) { var root = ComputeSquareRoot(1, 2); Console.WriteLine(root); Console.ReadLine(); } static bool ResultWithinThreshold(double result, double target) { return Math.Abs(result * result - target) < (target * 0.01); } static double RefineSquareRootEstimate(double estimate, double target) { var newGuess = (estimate + target / estimate) / 2; return newGuess; } static double ComputeSquareRoot(double estimate, double target) { return ResultWithinThreshold(estimate, target) ? estimate : ComputeSquareRoot(RefineSquareRootEstimate(estimate, target), target); } }
That's pretty cool. I wonder if there is a layman’s version of Newton's Principia to work through; I’d love to call myself an amateur mathematician.