tag:blogger.com,1999:blog-7665342107723336257.post7797595726039493245..comments2023-02-13T03:38:13.649-05:00Comments on LaMarotte: Square Root Extraction the Japanese WayADhttp://www.blogger.com/profile/06408980212433714362noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-7665342107723336257.post-35604451518262804532012-08-25T10:35:05.097-04:002012-08-25T10:35:05.097-04:00Thank you for that, SasQ. Interesting explanation....Thank you for that, SasQ. Interesting explanation. For some of the best of these one has to go back in time...ADhttps://www.blogger.com/profile/06408980212433714362noreply@blogger.comtag:blogger.com,1999:blog-7665342107723336257.post-67331875589239275382012-08-25T09:15:03.842-04:002012-08-25T09:15:03.842-04:00If you want to know why this algorithm actually wo...If you want to know why this algorithm actually works, find a book called "First Lessons in Algebra" by Ebenezer Bailey. It's from 1834, but this is the best book on Algebra I know. Somewhere around pages 200..215 a general method is described for taking square roots of any polynomial, which works also with numbers in place-value system (eg. decimal system). That's because place-value numbers are actually polynomials, where x=10 and digits are cofactors of the subsequent powers of x=10 (or other base).<br /><br />This method makes use of the known binomial formula, `(a+b)^2 = a^2 + 2ab + b^2`, but backwards: knowing the power (that is, the whole right side) it tries to deduce the square root (left side inside the parentheses, that is, `a+b`). To do that, first it takes the suqare root of the first term of the power, `a^2`, to get `a` (the first part of the root). Next, it needs to find `b`. To do that, we need to divide `2ab` from the power by `2a`, that is the double of `a` we've already found. This gives us `b`. But now we need to make sure that `b` is really a part of the root, or we need to calculate further. So we have to bring down all the remaining part `2ab + b^2` from above (that's why this algorithm works two digits at a time) and subtract from it the `2a + b^2` using the values we've found. To avoid multiple multiplications (;P), we factor it like this: `(2a+b)*b`. This explains why we multiply our whole root found so far (`a`) by 2 (for the decimal algorithm, we also need to multiply by `10` to get another place value, and that's why we multiply by `20` ultimately), and add the lastly found digit (this is our `b`). When we multiply it all by `b` again, we get `2ab + b^2` and subtract it. If there's any remainder, we need to continue (nested binomial formula). But when nothing is left, we're done.<br />-- SasQ<br /><br />P.S.: Your OpenID login mechanism doesn't seem to show correct usernames. I'm not "pl" but "SasQ".Anonymousnoreply@blogger.com