Page 1 of 2
Today we celebrate the birth of Charles Babbage, the man who in the 19th century invented calculating machines that, although they were never realised in his lifetime, are rightly see as the forerunners of modern programmable computers. This is the story of his life, his Difference Engine and Analytical Engine.
Can you imagine a steam -driven computer the size of a room?
No, far from it. A computer can be implemented using all sorts of technology - electromechanical (relays), valves, transistors and, most recently of all, integrated circuits.
The idea of a computer is independent of the hardware used to implemented it and a purely mechanical computer is just a feasible as a purely electronic one. Charles Babbage may never have built his computer but it was a computer - designed in metal and intended to be driven by a steam engine. A Victorian eccentric? No, the father of computing and a surprisingly modern thinker.
(December 26, 1791- October 18, 1871)
Charles Babbage was born in Surrey on Boxing Day 1791, the son of a banker. This may have been the source of his fascination with numbers but whatever the reason he occupied the Lucasian chair of mathematics at Cambridge from 1828 to 1839. To characterise Babbage as a mathematician is misleading because his interests were much more wide ranging - a polymath is closer.
In Babbage's day mathematics was capable of delivering in theory more than it could in practice. The reason was simply the difficulties in performing the huge amounts of arithmetic needed for tide prediction, navigation and life insurance risks to name but three important numerical problems of the time. Even a few tens of years ago mathematical tables of all sorts were commonplace.
Now it is cheaper, simpler and more reliable to calculate every result from scratch every time it is needed. Before the computer tables were vital but the only way to produce them was laborious and error prone using human effort. Sir John Herschel, the astronomer, said "an undetected error in a logarithmic table is like a sunken rock at sea" - dramatic but none the less true.
The solution to the problem was some kind of calculating aid but before the development of electrical science this is easier said than done. There had been mechanical calculating devices before Babbage. Perhaps the best known is the Pascaline, an arrangement of cogs and gears invented by Pascal in 1642. These machines may not have been powerful or reliable but they did show that it was possible to add and subtract using mechanical gear wheels to count up or down. (And we all know that multiplication is just repeated addition and division is just repeated subtraction.)
Babbage didn't just make a better mechanical calculator, however, he built a machine that would perform a specific type of calculation.
The task of producing almost any mathematical table can be reduced to evaluating a suitable polynomial. A polynomial is an expression that involves nothing but squares, cubes and so on of a value.
is a fourth order polynomial because the highest power that it involves is X^4. By selecting the order and the coefficients correctly you can make a polynomial fit most other functions reasonably well. This means that you can create a table by finding a polynomial that fits the function you are interested in reasonably well and then tabulating the polynomial. The only problem is that the polynomial involves lots of multiplications and additions and isn't the sort of thing that you want to spend your life tabulating.
This is where an interesting mathematical property of polynomials becomes important. For example, consider the simple polynomial X^3, i.e. X cubed. If you make a table of this function from 1 to N and then take the difference between each successive result you this is called the `1st difference'. Taking the difference between successive values in the 1st difference column gives the 2nd difference and so on. If you actually construct a difference table for X^3 you will see something like Table One. Notice that the result of the 3rd difference is a constant and so the fourth and subsequent differences would be zero. This isn't an accident. If you take differences of an nth order polynomial the nth and all subsequent differences vanish.
Well as I said an interesting property but how can it be useful? Suppose I ask you to now work out 6^3 - unaided by machine! You could start multiplying 6 but you already know the next value in the 3rd difference column of Table One, 6, and adding 6 to 24 gives the next value in the 2nd difference column, i.e. 30, and adding 30 to 61 gives the next value in the 1st difference column i.e. 91 and finally adding this the to the result of 5^3 gives the solution 216. So you managed to work out the result of 6 cubed by making three additions!
The whole method generalises to any polynomial of any degree. All you need are the first n results in the table from which you can work out the n-1 differences. Once you have these calculating the next and subsequent values in the table is just a matter of n regular additions.
You should be able to see that this procedure is ideal for use by a machine. It is also incredibly well suited to a mechanical implementation. All you have to do is build an adding mechanism and repeat it for each of the difference sums that you need. At the start of the calculation you would set the number wheels the values the differences and then simply turn the handle to get the next result and the next set of differences. An entire table could be produced by simply repeatedly turning the handle.