Slashdot Mirror


Building a 5-Ton Calculator From 19th-Century Plans

alphadogg writes "Starting in May, many will have the opportunity to see computing done the old-fashioned way: with lots of gears, a big crank, and some muscle. The Computer History Museum in Mountain View, CA, will unveil a new construction, the first in the US, of the 19th-century British mathematician Charles Babbage's Difference Engine No. 2, an improved version of his earlier design for a mechanical digital calculator. It weighs in at two tons more than the Difference Engine built in 1991 at London's Science Museum. Microsoft millionaire Nathan Myhrvold commissioned and paid for the US model."

11 of 218 comments (clear)

  1. Re:What if... by Anonymous Coward · · Score: 5, Informative

    As I recall from some of the mechanical calulators I used several decades ago, division was performed by repeated subtraction. I don't remember trying to divide by zero, but my guess is that you'd have to keep turning the crank forever . . .

  2. Re:What if... by evanbd · · Score: 5, Informative

    It's far more specialized than that. It basically computes values of a polynomial from a starting set (interpolate / extrapolate). It doesn't have an explicit fexible divide operation. Exactly what sort of error you get out is going to depend on how you carry out the division, but most likely you would do exp(log(a) - log(b)), which would produce a very large negative number for log(b) (an incorrect result, obviously), and a very large number for the result. It might or might not overflow, depending on the precision of your approximating polynomials for log and exp at the values of interest.

  3. Re:Only the difference engine? by setagllib · · Score: 3, Informative

    Err, what, it's not at all named after Alan Turing, one of the fathers of fundamental computation theory? Or is this a really bad joke?

    --
    Sam ty sig.
  4. Re:Only the difference engine? by flosofl · · Score: 3, Informative

    Before we had the formal concept of "programs" (as defined and refined by Backus and Naur), computation machines calculated numbers based on information fed into them on paper tape. A full set of instructions on paper-tape was called a "tour", and while the program was running the computation machine was said to be "touring" or "turing" (Fr). When the end of the tape was reached, the computation machine was said to be in the "turing complete" state (i.e. the tour was complete).
    Um...What?

    No. Turing Completeness describes a Universal Turing Machine that can emulate every possible computing device ever built. It was not named as such for "touring", but the Church-Turning thesis. As in Alan Turing.

    Babbage's Analytical Engine design would have pretty much met the definition of a Turing Complete machine.
    --
    "This calls for a very special blend of psychology and extreme violence" - Vyvyan "The Young Ones"
  5. Re:We'll know about four years after it's complete by Tablizer · · Score: 4, Informative

    [But does it run linux?] We'll know about four years after it's completed - when it gets done with the boot-up

    If that's all you want out of the experience, run Vista.

  6. Re:We'll know about four years after it's complete by AHuxley · · Score: 3, Informative

    4 years to get Ada working?

    --
    Domestic spying is now "Benign Information Gathering"
  7. Re:Only the difference engine? by Sir+Nimrod · · Score: 2, Informative

    The problem is that there are no complete plans for an Analytical Engine. Drawings and diagrams, yes, but nothing complete. For Difference Engine No. 2, the Science Museum had a (reasonably) complete set of plans. (They had to make a few tweaks, but they did everything they could to keep it in the spirit of the original design.)

    Doron Swade's book The Difference Engine: Charles Babbage and the quest to build the first computer is a marvelous read; it was published in the U.K. as The Cogwheel Brain. You may have to search for it, though, because it is evidently out of print. (We have a copy from the San Jose Public Library, and they have five other copies available.)

    Can't wait to see it running!

    --
    The United States of America: We mean well.
  8. How it works (it's not a general purpose computer) by Anonymous Coward · · Score: 4, Informative

    The Difference Engine is a specialized device which was designed to automate the calculation of tables of values of complex formulae. Such as trigonometric functions, logarithms, etc. The Difference Engine works by using a variant of the Taylor method to approximate complex functions using high order polynomials. It then calculates successive values of the polynomial function using the difference method. It's quite elegant in terms of making the most out of limited computing ability.

    Consider a simple polynomial like x^2 + 3*x. Now, take a few initial values of that function like so:

    f(0) = 0
    f(1) = 4
    f(2) = 10
    f(3) = 18
    f(4) = 28

    Now, take the difference between each value where x is increased by the same amount (equivalent to a crude approximation to the derivative of f):

    g(1) = f(1)-f(0) = 4
    g(2) = f(2)-f(1) = 6
    g(3) = f(3)-f(2) = 8
    g(4) = f(4)-f(3) = 10

    Now do the same with these differences (equivalent to taking the 2nd derivative):

    g(2) - g(1) = 2
    g(3) - g(2) = 2
    g(4) - g(3) = 2

    Now we see that the 2nd differences are all the same value, this is because this is a 2nd order polynomial. For a cubic polynomial it takes 3 sets of differences. Now, we can calculate the value of f for x=5 and higher values without the formula by adding the differences.

    g(5) = 2 + g(4) = 12

    f(5) = f(4) + g(5) = 28 + 12 = 40
    f(5) = 5^2 + 3*5 = 40

    etc.

    We can use exactly the same process to merely approximate functions based on a table of values, given we calculate the differences to a high enough order (i.e. produce a polynomial approximation of high enough order) to give reasonably accurate values. Meaning, taking differences as above to some nth degree from n initial input values and then calculating successive values has the effect of approximating that function with an nth degree polynomial.

    Babbage's Difference Engine No. 2 design is capable of calculating 7th order polynomials with 31 decimal digit numbers, which is sufficient to calculate trigonometric and logarithmic functions to very high precision. Using the Difference Engine one would need to manually calculate only 7 initial values, then use the Engine to automatically produce tables for the remainder of the values needed. Compared to the methods of the 19th century (where the term "computer" referred to a person given that job, not a device) this represented an enormous savings of labor, as well as an enormous increase in accuracy of the output, under the right conditions.

  9. See it while you can-limited time offer by hcdejong · · Score: 2, Informative

    According to this article (which also contains more detail on building and shipping the Engine), the machine will be on display for 6 months, then it will be moved to Myhrvold's home. So if you want to see it, don't wait too long.

    (I found another article which claims the Engine will be at the museum for a year. The CHM website doesn't have definitive data.)

    I saw the one at the Science Museum a few years ago, and it's awesome. Well worth a trip.

  10. Re:It's cool by Anonymous Coward · · Score: 1, Informative

    He didn't say it was Turing complete. He said it's turning complete. You crank the handle and it turns.

  11. Re:It's cool by Midnight+Thunder · · Score: 2, Informative

    yes, and we can all imagine a beowolf cluster of them, comparisons with automobile tonnage, and how in soviet russia, 2 tonn calculator uses YOU.

    I don't know what I'm doing wrong, but it always gives me 42.

    --
    Jumpstart the tartan drive.