Click here to send us your inquires or call (852) 36130518

Friday, January 30, 2009

There is a technique for multiplying numbers between 6 and 10 on your fingers called peasant multiplication (graphic illustration).  I explained how to do it two years ago, and I mentioned an easy proof of it.  Since I was subsequently asked for the proof, I present it now with an improvement.  (If you don't already know how to perform the multiplication, please check the links above, first)

Why Peasant Finger Multiplication works for any Bilaterally Symmetric Species

As long as your fingers (or tentacles) on each hand (or appendage) are bilaterally symmetric and you count in a base defined by your total number of fingers, this method will work.  First, let's start with definitions:

Since "digits" has different meanings in physiology and math, I will say "digits" when I mean mathematical place-value digits, and "fingers" when I mean dangly meat appendages with which you are counting/multiplying.

let n = factor #1 to be multiplied
m = factor #2 to be multiplied
p = product n * m

d = the number of fingers on each hand (total fingers on both hands = 2*d)

Since we (humans) count each number (n or m) from 6 to 10 on a hand with 5 fingers, the actual number of fingers used on a hand would be n-5, or more generically for any species,

a = n - d    (number of fingers used on one hand)
b = m - d   (number of fingers used on other hand)

If the product p for which we are searching is defined as

p = n * m


p = n * m = (a + d)*(b + d) = ab + d*(a+b) + d2

With peasant math, the tens digit (base 10) is represented by adding the number of fingers on each hand representing digits.  Here I multiply it by 10 to represent that it will be placed in the 10s digit:

p10  = 10*(a + b)

or more generally for any species, the "d's" digit is,

pd  = 2*d*(a + b)

Similarly, for the value of the ones digit, you add the remaining (unused) fingers on each hand:

pones  = (d - a)*(d - b)

which expands to

pones  = d2 - d*(a + b) + ab

In peasant math, the product p is acheived by combining the 10s digit with the ones digit:

p = pd + pones = 2*d*(a + b) + d2 - d*(a + b) + ab
= ab + d*(a+b) + d2 =  (a + d)*(b + d)
= n * m

which is the original definition of the product you are seeking to find.  

Peasant math works, regardless of your species, as long as you're bilaterally symmetric and your numeric base is that of your total number of fingers, tentacles, or tough scaly claws. 

Burton MacKenZie

Saturday, January 24, 2009

I came across a technique for multiplying big numbers recently, called prosthaphaeresis [1], that predates the use of logarithms.  It relied on the use of pre-calculated cosine tables, and made use of the trigonometric relation:

cos(A)*cos(B) = [ cos(A+B) + cos(A-B) ]/2

All you need to to is scale the two large numbers to between 0 and 1, look up the scaled numbers in your cosine table to find the angles they represent, add and subtract the angles, find the cosines of the new angles in your table, and average them.

This speeds up multiplication by reducing a series of single-digit multiplications and additions to some table lookups, three addition/subtractions, and a division by two.  Before calculators, computation was much more of a scarce resource; anything that could speed it up was useful.  Before logarithms were invented, this could speed up your multiplication a lot.

For example, let's say we wanted to multiply 45678 x 23456.   Convert them to (0.45678 x 10^5) x (0.23456 x 10^5).  Combine the two multiplied 10^5 base 10 exponents into 10^10 and save it for later.  Looking up 0.45678 and 0.23456 in the cosine table says the angles representing them are 62.820 and 76.434 degrees, respectively.  Adding and subtracting these angles gives new angles of 139.254 and -13.614.  The cosines of these angles are -0.75761 and 0.97190.  Averaging them gives 0.10715.  Multiply this by the base 10 exponent of 10^10, and you have 1071400000. 

By my calculator, 45678 x 23456 = 1071423168, which to the correct number of significant figures, is 1071400000, the same answer from the cosine method.  Pretty neat, for the days before calculators.

Burton MacKenZie

[1] Greek "prosth-" or "adding"  and  "-aphaeresis" or "subtracting"