- Prototype Fragments from Babbage’s First Difference Engine
Being a computer scientist and an amateur historian, I have always had an admiration for Babbage’s struggles and achievements. As such, I have had the opportunity to examine all the known fragments from the first difference engine as well as study the second difference engine. While trying to reach an operational understanding of the simplest of these machines, the first difference engine, I stumbled on the findings I report here.
Specifically, the Museum of the History of Science in Oxford owns a rare assembly related to Charles Babbage’s first difference engine. But in addition to the conventional parts found in fragments of the difference engine at other museums, this assembly contains “intruder parts” that do not fit but are closely related to the first difference engine (see Figure 1). I believe that some of these parts are relics from a prototype of the first difference engine, which I call the Difference Engine 0.
The story of Charles Babbage’s difference and analytical engines has been told many times.5,10,14 Until recently the focus has mainly been on his first difference engine (hereafter referred to as DE1, of which the largest fragment, completed in 1832, is exhibited in the Science Museum in London), the modern constructions of his second difference engine (exhibited in the Science Museum and in Mountain View, California), and Babbage’s projects for an analytical engine.
A difference engine is based on the calculus of finite differences and is aimed at computing the values of mathematical tables. (Silvestre François Lacroix described this method in a book Babbage, John Herschel, and George Peacock translated and then published in 1816.13) On any small interval, the table of a continuous function can be approximated by a polynomial, and it is therefore sufficient to be able to tabulate polynomial functions. Consider for instance the polynomial x2 + x + 41. If we write the values of this polynomial for x = 0, x = 1, x = 2, and so on in a vertical column, we can write next to it the first differences Δ1, and then the second differences Δ2, and so on (see Table 1).
For any polynomial, if we iterate the process, we end up with the last column being constant; here it is 2. We can then easily compute the polynomial’s values using the values at the top of each column, adding Δ2 to Δ1 to obtain the new Δ1, adding Δ1 to P(x) to obtain the next value P(x + 1), and so forth.
Babbage’s difference engines did just that. They stored initial values for P and a number of differences (Δ1, Δ2, and so on) and then would add these differences incrementally and produce tabulated values one by one. By automating this process, which until then was done by hand and hence prone to error, Babbage sought to produce perfect tables for astronomers, navigation, bankers, and others.
The story usually starts with Babbage’s first difference engine (1823–1833), but a short time before that, Babbage designed a small model, a prototype that was built by several workmen.15 Like the later machines, this first machine was made with a number of metal parts that enabled the computation of differences. Because the same operations are performed on each digit, the components of such a machine are naturally repeated; this is true for all difference engines, as well as for other calculating machines, up to the most recent microprocessors, of course. This explains why the various fragments of DE1, albeit located at different places, are nearly identical. Yet, DE1 fragments are demonstration fragments and not pieces of a larger puzzle that may have to be reconstructed (which I explain in more detail later.)
Bruce Collier has described the genesis of Babbage’s machines and, in particular, this prototype (pp. 30–31).10 The prototype itself was considered lost, however, and Nicholas K. Taylor writes that it “has become a missing chapter in the history of calculating machines.”16
The first model
Babbage first described his difference engine in a paper he read to the Astronomical Society of London on 14...