Meccano Computing Machinery Logo

Difference Engines
Overview

     

Site Search:
The motivation at the beginning of the 19th century for the design of Charles Babbage's difference engines was the desire to be able to create absolutely accurate mathematical tables. Tables of standard mathematical functions such as sines, cosines, logarithms etc. were essential to astronomy and navigation (which at the time depended heavily on astronomical observations). Published tables were full of errors, either from mistakes made in the calculations themselves, or introduced in the typesetting and printing process. Many ships were lost because of the resulting errors in navigation. In a perhaps apocryphal statement when reviewing with John Herschel the errors in a newly computed set of tables, Babbage is supposed to have exclaimed "I wish to God these calculations could be done by steam!"

The method of differences is a technique for calculating tables, in which the vast majority of the calculation involves nothing more than simple addition or subtraction. The function to be tabulated is first approximated over some range by a polynomial. The degree of the polynomial depends on the desired accuracy of the table to be calculated, and on the range of the function being spanned by a single polynomial approximation.

The method was first applied by Baron Gaspard de Prony in France in the 1790's to produce the manuscripts for 18 volumes of tables of logarithms and trigonometrical functions calculated to between 14 and 29 decimal places. A few expert mathematicians determined the most appropriate formulas to use for the calculations, then a second group of lesser mathematicians used the formulas to compute sets of initial values for a third, much larger group of people, only skilled in simple arithmetic to do the vast bulk of the work. This third group was divided into two sets to perform the same calculations independently. Finally the second group was employed again to check the results by comparing the results from the two sets of calculations.

Babbage realized that the entire work of the third group could be eliminated by machinery, and further that since the calculations would be automatic, without the possibility of human error, much of the work of the second group could be dispensed with as well.