Project Gutenberg #57532
Passages from the Life of a Philosopher
Charles Babbage
1864Babbage's autobiography and account of his calculating engines, prepared chapter by chapter from Project Gutenberg HTML.
Project Gutenberg #57532 Public domain in the United States Cover source Local typographic cover created for MojiMori from public-domain source metadata
188
words at B2 or above
A1
A2
B1
B2
C1
C2
C2+
highlighted
at or above your level
Missing dictionary data: 10 unique words are not in the dictionary data yet. Amber marks show where they appear.
nature. Whatever formula it is required to develop, the law of its development must be communicated to it by two sets of cards. When these have been placed, the engine is special for that particular formula. The numerical value of its constants must then be put on the columns of wheels below them, and on setting the Engine in motion it will calculate and print the numerical results of that formula. {119}
Every set of cards made for any formula will at any future time recalculate that formula with whatever constants may be required.
Thus the Analytical Engine will possess a library of its own. Every set of cards once made will at any future time reproduce the calculations for which it was first arranged. The numerical value of its constants may then be inserted.
It is perhaps difficult to apprehend these descriptions without a familiarity both with analytical forms and mechanical structures. I will now, therefore, confine myself to the mathematical view of the Analytical Engine, and illustrate by example some of its supposed difficulties.
An excellent friend of mine, the late Professor MacCullagh, of Dublin, was discussing with me, at breakfast, the various powers of the Analytical Engine. After a long conversation on the subject, he inquired what the machine could do if, in the midst of algebraic operations, it was required to perform logarithmic or trigonometric operations.
〈ITS USE OF TABLES.〉
My answer was, that whenever the Analytical Engine should exist, all the developments of formula would be directed by this condition—that the machine should be able to compute their numerical value in the shortest possible time. I then added that if this answer were not satisfactory, I had provided means by which, with equal accuracy, it might compute by logarithmic or other Tables.
〈DISCOVERS A MISTAKE.〉
I explained that the Tables to be used must, of course, be computed and punched on cards by the machine, in which case they would undoubtedly be correct. I then added that when the machine wanted a tabular number, say the logarithm of a given number, that it would ring a bell and then stop itself. On this, the attendant would look at a certain part of the machine, and find that it wanted the logarithm of a given {120} number, say of 2303. The attendant would then go to the drawer containing the pasteboard cards representing its table of logarithms. From amongst these he would take the required logarithmic card, and place it in the machine. Upon this the engine would first ascertain whether the assistant had or had not given him the correct logarithm of the number; if so, it would use it and continue its work. But if the engine found the attendant had given him a wrong logarithm, it would then ring a louder bell, and stop itself. On the attendant again examining the engine, he would observe the words, “Wrong tabular number,” and then discover that he really had given the wrong logarithm, and of course he would have to replace it by the right one.
Upon this, Professor MacCullagh naturally asked why, if the machine could tell whether the logarithm was the right one, it should have asked the attendant at all? I told him that the means employed were so ridiculously simple that I would not at that moment explain them; but that if he would come again in the course of a few days, I should be ready to explain it. Three or four days after, Bessel and Jacobi, who had just arrived in England, were sitting with me, inquiring about the Analytical Engine, when fortunately my friend MacCullagh was announced. The meeting was equally agreeable to us all, and we continued our conversation. After some time Bessel put to me the very same question which MacCullagh had previously asked. On this Jacobi remarked that he, too, was about to make the same inquiry when Bessel had asked the question. I then explained to them the following very simple means by which that verification was accomplished.
〈KNOWS WHAT IT WANTS.〉
Besides the sets of cards which direct the nature of the operations to be performed, and the variables or constants {121} which are to be operated upon, there is another class of cards called number cards. These are much less general in their uses than the others, although they are necessarily of much larger size.
Any number which the Analytical Engine is capable of using or of producing can, if required, be expressed by a card with certain holes in it; thus—
NUMBER. TABLE. 2 3 0 3 3 6 2 2 9 3 9 • • ◊ • • • • • • • • • • ◊ • • • • • • • • ◊ • ◊ • • • ◊ ◊ • • • ◊ ◊ ◊ ◊ ◊ • ◊ ◊ • ◊ • ◊ ◊ ◊ ◊ ◊ • ◊ ◊ • ◊ • ◊ ◊ ◊ ◊ ◊ • ◊ ◊ • ◊ • ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ • ◊ • ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ • ◊ • ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ • ◊ •
The above card contains eleven vertical rows for holes, each row having nine or any less number of holes. In this example the tabular number is 3 6 2 2 9 3 9, whilst its number in the order of the table is 2 3 0 3. In fact, the former number is the logarithm of the latter.
The Analytical Engine will contain,
1st. Apparatus for printing on paper, one, or, if required, two copies of its results. 2nd. Means for producing a stereotype mould of the tables or results it computes. 3rd. Mechanism for punching on blank pasteboard cards or metal plates the numerical results of any of its computations.
〈STOPS AND RINGS A BELL.〉
Of course the Engine will compute all the Tables which {122} it may itself be required to use. These cards will therefore be entirely free from error. Now when the Engine requires a tabular number, it will stop, ring a bell, and ask for such number. In the case we have assumed, it asks for the logarithm of 2 3 0 3.
When the attendant has placed a tabular card in the Engine, the first step taken by it will be to verify the number of the card given it by subtracting its number from 2 3 0 3, the number whose logarithm it asked for. If the remainder is zero, then the engine is certain that the logarithm must be the right one, since it was computed and punched by itself.
Thus the Analytical Engine first computes and punches on cards its own tabular numbers. These are brought to it by its attendant when demanded. But the engine itself takes care that the right card is brought to it by verifying the number of that card by the number of the card which it demanded. The Engine will always reject a wrong card by continually ringing a loud bell and stopping itself until supplied with the precise intellectual food it demands.
It will be an interesting question, which time only can solve, to know whether such tables of cards will ever be required for the Engine. Tables are used for saving the time of continually computing individual numbers. But the computations to be made by the Engine are so rapid that it seems most probable that it will make shorter work by computing directly from proper formulæ than by having recourse even to its own Tables.
The Analytical Engine I propose will have the power of expressing every number it uses to fifty places of figures. It will multiply any two such numbers together, and then, if required, will divide the product of one hundred figures by number of fifty places of figures. {123}
〈ARITHMETICAL DIFFICULTIES.〉
Supposing the velocity of the moving parts of the Engine to be not greater than forty feet per minute, I have no doubt that
Sixty additions or subtractions may be completed and printed in one minute. One multiplication of two numbers, each of fifty figures, in one minute. One division of a number having 100 places of figures by another of 50 in one minute.
In the various sets of drawings of the modifications of the mechanical structure of the Analytical Engines, already numbering upwards of thirty, two great principles were embodied to an unlimited extent.
1st. The entire control over arithmetical operations, however large, and whatever might be the number of their digits. 2nd. The entire control over the combinations of algebraic symbols, however lengthened those processes may be required. The possibility of fulfilling these two conditions might reasonably be doubted by the most accomplished mathematician as well as by the most ingenious mechanician.
The difficulties which naturally occur to those capable of examining the question, as far as they relate to arithmetic, are these,—
(a). The number of digits in each constant inserted in the Engine must be without limit. (b). The number of constants to be inserted in the Engine must also be without limit. (c). The number of operations necessary for arithmetic is only four, but these four may be repeated an unlimited number of times. (d). These operations may occur in any order, or follow an unlimited number of laws. {124}
〈ALGEBRAICAL DIFFICULTIES.〉
The following conditions relate to the algebraic portion of the Analytical Engine:—
(e). The number of litteral constants must be unlimited. (f). The number of variables must be without limit. (g). The combinations of the algebraic signs must be unlimited. (h). The number of functions to be employed must be without limit.
This enumeration includes eight conditions, each of which is absolutely unlimited as to the number of its combinations.
Now it is obvious that no finite machine can include infinity. It is also certain that no question necessarily involving infinity can ever be converted into any other in which the idea of infinity under some shape or other does not enter.
It is impossible to construct machinery occupying unlimited space; but it is possible to construct finite machinery, and to use it through unlimited time. It is this substitution of the infinity of time for the infinity of space which I have made use of, to limit the size of the engine and yet to retain its unlimited power.
(a). I shall now proceed briefly to point out the means by which I have effected this change.
〈LARGER NUMBERS TREATED.〉
Since every calculating machine must be constructed for the calculation of a definite number of figures, the first datum must be to fix upon that number. In order to be somewhat in advance of the greatest number that may ever be required, I chose fifty places of figures as the standard for the Analytical Engine. The intention being that in such a machine two numbers, each of fifty places of figures, might be multiplied together and the resultant product of one hundred places might then be divided by another number of fifty {125} places. It seems to me probable that a long period must elapse before the demands of science will exceed this limit. To this it may be added that the addition and subtraction of numbers in an engine constructed for n places of figures would be equally rapid whether n were equal to five or five thousand digits. With respect to multiplication and division, the time required is greater:—
Thus if a . 1050 + b and a′ . 1050 + b′ are two numbers each of less than a hundred places of figures, then each can be expressed upon two columns of fifty figures, and a, b, a′, b′ are each less than fifty places of figures: they can therefore be added and subtracted upon any column holding fifty places of figures.
The product of two such numbers is—
a a′ 10100 + (a b′ + a′ b) 1050 + b b′.
This expression contains four pair of factors, a a′, a b′, a′ b, b b′, each factor of which has less than fifty places of figures. Each multiplication can therefore be executed in the Engine. The time, however, of multiplying two numbers, each consisting of any number of digits between fifty and one hundred, will be nearly four times as long as that of two such numbers of less than fifty places of figures.
The same reasoning will show that if the numbers of digits of each factor are between one hundred and one hundred and fifty, then the time required for the operation will be nearly nine times that of a pair of factors having only fifty digits.
Thus it appears that whatever may be the number of digits the Analytical Engine is capable