Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Babylonian Multiplication in the shower (2016) (iquilezles.org)
75 points by plancien on Aug 29, 2020 | hide | past | favorite | 15 comments


I stumbled upon this old post from Iñigo Quilez, and this made my day. Especially because I did not know about the Babylonian multiplication, let alone its proof. The absence of explanation in the post made it into a nice puzzle, I had to figure things out by myself. Maths teaching should more often be like this kickstarted discovery...


I spent some time looking at the geometric 'proof' in the photo. Was still wondering why this method would have any advantage over our conventional way of multiplying numbers because squaring would need multiplication too. Then I realized that with a table of squares one could do the calculation quite easily. To calculate the product of any 2 numbers from 1 to 100 one would need the squares of the numbers from 1 to 200. Armed with this one can calculate the product of any two numbers from 1 to 100 (there are 10'000 such combinations) with the formula. Sweet!


Yeah, the algorithm is only thousands of years old but it's very useful on the 6502. See 'Fast Signed Multiply' at http://www.ffd2.com/fridge/chacking/c=hacking9.txt for an implementation in C64 3D routines.

Also note that this algorithm was used in analog electronics to multiply. https://patents.google.com/patent/US2906459A/en


It is also useful for other things. For example it shows that the product of two normally distributed random variables has the same distribution as the difference between two independent chi square variables.


And by the sum-of-odd-numbers theorem (sum of 2n-1 = n^2), you don't even need to multiply to generate that table.


True, that does remove the necessity of the table. However, I was checking how the Babylonians did it and the article that I read seems to indicate that they used base-60 tables. On a different note, does anyone know if this method has been exploited on CPUs without multiplication circuitry in the ALU?


According to Wikipedia ([1]), Charles Putney implemented the quarter-square method for the 6502.

[1] - https://en.wikipedia.org/wiki/Multiplication_algorithm#Quart...


Thanks for that pointer! Fascinating to see the multiplication method invented by the Babylonians being used on a microprocessor.



Related: https://en.wikipedia.org/wiki/Proof_without_words

Unfortunately the metamathematics of wordless proofs still needs words, maybe someone can make a proof theory without words?

https://www.maa.org/press/periodicals/convergence/proofs-wit...


I made a helper image: https://i.imgur.com/CHYYhn6.png


Thank you!


The idea would be more obvious if `a` woldn't be exactly `2b` in this example (granted, author wasn't at liberty to choose values). Being previously unaware of what is Babylonian multiplication, it took me quite some time to get what exactly is being conveyed. It is too tempting to read it as "2 x 1" in this case, which doesn't register as a very notable generic discovery. I suspect many people who would find it otherwise interesting simply passed by before understanding what he is trying to show us.


For those of us too lazy to think this through, do you care to post an explanation?


Sure, here you go.

a — height of a white tile

b — width of a white tile

a x b — S₁, area of a white tile (this is what we are trying to "find")

(a - b)² — S₀, area of a black square

(a + b)² — S, area of a whole block (4 white tiles, 1 black tile)

Now, looking at the image it is obvious, that (S - S₀) = 4S₁.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: