George Rebane
Regular RR readers know of my interest in numeracy and promoting the practice of mental math to derive usable approximations without the use of calculators. I argue that such skills are required by educated lay people so that they can quickly understand and vet claims made by politicians and pundits that involve the torrents of numbers with which we our public policies are delivered.
One useful tool is the ability to calculate the square root of any number to within a percent or so. For example, when you hear that a wildfire has burned a 45 square mile area, how big is that really? Numerous other problems that require a quick estimate of square roots are encountered daily by people whose desire to understand only penetrates the surface of (or bounces off) reports they hear. So here’s a square root algo (algorithm to the purists) that I developed some time ago and have taught my numeracy students and shared with colleagues.
A more convenient form to think about and even write such numbers is to use the ‘slash notation’ whereby convention a x 10b = a\b (voiced ‘a slash b’), and both a and b are easily manageable baby numbers (one or two places to the left of the decimal). You do the simple arithmetic on a and then use b to place the decimal point. Recalling your high school math, taking the square root of a number is the same as raising it to the ½ power. So sqrt(a x 10b) = a1/2 x 10b/2 = a1/2\b/2, and below I’ll show how to handle the square root of any baby number a.
OK, on to the main event. The surprisingly good approximation of a number’s square root is obtained by expressing the number in its slash notation with 10 raised to an even value, since we need to divide it by two. Then bracketing its baby number by its neighboring squares, next calculating the fraction of the bracket covered by the number, and adding that fraction to the lower bracket value. That’s all there is to it; so let me demonstrate with some examples which should make this simple mental math accessible to all.
Let’s calculate the square root of 45 (45\0 in slash) which is bracketed by the squares of 6 and 7. Since 62 = 36 and 72 = 49, we know that the square root of 45 is between 6 and 7 that creates the interval 49 – 36 = 13. Recall that anything raised to the zero power equals one, and zero divided by two is still zero. We see that 45 covers the fraction (45-36)/13 = 9/13 = 0.69 of the interval. Here’s where you recall from your division table that 1/13 = 0.077, and therefore 9/13 = 1 – 4x0.077 = 0.69. Now you simply add 0.69 to the lower bracket value of 6 to get the answer of 6.69 (or 6.69\0 in slash) as the square root of 45. This answer is within a quarter of a percent (0.24%) of 6.71, the real square root of 45. So if a reported wildfire has burned 45 square miles, we can relate it to a familiar square of approximately 6.7 miles on a side.
The algo is even more useful with really big and really small numbers. We calculate the square root of 0.0000000029 = 29\-10. 29 is bracketed by 5 and 6 giving an interval of 36 – 25 = 11 of which 29 covers the fraction (29-25)/11 = 4/11 = 0.3636… since 1/11 = 0.0909… . Therefore our estimated square root 5.36\-5 = 0.0000536. The actual square root is 5.39\-5 thereby making our quickly calculated estimate err by only 0.40% - pretty neat.
And finally, we calculate the square root of 5,500,000,000,000,000 = 55\14. Here our brackets are 7 and 8 yielding the interval 64 - 49 = 15 with the covered fraction of (55-49)/15 = 6/15 = 2/5 = 0.40 since 1/15 = 0.067. The answer then is 7.40\7 with an error of 0.22% from the correct 7.416\7.
The last example illustrates the ease with which one learns the division table. Since we all know that 1/3 = 0.333… and 1/5 = 0.20, we simply multiply these two decimals to give us 1/15. And all the even numbered denominator decimals are instantly available by halving the next biggest even denominatored fraction – i.e. ¼ = 0.25 then 1/8 = 0.125 and so on. Ony the primed denominators require a bit of memory, but they too are easy or can be estimated from their more friendly neighbors. For instance, 1/7 = 0.1428 – I remember it by getting 14 from doubling 7 and 28 from doubling 14. Two easy to remember fractions are 1/9 = 0.111… and 1/11 = 0.0909… . Only 1/13 = 0.077 is a bit tricky; I just remember that 7+7 = 14, one away from 13.
[update] I just thought of a couple more useful areas that I failed to include in the above. If you are really into doing mental math, you’ll most likely come up with some additional uses for this algo. If you do and wish to share them, then I’ll append them here with full attribution.
First, this algo will make you the mental master of all things having to do with right triangles. It all revolves around the many forms of the Pythagorean formula, c2 = a2 + b2. Say, you knew the length of the triangle’s hypotenuse and adjacent side, and wanted to know the length of the opposite side – e.g. c = 74 cm, b = 35 cm – then a = sqrt(c2 - b2) = sqrt((7.4\1)2 – (3.5\1)2) ≈ sqrt(5500 - 1200) = sqrt(43\2). Now proceeding as above, our brackets are 6 and 7 yielding the interval 49 - 36 = 13 with the covered fraction of (43 - 36)/13 = 8/13 ≈ 0.61 since 1/13 = 0.077. The answer then is 6.61\1 = 66.1 cm with an error of about 0.75% from the correct 65.6 cm.
As you do these intermediate mental calculations, don’t get bogged down with too much accuracy. Remember, you are calculating an estimate, and a damn good one at that. So along the way it’s OK to approximate (7.4\1)2 ≈ 7*7.4 + 0.4*7.4 ≈ 52 + 3 = 55\2, and 3.5 = 3*3.5 + 0.5*3.5 ≈ 10.5 + 1.75 ≈ 12, close enough.
Finally, we’ll throw in a trig problem. Say, you know that sin350 is 0.574, but you need cos350 for a quick calculation. From high school you recall the ever popular sin2x + cos2x = 1, and know that your problem is finding sqrt(1 – 0.5742) ≈ sqrt(0.67) = sqrt(67\-2). The brackets on 67 are 8 and 9, the interval is 81 – 64 = 17, so the fraction added to 8 is (67-64)/17 = 3/17 ≈ 1/6+ ≈ 0.17 giving the answer cos350 = 0.817\-1 = 0.817 which is about 0.1% from the correct 0.819.
Here is the short and sweet formula for this algo. You want to estimate N which is the square root of N2, which is in the bracket between the squares of neighboring integers Nlow < N < Nhigh. Then
Lotsa approximations out there. Publishing books on it used to be a thing. I hate to imagine how much time has been spent simply thinking about that surprisingly difficult thing called a 'divide'. I have to wonder what kinds of things John Carmack will think of now that he's loose considering AI math.
Here's one to think about.
https://breq.dev/2021/03/17/5F3759DF
Posted by: scenes | 18 July 2024 at 11:49 AM