Talk:Difference engine

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Mathematics (Rated B-class, Mid-importance)
WikiProject Mathematics
This article is within the scope of WikiProject Mathematics, a collaborative effort to improve the coverage of Mathematics on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Mathematics rating:
B Class
Mid Importance
 Field: General (historical)
WikiProject Computing (Rated B-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
 
WikiProject London (Rated B-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject London, a collaborative effort to improve the coverage of London on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
 

Additional extension for the display of DE2[edit]

I don't have a written source, but a senior docent working at the Mountain View Computer History Museum said today that Nathan Myhrvold is extending his loan of the DE2 again (to the end of 2010). Should I change the article now, or wait for the museum to update its site? Seijihyouronka (talk) 04:28, 10 January 2010 (UTC)

Novel?[edit]

In the novel, did they assume that difference engines took over or analytical engines? A world full of difference engines wouldn't be too exciting I'm afraid.


I don't have a copy with me, but I believe it was various Babbage engines, from difference engines to analytical engines and beyond. --The Cunctator

Plans?[edit]

Does anyone know where I might find plans of either engines?

BrentB

Adding and subtracting?[edit]

The example of the polynomial is not correct. It states: 'A difference engine only needs to be able to subtract'. Though, the Difference Engine could only add. What's wrong is that the differences in the second column (column of 1st difference) are not subtracted correctly and need a minus sign. SvenPB 19:24, 6 August 2005 (UTC) (edit Jan'09: fixed, thanks Dickguertin)

I would also like to add that transcendental functions can only be approximated by polynomials. And thus in those cases you'll not find the constant value at the end. In those cases you can only do so good as the number of columns in the difference engine. For example a sine on the difference engine can only be calculated to about PI/2 or so. After that it will just disapear into plus or minus infinity. SvenPB (talk) 15:06, 11 May 2008 (UTC)

That is not correct. It is possible to produce appropriate polynomial approximations for any portion of the domain of the sine functions. However, a single approximation will not be suitable for the entire domain. That is true for many other transcendental functions as well, including logarithms. This was well-known in Babbage's time; even with the Difference Engine it still would have been necessary for mathematicians to derive the appropriate polynomial approximations for various portions of the domain, and use each polynomial for only a portion of the tables being generated. --Brouhaha (talk) 20:01, 12 May 2008 (UTC)
That is exactly the same. As the second difference of a simple x^2 is a constant being 2, this function can be calculated without error. For trancendental functions, you'll not find such a beautiful constant and you're dependent on the number of columns: the lesser columns the sooner major deviations occur. Then you'll have to recalculate your differences and reprogram the column to expand your domain. Reprogramming needs human intervention and is a manual job. SvenPB (talk) 14:12, 11 January 2009 (UTC)

The difference engine could both add and substract, using the trick of adding negative numbers. The engine has no signs for numbers so you have to express them in arithmetical nine's complement (e.g. -6 would be 999999999999994).

Example:

You want to calculate the height of a rock being thrown. For simplicity, asume the engine has only 4 digits per number.

  • Display Column = 0000 (initial height, floor level)
  • First D.Column = 0005 (initial speed, upwards
  • Second D. Column= 9998 (acceleration = -2)

This yields this:

0005 0005 9998

0005 0003 9998

0008 0003 9998

0008 0001 9998

0009 0001 9998

0009 9999 9998

0008 9999 9998

0008 9996 9998

...and so on. The final list would be 0 5 8 9 8 5 0 -7 etc. RedNifre (talk) 21:22, 26 June 2008 (UTC)

Yes ok, but the mechanism is an adder and the subtraction is a trick. Then you're not using 9's complement, but 10's. Which is in fact 9's complement plus 1 (e.g. -0029 = 9970 + 0001 = 9971). Finaly, there's no mechanism in the difference engine to convert negative numbers to something readable. If printed, the difference engine would print 9971 instead of -(0028 + 0001) = 0029 SvenPB (talk) 14:52, 11 January 2009 (UTC)

But can it run "Crysis"? —Preceding unsigned comment added by 76.174.19.121 (talk) 02:25, 7 June 2010 (UTC)

Method of differences?[edit]

This 'method of differences' looks a bit like differential calculus to me. Is that wrong? E.g.: the first column is the function; the 2nd is the 1st derivative, and the 3rd is the 2nd derivative. Note that the third column of a 2nd-degree polynomial is constant, like the 2nd derivative. --Taejo 12:52, 27 August 2005 (UTC)

The "method of differences" uses difference equations; "differential calculus" uses differential equations. They are very similar, except the first uses finite steps and the second infinitesimal steps. -- RTC 20:07, 7 September 2005 (UTC)

Historical information?[edit]

I'm not a computer science major, an engineer or anything of that sort, but this article seems terribly incomplete to me. There's no historical information (when was it designed, why wasn't it built), there's no discussion of the engineering principles. Cansomeone please work on this? Zaklog 03:01, 12 February 2006 (UTC)

I've gone through the history section and added a paragraph on Babbage's work on the development of the Difference engine. It is brief but should explain the basics of Babbage's efforts. As a result I also re-wrote the other parts of the section to improve the flow. I added a note about how his work on the Analytical engine helped improve the design of Difference engine #2. I also edited the part of the history section where it talked about the printer on the Difference engine #2 that was built in 1991. Wanted to make it clear that at the time Babbage created his design, humans were also doing the calculations for the tables but that the article was correct that the real concern was errors in printing. Japenfold (talk) 02:51, 25 October 2011 (UTC)

student[edit]

im doing a power point on this topic i was wondering if anyone could plz add the history of the people's live's involved with the machine? thnx

-- Be BOLD. :-)

Ha ha. I have an assignment due, I was wondering if anyone could plz do it for me? Thnx --Be EXCELLENT coz I need an A to pass.154.5.40.122 (talk) 13:16, 10 December 2011 (UTC)

Now there are two[edit]

http://www.computerweekly.com/Articles/2008/03/31/230058/babbages-vintage-supercomputer-heads-to-us.htm
http://www.electronicsweekly.com/Articles/2008/04/01/43442/babbages-difference-engine-heads-for-california.htm
http://www.wired.com/gadgets/miscellaneous/multimedia/2008/04/gallery_babbage
Conrad T. Pino (talk) 02:51, 10 April 2008 (UTC)

Rather than add drum one to two, then two to three, and so on - "only a 25 per cent use of the machine", said Swade, all the odds are simultaneously added to the evens on one half cycle, then all the evens are added to the odds on the other half cycle. See Wikipedia for a more detailed description.

Electronics Weekly

Nice to see someone reads us. --Petri Krohn (talk) 19:20, 11 January 2009 (UTC)

Intentional Error[edit]

Is there any documented evidence of the notion that the errors found in Babbage's plans were intentional mistakes--a sort of insurance against patent theft? And if so, should the article reflect that in its coverage of the errors? I've heard this idea from many a good mind, but no one has offered evidence. O0drogue0o (talk) 09:38, 17 September 2008 (UTC)

Pipeline Method[edit]

I have removed the folowing section from the article and restored my original text in section Difference engine#Initial values. I have done this for two reasons:

  1. This is not encyclopedic, it tryes to "demonstrate these concepts" through the use of examples.
  2. I do not understand any of it.

-- Petri Krohn (talk) 20:50, 11 January 2009 (UTC)

P.S. - Searching for "Pipeline Method" "Difference engine" -wikipedia produces no results. -- Petri Krohn (talk) 22:10, 11 January 2009 (UTC)

Initial values and Pipeline Method[edit]

The Babbage Difference Engine is designed to calculate a new result using a "pipeline method" which requires an initial setup involving "staggered steps". To demonstrate these concepts, consider the following polymomial:

   R = X3 -2X2 + 1

Compute the first N+1 results (R) where N is the highest exponent in the polynomial, starting at any value of X. In this case, we'll start at X = 1 and calculate four consecutive results:

X     Result    Diff1    Diff2   Diff3
1       0         1        8       6
2       1         9       14       6
3      10        23
4      33

This table also shows the differences between consecutive values in a column written into the column to its right. Thus, Diff1(n) = Result(n+1) - Result(n), Diff2(n) = Diff1(n+1) - Diff1(n), and Diff3(n) = Diff2(n+1) - Diff2(n). For a third-order polymonial, Diff3 is a constant, which can be propagated down that column.

The initial values for a pipeline are Result(2), Diff1(2), Diff2(1), and Diff3(1). These values are highlighted in bold in the table above. Aligning them in a straight line, and applying a four-step Babbage cycle:

Step  Result    Diff1    Diff2   Diff3
         1        9        8       6       Initial values for this cycle.
  1    c 0        0      c 4       0       Add Diff1 to Result, Diff3 to Diff2, c=carry
  2     10        9       14       6       Propagate carries, restore Diff1 & Diff3.
  3      0     c 13        0       6       Send Result to printer, add Diff2 to Diff1
  4     10       23       14       6       Propagate carry, restore Result & Diff2

Several carries can occur in any add, but in this example, only one occurs for any number. In Step 1, 9+1 = 0 with a carry, and, 6+8 = 4 with a carry. Step 2 increments the next higher digit for each carry, yielding 10 and 14. Note that applying a carry can cause another carry on the incremented value, as when 9 becomes 0 with a carry. That's why the carry mechanism is a spiral, to pass generated carries up to higher levels. The carry for Diff1 on Step 3 is from 4+9 = 3. The 1 from 14 becomes the 1 in 13. When step 4 occurs, the carry is applied to the 1, and it becomes 2, so 13 becomes 23.

At the end of the four steps, we have a new set of staggered steps, which are shown in italic in the calculation table. Repeat the four steps beginning with 10, 23, 14, 6 replacing 1, 9, 8, 6. You'll get: 33, 43, 20, 6, with 33 and 43 on the X=4 level, 20 and 6 on X=3 level. Every repetition of these four steps obtains and prints another Result.



Photos from of version 2 from computer history[edit]

I have a set of photos that I would be happy to contribute to the article if people would like to add them. The set is here: http://www.flickr.com/photos/0x0000org/sets/72157605376240530/

The photos are of the Difference Engine No. 2 exhibit at the Computer History Museum. —Preceding unsigned comment added by Wikiwikimoore (talkcontribs) 23:57, 17 January 2009 (UTC)

Curve fitting[edit]

I don't understand this paragraph. The polynomials for the functions that Babbage was planning to use were perfectly known in his time. The paragraph is talking about statistical correlation or something. SvenPB (talk) 11:39, 6 February 2009 (UTC)

No. -- Petri Krohn (talk) 14:25, 7 May 2009 (UTC)

Method of Differences Table Incorrect[edit]

The column headers in the table are incorrect. p(x) for x=0 is indeed 2.00 but p(x+1) is 1.00 (i.e., 2^2 - 3 + 2). The column headers should instead read p(x+0.1) not p(x+1). Ross Fraser (talk) 22:40, 5 April 2009 (UTC)

Incorrect claim[edit]

The sentence: Functions that are not polynomial functions but are infinitely differentiable can be expressed as power series, for example as a Taylor series. is wrong as an example of function e-1/x2 fox x> 0 and 0 for x <= 0 shows. —Preceding unsigned comment added by 4.143.95.100 (talk) 12:10, 14 June 2009 (UTC)

Manufacturing tolerances.[edit]

Look at a Holtzapffel lathe and the high precision work possible with one. Late 18th (first lathe sold by the company June 31st, 1795) and 19th century equipment was capable of very precise tolerances. It was mostly a lack of funding and inability to envision what the thing would be useful for by those in positions to provide the funding, which prevented Babbage from getting his engines built. Bizzybody (talk) 05:57, 30 August 2010 (UTC)

Babbage built a small model of the difference engine (although it was too small to produce tables) so the precision needed for manufacture was possible. Campbell-Kelly and Aspray (in Computer: A History of Information Machine) suggest it was telling potential fund raisers that after building the difference engine he should be funded to build the Analytical Engine and this undermined confidence in the project. — Preceding unsigned comment added by Japenfold (talkcontribs) 00:55, 21 September 2011 (UTC)

Performance?[edit]

I'd be very curious to see some performance and timing data. Thanks! --Brian Fenton (talk) 21:12, 16 October 2010 (UTC)

Converging polynomials[edit]

All polynomials of finite order "converge" so I don't really understand to what the caption of the first photo is referring when it uses the phrase "converging polynomials." Is there some specific technical meaning that the author of this caption intended or is it merely pedantry? Shall I delete the word "converging?"154.5.40.122 (talk) 06:42, 4 December 2011 (UTC)

Method of differences[edit]

In the table: p(x) = 2x^2 − 3x + 2 when x=2, P(2)=4 not 12920 88.104.128.60 (talk) 14:44, 4 April 2012 (UTC)

Why is there no mention of Ada Lovelace in this article? — Preceding unsigned comment added by Cet3091 (talkcontribs) 19:26, 21 October 2013 (UTC)

No information about the prototype[edit]

This article makes no mention of Babbage's working prototype, which is surprising. He spent about 10 years building the prototype (with help from Joseph Clement) and it was apparently capable of doing calculations. Here is an excerpt from Lady Byron's description of it in 1833: "We both went to see the thinking machine (for so it seems) last Monday. It raised several Nos. to the 2nd and 3rd powers, and extracted the root of a Quadratic equation." Kaldari (talk) 21:56, 10 November 2013 (UTC)

May be worth noting as a weblink[edit]

Maybe worth noting in the article:

http://acarol.woz.org/difference_engine.html

I think it's hilarious... — Preceding unsigned comment added by 84.135.18.129 (talk) 15:59, 17 May 2014 (UTC)