Also see Babbage Difference Engine #2, Technical Description and Babbage Difference Engine #2, Instruction Manual.
|
Background - The computational part of the Babbage Difference Engine #2 was built by (and is in) the British National Museum of Science and Industry in 1991. The printing part of this engine is now complete as per BBC News (April 13, 2000)
This paper is organized into the following sections
The Babbage Difference Engine is basically a fancy adding machine that can do
unexpected (amazing) things with polynomials. An example of a polynomial is
Assume a polynomial of degree 7 (above) or less, with integer coefficients
(a, b, c, ... are integers).
If you set up a Difference Engine correctly, (insert the correct things to add)
the Difference Engine will evaluate the polynomial (give y) for successive integer values
of x until the machine overflows (numbers get larger than the machine
can handle).
This is interesting, but even more interesting is the
fact that if you form a polynomial that approximates (or interpolates) a function
(say the sine function), the Difference Engine will evaluate the
(sine) function to arbitrary accuracy (such as 15 digits).
This is useful in making those boring trig tables so necessary before hand held calculators.
The British needed accurate trig and other tables for navigation of their sea going
merchant and naval vessels. They
were very interested in such developments and machines in the 1600s through the 1800s.
Babbage had investigated errors in navigational and astronomical tables,
and realized that both correct
computation and printing were needed. So the second part of
his Difference Engine was a type-setting machine, which reduced the probability
of human error to a minimum.
He was awarded a gold metal by the British Astronomical Society for his paper
"Observations on the Application of Machinery to the Computation of Mathematical Tables."
in 1821.
Charles Babbage was an interesting character; very gifted, but he was
a very poor project engineer and politician.
This paper is not about him or his problems and failure in producing
his Difference Engine, but is about how to set up a Difference Engine # 2 so that it
can produce the desired tables.
sin x = x - x3/(3!) + x5/(5!) - x7/(7!) + ...
cos x = 1 - x2/(2!) - x4/(4!) - x6/(6!) + ...
ex = 1 + x + - x2/(2!) - x3/(3!) - x4/(4!)
+ ...
Logex = (x - 1) - (1/2)*(x - 1)2 +
(1/3)*(x - 1)3 - ...
Eric's Treasure Troves of Science contains
the above, and much more.
|
| x (cycle) | y = x3 | 1st dif | 2nd dif | 3rd dif | 4th dif | ||||||||||||||||||||||||||||||||||||
| 0 | 0. | . | . | . | . | ||||||||||||||||||||||||||||||||||||
| . | . | 1 | . | . | . | ||||||||||||||||||||||||||||||||||||
| 1 | 1 | . | 6 | . | . | ||||||||||||||||||||||||||||||||||||
| . | . | 7 | . | 6 | . | ||||||||||||||||||||||||||||||||||||
| 2 | 8 | . | 12 | . | 0
| . | . | 19 | . | 6 | .
| 3 | 27 | . | 18 | . | 0
| . | . | 37 | . | 6 | .
| 4 | 64 | . | 24 | . | .
| . | . | 61 | . | . | .
| 5 | 125 | . | . | . | .
| |
| cycle
(x) | acc#1
(y = x3) | acc#2 | acc#3 | acc#4 | acc#5 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 6 | 6 | 0 |
| 1 | 1 | 7 | 12 | 6 | 0 |
| 2 | 8 | 19 | 18 | 6 | 0 |
| 3 | 27 | 37 | 24 | 6 | 0 |
| 4 | 64 | 61 | 30 | 6 | 0 |
| 5 | 125 | 91 | 36 | 6 | 0 |
| 6 | 216 | 127 | 42 | 6 | 0 |
| 7 | 343 | 169 | 48 | 6 | 0 |
If you have comments or suggestions, Send e-mail
to Ed Thelen
Doran Swade talk Stanford
Last update March 6, 2003
Back to Nike Missile Home Page