Dictionary of Mathematical Eponymy: Volder's algorithm
One of the questions that occasionally crops up in the hive of scum and villainy I hang out in search of problems to solve is, “how do calculators work out trigonometric values?”.
It’s not, typically, the way that the Mathematical Ninja would (find an angle nearby and adjust using heuristics), but it’s not all that far away. The method a calculator typically uses is known as CORDIC 1 or - at least for the purposes of this dictionary, Volder’s algorithm.
What is Volder’s Algorithm?
The principle of Volder’s algorithm is to rotate a vector on the unit circle by progressively smaller angles in either direction until it reaches the angle you’re interested in.
So far, so obvious - that’s basically what the Ninja does.
The clever bit is picking angles - and the corresponding rotation matrix - so that the calculation is straightforward.
Your standard angular rotation matrix looks like this:
This turns the rotation matrix into
And if we pick
The only wrinkles, then, are:
- keeping track of how far you’ve rotated so far (which is just a case of working out ahead of time what
is for as many values as you fancy using); - keeping track of the product of the constant factors in front of the matrix - which, again, you can work out ahead of time.
At the end of the series of (very quick to compute) rotations, the vector you wind up with is
Why is it important?
The motivation for Volder’s algorithm came from aircraft manufacturing: the B-58 bomber’s navigation computer relied on an analogue resolver, and needed to be replaced by an accurate electronic version. Seeing as this was the 1950s and computers were generally comparable in size to planes 2, hardware efficiency and speed were of the essence - and a shift-and-add system like this hits both of the goals nicely.
Variations on it were soon implemented for other useful functions, such as square roots, logarithms and hyperbolic functions, and formed the basis for hand-held calculation devices for many years.
Who was Jack E. Volder?
Volder is another largely mysterious mathematician. He was born in Fort Worth, Texas in 1924 and graduated from Texas Technological College in 1949 before moving into aircraft equipment design, at first in Wisconsin and then back in Texas.
He died in Yorba Linda, California, in 2013.
Footnotes:
1. CO-ordinate Rotation DIgital Computer
2. and just as prone to crashing