Talk:Difference engine

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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)


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)

No, so far as I know there isn't, except the beliefs of the team who made the reproduction. There are other potential explanations, but they would be personal opinions, and therefore not appropriate for Wikipedia. Also one could argue that the team who made the reproduction are better qualified to comment on Babbage's personality than anyone else - they lived and breathed Babbage-mechanics for a long period! It is a question of Babbage's work-habits whether he would deliberately obfuscate the drawings to avoid competition, or whether the "errors" are actually that the design on paper couldn't keep up with Babbage's ideas in his head, so the drawings contain inconsistencies through their not all being prepared on exactly the same day. Drawing 1 contains features based on Babbages's thoughts on day 1, drawing 2 contains features based on his newer ideas from day 2, which require changes in the drawings from day 1, which never got redrawn, because by day 3, he was already onto further improvements. As I say, this is random conjecture not appropriate for an encyclopedia 149.155.219.44 (talk) 16:15, 15 December 2014 (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)

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)

Please make this article inclusive[edit]

Hello. I am not a Wikipedia editor. I am however a professional teacher who came to find out what the Difference Engine is. The introduction to the article is written to a level more suited to the preamble to a PhD dissertation. I haven't the faintest idea what it means. I came here looking for knowledge and you guys simply can't keep your big words in your pants for even an introduction. Congratulations - you understand it. The people you supposedly wrote it for haven't got a clue.... Please sort this out before you disappear up your own internal affairs. Off to consult Britannica. THIS IS AN ENCYLOPEDIA for people to learn from, not for you to show how clever you are!!!!

As no reply was given to this very serious request i am afraid that I decided to vandalise the article for which I apologise. The vandalism took the form of the following paragraph placed at the beginning of the article:

"This first paragraph is an anonymous and deliberate "vandalisation". The following article is incomprehensible to users of Wikipedia who do not have exceedingly high levels of Mathematical Knowledge on which to build further learning. Despite a request on the Talk Page for months, no reply has been received and no work done to resolve this matter. The author of this regrettable vandalisation notwithstanding requests that there be at least an introduction to this article that explains in plain English what the purposes and functions of the Difference Engine are so that the Wikipedia user can continue deeper into the article with some sort of awareness of the system and its purposes. The author regrets the vandalism." — Preceding unsigned comment added by 217.44.205.7 (talk) 08:12, 20 July 2015 (UTC)

Photo requests of the Difference Engine[edit]

I'm arranging a visit to photograph the Difference Engine at Intellectual Ventures in Bellevue, Washington in conjunction with Wikinews. Does anyone have specific parts of the machine I should try to photograph, particularity those we haven't seen or are not normally visible to the public? --Dennis Bratland (talk) 23:09, 15 February 2016 (UTC)

Spiral arms that carry the 1 from a number wheel below to the one above it

Turing completeness?[edit]

Is the difference engine Turing complete? More to the point, is there a source that specifies whether or not it is, and would someone please be so kind as to add it into the article? Mattman00000 (talk) 23:57, 28 March 2017 (UTC)

DE isn't programmable (beside setting initial values to the columns.), so it's most likely not Turing complete. — Preceding unsigned comment added by 89.25.210.104 (talk) 19:35, 8 May 2018 (UTC)
Well, I will try to prove it not to. A Turing machine must have the ability to create a loop(Just like Brainfuck), but there is no evidence that it can create a loop. Also, it is in a mechanical sequence, so it can never implement all of the Turing-machines. The sequences are already built-in, so we can't program it(without putting values inside, and there is no way here explained to do that). So, the difference machine is not Turing-complete. Also, if the above doesn't work, a Turing-machine must have the ability to halt(in at least some way), but it never halts. Also, it said that the columns are marked from 1 to N, so the columns are obviously limited in size, which is not infinite, as in the Turing-machine.

External links video proposition[edit]

--89.25.210.104 (talk) 01:25, 16 February 2018 (UTC)

Title spelling[edit]

Why Difference engine, but Analytical Engine? Smeagol 17 (talk) 19:04, 6 November 2019 (UTC)