Hacker News new | ask | show | jobs
by RajuVarghese 2121 days ago
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!
3 comments

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.
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

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.