OF THE ANALYTICAL ENGINE.
Man wrongs, and Time avenges.
BYRON.—_The Prophecy of Dante._
Built Workshops for constructing the Analytical Engine — Difficulties
about carrying the Tens — Unexpectedly solved — Application of the
Jacquard Principle — Treatment of Tables — Probable Time required for
Arithmetical Operations — Conditions it must fulfil — Unlimited in
Number of Figures, or in extent of Analytical Operations — The Author
invited to Turin in 1840 — Meetings for Discussion — Plana, Menabrea,
MacCullagh, Mosotti — Difficulty proposed by the latter — Observations
on the Errata of Astronomical Tables — Suggestions for a Reform of
Analytical Signs.
The circular arrangement of the axes of the Difference Engine round
large central wheels led to the most extended prospects. The whole of
arithmetic now appeared within the grasp of mechanism. A vague glimpse
even of an Analytical Engine at length opened out, and I pursued with
enthusiasm the shadowy vision. The drawings and the experiments were
of the most costly kind. Draftsmen of the highest order were necessary
to economize the labour of my own head; whilst skilled workmen were
required to execute the experimental machinery to which I was obliged
constantly to have recourse.
In order to carry out my pursuits successfully, I had purchased a
house with above a quarter of an acre of ground in a {113} very
quiet locality. My coach-house was now converted into a forge and a
foundry, whilst my stables were transformed into a workshop. I built
other extensive workshops myself, and had a fire-proof building for my
drawings and draftsmen. Having myself worked with a variety of tools,
and having studied the art of constructing each of them, I at length
laid it down as a principle—that, except in rare cases, I would never
do anything myself if I could afford to hire another person who could
do it for me.
〈THE MECHANICAL NOTATION.〉
The complicated relations which then arose amongst the various parts of
the machinery would have baffled the most tenacious memory. I overcame
that difficulty by improving and extending a language of signs, the
Mechanical Notation, which in 1826 I had explained in a paper printed
in the “Phil. Trans.” By such means I succeeded in mastering trains of
investigation so vast in extent that no length of years ever allotted
to one individual could otherwise have enabled me to control. By the
aid of the Mechanical Notation, the Analytical Engine became a reality:
for it became susceptible of demonstration.
Such works could not be carried on without great expenditure.
The fluctuations in the demand and supply of skilled labour were
considerable. The railroad mania withdrew from other pursuits the most
intellectual and skilful draftsmen. One who had for some years been
my chief assistant was tempted by an offer so advantageous that in
justice to his own family he could scarcely have declined it. Under
these circumstances I took into consideration the plan of advancing
his salary to one guinea per day. Whilst this was in abeyance, I
consulted my venerable surviving parent. When I had fully explained the
circumstances, my excellent mother replied: “My dear son, you have
advanced {114} far in the accomplishment of a great object, which is
worthy of your ambition. You are capable of completing it. My advice
is—pursue it, even if it should oblige you to live on bread and cheese.”
This advice entirely accorded with my own feelings. I therefore
retained my chief assistant at his advanced salary.
〈CARRYING THE TENS BY ANTICIPATION.〉
The most important part of the Analytical Engine was undoubtedly
the mechanical method of carrying the tens. On this I laboured
incessantly, each succeeding improvement advancing me a step or two.
The difficulty did not consist so much in the more or less complexity
of the contrivance as in the reduction of the _time_ required to effect
the carriage. Twenty or thirty different plans and modifications had
been drawn. At last I came to the conclusion that I had exhausted the
principle of successive carriage. I concluded also that nothing but
teaching the Engine to foresee and then to act upon that foresight
could ever lead me to the object I desired, namely, to make the whole
of any unlimited number of carriages in one unit of time. One morning,
after I had spent many hours in the drawing-office in endeavouring to
improve the system of successive carriages, I mentioned these views
to my chief assistant, and added that I should retire to my library,
and endeavour to work out the new principle. He gently expressed a
doubt whether the plan was _possible_, to which I replied that, not
being able to prove its impossibility, I should follow out a slight
glimmering of light which I thought I perceived.
After about three hours’ examination, I returned to the drawing-office
with much more definite ideas upon the subject. I had discovered a
principle that proved the possibility, and I had contrived mechanism
which, I thought, would accomplish my object. {115}
I now commenced the explanation of my views, which I soon found were
but little understood by my assistant; nor was this surprising, since
in the course of my own attempt at explanation, I found several defects
in my plan, and was also led by his questions to perceive others. All
these I removed one after another, and ultimately terminated at a late
hour my morning’s work with the conviction that _anticipating_ carriage
was not only within my power, but that I had devised one mechanism at
least by which it might be accomplished.
Many years after, my assistant, on his return from a long residence
abroad, called upon me, and we talked over the progress of the
Analytical Engine. I referred back to the day on which I had made that
most important step, and asked him if he recollected it. His reply was
that he perfectly remembered the circumstance; for that on retiring to
my library, he seriously thought that my intellect was beginning to
become deranged. The reader may perhaps be curious to know how I spent
the rest of that remarkable day.
After working, as I constantly did, for ten or eleven hours a day,
I had arrived at this satisfactory conclusion, and was revising the
rough sketches of the new contrivance, when my servant entered the
drawing-office, and announced that it was seven o’clock—that I dined in
Park Lane—and that it was time to dress. I usually arrived at the house
of my friend about a quarter of an hour before the appointed time, in
order that we might have a short conversation on subjects on which
we were both much interested. Having mentioned my recent success, in
which my host thoroughly sympathized, I remarked that it had produced
an exhilaration of the spirits which not even his excellent champagne
could rival. Having enjoyed the society of Hallam, of Rogers, and of
some few {116} others of that delightful circle, I retired, and joined
one or perhaps two much more extensive reunions. Having thus forgotten
science, and enjoyed society for four or five hours, I returned home.
About one o’clock I was asleep in my bed, and thus continued for the
next five hours.
* * * * *
This new and rapid system of carrying the tens when two numbers are
added together, reduced the actual time of the addition of any number
of digits, however large, to nine units of time for the addition,
and one unit for the carriage. Thus in ten’s units of time, any two
numbers, however large, might be added together. A few more units of
time, perhaps five or six, were required for making the requisite
previous arrangements.
Having thus advanced as nearly as seemed possible to the minimum of
time requisite for arithmetical operations, I felt renewed power and
increased energy to pursue the far higher object I had in view.
To describe the successive improvements of the Analytical Engine would
require many volumes. I only propose here to indicate a few of its
more important functions, and to give to those whose minds are duly
prepared for it some information which will remove those vague notions
of wonder, and even of its impossibility, with which it is surrounded
in the minds of some of the most enlightened.
〈JACQUARD LOOM.〉
To those who are acquainted with the principles of the Jacquard loom,
and who are also familiar with analytical formulæ, a general idea of
the means by which the Engine executes its operations may be obtained
without much difficulty. In the Exhibition of 1862 there were many
splendid examples of such looms.
It is known as a fact that the Jacquard loom is capable of {117}
weaving any design which the imagination of man may conceive. It
is also the constant practice for skilled artists to be employed by
manufacturers in designing patterns. These patterns are then sent to
a peculiar artist, who, by means of a certain machine, punches holes
in a set of pasteboard cards in such a manner that when those cards
are placed in a Jacquard loom, it will then weave upon its produce the
exact pattern designed by the artist.
〈WEAVING FORMULÆ.〉
Now the manufacturer may use, for the warp and weft of his work,
threads which are all of the same colour; let us suppose them to be
unbleached or white threads. In this case the cloth will be woven all
of one colour; but there will be a damask pattern upon it such as the
artist designed.
But the manufacturer might use the same cards, and put into the warp
threads of any other colour. Every thread might even be of a different
colour, or of a different shade of colour; but in all these cases the
_form_ of the pattern will be precisely the same—the colours only will
differ.
The analogy of the Analytical Engine with this well-known process is
nearly perfect.
The Analytical Engine consists of two parts:—
1st. The store in which all the variables to be operated upon, as well
as all those quantities which have arisen from the result of other
operations, are placed.
2nd. The mill into which the quantities about to be operated upon are
always brought.
Every formula which the Analytical Engine can be required to compute
consists of certain algebraical operations to be performed upon given
letters, and of certain other modifications depending on the numerical
value assigned to those letters.
There are therefore two sets of cards, the first to direct the {118}
nature of the operations to be performed—these are called operation
cards: the other to direct the particular variables on which those
cards are required to operate—these latter are called variable cards.
Now the symbol of each variable or constant, is placed at the top of a
column capable of containing any required number of digits.
Under this arrangement, when any formula is required to be computed,
a set of operation cards must be strung together, which contain the
series of operations in the order in which they occur. Another set
of cards must then be strung together, to call in the variables into
the mill, the order in which they are required to be acted upon. Each
operation card will require three other cards, two to represent the
variables and constants and their numerical values upon which the
previous operation card is to act, and one to indicate the variable on
which the arithmetical result of this operation is to be placed.
But each variable has below it, on the same axis, a certain number of
figure-wheels marked on their edges with the ten digits: upon these
any number the machine is capable of holding can be placed. Whenever
variables are ordered into the mill, these figures will be brought in,
and the operation indicated by the preceding card will be performed
upon them. The result of this operation will then be replaced in the
store.
〈LAW OF DEVELOPMENT.〉
The Analytical Engine is therefore a machine of the most general
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_ . 10^{50} + _b_ and _a′_ . 10^{50} + _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′_ 10^{100} + (_a_ _b′_ + _a′_ _b_) 10^{50} + _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 of holding, if it is required to make all
the computations with _k_ times that number of digits, then it can be
executed by the same Engine, but in an amount of time equal to _k_^{2}
times the former. Hence the {126} condition (_a_), or the unlimited
number of digits contained in each constant employed, is fulfilled.
It must, however, be admitted that this advantage is gained at the
expense of diminishing the number of the constants the Engine can hold.
An engine of fifty digits, when used as one of a hundred digits, can
only contain half the number of variables. An engine containing _m_
columns, each holding _n_ digits, if used for computations requiring
_k_ _n_ digits, can only hold _m_ / _k_ constants or variables.
〈OF PUNCHING CARDS.〉
(_b_). The next step is therefore to prove (_b_), viz.: to show that
a finite engine can be used as if it contained an unlimited number
of constants. The method of punching cards for tabular numbers has
already been alluded to. Each Analytical Engine will contain one or
more apparatus for printing any numbers put into it, and also an
apparatus for punching on pasteboard cards the holes corresponding to
those numbers. At another part of the machine a series of number cards,
resembling those of Jacquard, but delivered to and computed by the
machine itself, can be placed. These can be called for by the Engine
itself in any order in which they may be placed, or according to _any
law_ the Engine may be directed to use. Hence the condition (_b_) is
fulfilled, namely: an _unlimited number of constants_ can be inserted
in the machine in an _unlimited_ time.
I propose in the Engine I am constructing to have places for only a
thousand constants, because I think it will be more than sufficient.
But if it were required to have ten, or even a hundred times that
number, it would be quite possible to make it, such is the simplicity
of its structure of that portion of the Engine.
〈A THOUSAND VARIABLES.〉
(_c_). The next stage in the arithmetic is the number of times {127}
the four processes of addition, subtraction, multiplication, and
division can be repeated. It is obvious that four different cards thus
punched
+ − × ÷
┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
│◊ ◊ ◊ │ │◊ ◊ ◊│ │◊ ◊ ◊│ │ ◊ ◊ ◊│
└───────┘ └───────┘ └───────┘ └───────┘
would give the orders for the four rules of arithmetic.
Now there is no limit to the number of such cards which may be
strung together according to the nature of the operations required.
Consequently the condition (_c_) is fulfilled.
(_d_). The fourth arithmetical condition (_d_), that the order
of succession in which these operations can be varied, is itself
_unlimited_, follows as a matter of course.
The four remaining conditions which must be fulfilled, in order to
render the Analytical Engine as general as the science of which it is
the powerful executive, relate to algebraic quantities with which it
operates.
The thousand columns, each capable of holding any number of less
than fifty-one places of figures, may each represent a constant or a
variable quantity. These quantities I have called by the comprehensive
title of variables, and have denoted them by V_{_n_}, with an index
below. In the machine I have designed, _n_ may vary from 0 to 999.
But after any one or more columns have been used for variables, if
those variables are not required afterwards, they may be printed upon
paper, and the columns themselves again used for other variables. In
such cases the variables must have a new index; thus, ^{_m_}V^{_n_}. I
propose to make _n_ vary from 0 to 99. If more variables are required,
these may be supplied by Variable Cards, which may follow each other
in unlimited succession. Each card will cause its symbol to be printed
with its proper indices. {128}
For the sake of uniformity, I have used V with as many indices as may
be required throughout the Engine. This, however, does not prevent the
printed result of a development from being represented by any letters
which may be thought to be more convenient. In that part in which the
results are printed, type of any form may be used, according to the
taste of the proposer of the question.
It thus appears that the two conditions, (_e_) and (_f_), which require
that the number of constants and of variables should be unlimited, are
both fulfilled.
The condition (_g_) requiring that the number of combinations of the
four algebraic signs shall be unlimited, is easily fulfilled by placing
them on cards in any order of succession the problem may require.
The last condition (_h_), namely, that the number of functions to
be employed must be without limit, might seem at first sight to be
difficult to fulfil. But when it is considered that any function of any
number of operations performed upon any variables is but a combination
of the four simple signs of operation with various quantities, it
becomes apparent that any function whatever may be represented by
two groups of cards, the first being signs of operation, placed in
the order in which they succeed each other, and the second group of
cards representing the variables and constants placed in the order of
succession in which they are acted upon by the former.
〈A FINITE MACHINE MAY MAKE UNLIMITED CALCULATION.〉
Thus it appears that the whole of the conditions which enable a
_finite_ machine to make calculations of _unlimited_ extent are
fulfilled in the Analytical Engine. The means I have adopted are
uniform. I have converted the infinity of space, which was required
by the conditions of the problem, into the infinity of time. The
means I have employed are in {129} daily use in the art of weaving
patterns. It is accomplished by systems of cards punched with various
holes strung together to any extent which may be demanded. Two large
boxes, the one empty and the other filled with perforated cards, are
placed before and behind a polygonal prism, which revolves at intervals
upon its axis, and advances through a short space, after which it
immediately returns.
A card passes over the prism just before each stroke of the shuttle;
the cards that have passed hang down until they reach the empty box
placed to receive them, into which they arrange themselves one over the
other. When the box is full, another empty box is placed to receive the
coming cards, and a new full box on the opposite side replaces the one
just emptied. As the suspended cards on the entering side are exactly
equal to those on the side at which the others are delivered, they
are perfectly balanced, so that whether the formulæ to be computed be
excessively complicated or very simple, the force to be exerted always
remains nearly the same.
〈DISCUSSIONS AT TURIN.〉
In 1840 I received from my friend M. Plana a letter pressing me
strongly to visit Turin at the then approaching meeting of Italian
philosophers. In that letter M. Plana stated that he had inquired
anxiously of many of my countrymen about the power and mechanism of the
Analytical Engine. He remarked that from all the information he could
collect the case seemed to stand thus:—
“Hitherto the _legislative_ department of our analysis has been all
powerful—the _executive_ all feeble.
“Your engine seems to give us the same control over the executive which
we have hitherto only possessed over the legislative department.”
Considering the exceedingly limited information which {130} could
have reached my friend respecting the Analytical Engine, I was equally
surprised and delighted at his exact prevision of its powers. Even
at the present moment I could not express more clearly, and in fewer
terms, its real object. I collected together such of my models,
drawings, and notations as I conceived to be best adapted to give an
insight into the principles and mode of operating of the Analytical
Engine. On mentioning my intention to my excellent friend the late
Professor MacCullagh, he resolved to give up a trip to the Tyrol, and
join me at Turin.
We met at Turin at the appointed time, and as soon as the first bustle
of the meeting had a little abated, I had the great pleasure of
receiving at my own apartments, for several mornings, Messrs. Plana,
Menabrea, Mossotti, MacCullagh, Plantamour, and others of the most
eminent geometers and engineers of Italy.
Around the room were hung the formula, the drawings, notations, and
other illustrations which I had brought with me. I began on the first
day to give a short outline of the idea. My friends asked from time to
time further explanations of parts I had not made sufficiently clear.
M. Plana had at first proposed to make notes, in order to write an
outline of the principles of the engine. But his own laborious pursuits
induced him to give up this plan, and to transfer the task to a younger
friend of his, M. Menabrea, who had already established his reputation
as a profound analyst.
These discussions were of great value to me in several ways. I was
thus obliged to put into language the various views I had taken, and
I observed the effect of my explanations on different minds. My own
ideas became clearer, and I profited by many of the remarks made by my
highly-gifted friends. {131}
〈MOSOTTI’S DIFFICULTY.〉
One day Mosotti, who had been unavoidably absent from the previous
meeting, when a question of great importance had been discussed, again
joined the party. Well aware of the acuteness and rapidity of my
friend’s intellect, I asked my other friends to allow me five minutes
to convey to Professor Mosotti the substance of the preceding sitting.
After putting a few questions to Mosotti himself, he placed before me
distinctly his greatest difficulty.
He remarked that he was now quite ready to admit the power of mechanism
over numerical, and even over algebraical relations, to any extent. But
he added that he had no conception how the machine could perform the
act of judgment sometimes required during an analytical inquiry, when
two or more different courses presented themselves, especially as the
proper course to be adopted could not be known in many cases until all
the previous portion had been gone through.
〈SOLUTION OF EQUATIONS.〉
I then inquired whether the solution of a numerical equation of any
degree by the usual, but very tedious proceeding of approximation would
be a type of the difficulty to be explained. He at once admitted that
it would be a very eminent one.
For the sake of perspicuity and brevity I shall confine my present
explanation to possible roots.
I then mentioned the successive stages:—
Number of Operation Cards used.
1 _a._ Ascertain the number of possible roots by applying Sturm’s
theorem to the coefficients.
2 _b._ Find a number greater than the greatest root.
3 _c._ Substitute the powers of ten (commencing with that next greater
than the greatest root, and {132} diminishing the powers by unity at
each step) for the value of _x_ in the given equation.
Continue this until the sign of the resulting number changes from
positive to negative.
The index of the last power of ten (call it _n_), which is positive,
expresses the number of digits in that part of the root which consists
of whole numbers. Call this index _n_ + 1.
4 _d._ Substitute successively for _x_ in the original equation
0 × 10^{n}, 1 × 10^{n}, 2 × 10^{n}, 3 × 10^{n}, . . . . 9 × 10^{n},
until a change of sign occurs in the result. The digit previously
substituted will be the first figure of the root sought.
5 _e._ Transform the original equation into another whose roots are
less by the number thus found.
The transformed equation will have a real root, the digit, less than
10^{n}.
6 _f._ Substitute 1 × 10^{n−1}, 2 × 10^{n−1}, 3 × 10^{n−1}, &c.,
successively for the root of this equation, until a change of sign
occurs in the result, as in process 4.
This will give the second figure of the root.
This process of alternately finding a new figure in the root, and then
transforming the equation into another (as in process 4 and 5), must
be carried on until as many figures as are required, whether whole
numbers or decimals, are arrived at.
7 _g._ The root thus found must now be used to reduce the original
equation to one dimension lower. {133}
8 _h._ This new equation of one dimension lower must now be treated by
sections 3, 4, 5, 6, and 7, until the new root is found.
9 _i._ The repetition of sections 7 and 8 must go on until all the
roots have been found.
Now it will be observed that Professor Mosotti was quite ready to admit
at once that each of these different processes could be performed by
the Analytical Machine through the medium of properly-arranged sets of
Jacquard cards.
His real difficulty consisted in teaching the engine to know when to
change from one set of cards to another, and back again repeatedly, at
intervals not known to the person who gave the orders.
The dimensions of the algebraic equation being known, the number of
arithmetical processes necessary for Sturm’s theorem is consequently
known. A set of operation cards can therefore be prepared. These must
be accompanied by a corresponding set of variable cards, which will
represent the columns in the store, on which the several coefficients
of the given equation, and the various combinations required amongst
them, are to be placed.
The next stage is to find a number greater than the greatest root of
the given equation. There are various courses for arriving at such a
number. Any one of these being selected, another set of operation and
variable cards can be prepared to execute this operation.
Now, as this second process invariably follows the first, the second
set of cards may be attached to the first set, and the engine will pass
on from the first to the second process, and again from the second to
the third process. {134}
But here a difficulty arises: successive powers of ten are to be
substituted for _x_ in the equation, until a certain event happens. A
set of cards may be provided to make the substitution of the highest
power of ten, and similarly for the others; but on the occurrence of a
certain event, namely, the change of a sign from + to −, this stage of
the calculation is to terminate.
Now at a very early period of the inquiry I had found it necessary to
teach the engine to know when any numbers it might be computing passed
through zero or infinity.
The passage through zero can be easily ascertained, thus: Let the
continually-decreasing number which is being computed be placed upon a
column of wheels in connection with a carrying apparatus. After each
process this number will be diminished, until at last a number is
subtracted from it which is greater than the number expressed on those
wheels.
Thus let it be 00000,00000,00000,00423
Subtract 00000,00000,00000,00511
───────────────────────
99999,99999,99999,99912
Now in every case of a carriage becoming due, a certain lever is
transferred from one position to another in the cage next above it.
Consequently in the highest cage of all (say the fiftieth in the
Analytical Engine), an arm will be moved or not moved accordingly as
the carriages do or do not run up beyond the highest wheel.
This arm can, of course, make any change which has previously been
decided upon. In the instance we have been considering it would order
the cards to be turned on to the next set.
If we wish to find when any number, which is increasing, {135} exceeds
in the number of its digits the number of wheels on the columns of the
machine, the same carrying arm can be employed. Hence any directions
may be given which the circumstances require.
It will be remarked that this does not actually prove, even in the
Analytical Engine of fifty figures, that the number computed has passed
through infinity; but only that it has become greater than any number
of fifty places of figures.
There are, however, methods by which any machine made for a given
number of figures may be made to compute the same formulæ with double
or any multiple of its original number. But the nature of this work
prevents me from explaining that method.
It may here be remarked that in the process, the cards employed to
make the substitutions of the powers of ten are operation cards. They
are, therefore, quite independent of the numerical values substituted.
Hence the same set of _operation_ cards which order the substitutions
1 × 10^{n} will, if backed, order the substitution of 2 × 10^n, &c. We
may, therefore, avail ourselves of mechanism for backing these cards,
and call it into action whenever the circumstances themselves require
it.
The explanation of M. Mosotti’s difficulty is this:—Mechanical means
have been provided for backing or advancing the operation cards to any
extent. There exist means of expressing the conditions under which
these various processes are required to be called into play. It is not
even necessary that two courses only should be possible. Any number of
courses may be possible at the same time; and the choice of each may
depend upon any number of conditions.
〈GENERAL MENABREA’S DESCRIPTION.〉
It was during these meetings that my highly valued friend, M. Menabrea,
collected the materials for that lucid and {136} admirable description
which he subsequently published in the Bibli. Univ. de Genève, t. xli.
Oct. 1842.
The elementary principles on which the Analytical Engine rests were
thus in the first instance brought before the public by General
Menabrea.
〈THE COUNTESS OF LOVELACE’S NOTES.〉
Some time after the appearance of his memoir on the subject in the
“Bibliothèque Universelle de Genève,” the late Countess of Lovelace[25]
informed me that she had translated the memoir of Menabrea. I asked why
she had not herself written an original paper on a subject with which
she was so intimately acquainted? To this Lady Lovelace replied that
the thought had not occurred to her. I then suggested that she should
add some notes to Menabrea’s memoir; an idea which was immediately
adopted.
[25] Ada Augusta, Countess of Lovelace, only child of the Poet
Byron.
We discussed together the various illustrations that might be
introduced: I suggested several, but the selection was entirely her
own. So also was the algebraic working out of the different problems,
except, indeed, that relating to the numbers of Bernouilli, which I had
offered to do to save Lady Lovelace the trouble. This she sent back to
me for an amendment, having detected a grave mistake which I had made
in the process.
The notes of the Countess of Lovelace extend to about three times the
length of the original memoir. Their author has entered fully into
almost all the very difficult and abstract questions connected with the
subject.
These two memoirs taken together furnish, to those who are capable of
understanding the reasoning, a complete demonstration—_That the whole
of the developments and operations of analysis are now capable of being
executed by machinery_.
〈VARIOUS APPLICATIONS.〉
There are various methods by which these developments {137} are
arrived at:—1. By the aid of the Differential and Integral Calculus.
2. By the Combinatorial Analysis of Hindenburg. 3. By the Calculus of
Derivations of Arbogast.
Each of these systems professes to expand any function according to
any laws. Theoretically each method may be admitted to be perfect; but
practically the time and attention required are, in the greater number
of cases, more than the human mind is able to bestow. Consequently,
upon several highly interesting questions relative to the Lunar theory,
some of the ablest and most indefatigable of existing analysts are at
variance.
The Analytical Engine is capable of executing the laws prescribed by
each of these methods. At one period I examined the Combinatorial
Analysis, and also took some pains to ascertain from several of my
German friends, who had had far more experience of it than myself,
whether it could be used with greater facility than the Differential
system. They seemed to think that it was more readily applicable to all
the usual wants of analysis.
I have myself worked with the system of Arbogast, and if I were to
decide from my own limited use of the three methods, I should, for the
purposes of the Analytical Engine, prefer the Calcul des Derivations.
As soon as an Analytical Engine exists, it will necessarily guide the
future course of the science. Whenever any result is sought by its aid,
the question will then arise—By what course of calculation can these
results be arrived at by the machine in the _shortest time_?
In the drawings I have prepared I proposed to have a thousand
variables, upon each of which any number not having more than fifty
figures can be placed. This machine would multiply 50 figures by other
50, and print the product {138} of 100 figures. Or it would divide
any number having 100 figures by any other of 50 figures, and print
the quotient of 50 figures. Allowing but a moderate velocity for the
machine, the time occupied by either of these operations would be about
one minute.
The whole of the _numerical_ constants throughout the works of Laplace,
Plana, Le Verrier, Hansen, and other eminent men whose indefatigable
labours have brought astronomy to its present advanced state, might
easily be recomputed. They are but the numerical coefficients of the
various terms of functions developed according to certain series. In
all cases in which these numerical constants can be calculated by more
than one method, it might be desirable to compute them by several
processes until frequent practice shall have confirmed our belief in
the infallibility of mechanism.
〈ERRORS OF TABLES.〉
The great importance of having accurate Tables is admitted by all who
understand their uses; but the multitude of errors really occurring is
comparatively little known. Dr. Lardner, in the “Edinburgh Review,” has
made some very instructive remarks on this subject.
I shall mention two within my own experience: these are selected
because they occurred in works where neither care nor expense were
spared on the part of the Government to insure perfect accuracy. It is,
however, but just to the eminent men who presided over the preparation
of these works for the press to observe, that the real fault lay not in
them but in _the nature of things_.
In 1828 I lent the Government an original MS. of the table of
Logarithmic Sines, Cosines, &c., computed to every second of the
quadrant, in order that they might have it compared with Taylor’s
Logarithms, 4to., 1792, of which they possessed a considerable number
of copies. Nineteen {139} errors were thus detected, and a list of
these errata was published in the Nautical Almanac for 1832: these may
be called
Nineteen errata of the first order . . 1832.
An error being detected in one of these errata, in the following
Nautical Almanac we find an
Erratum of the errata in N. Alm. 1832 . . 1833.
But in this very erratum of the second order a new mistake was
introduced larger than any of the original mistakes. In the year next
following there ought to have been found
Erratum in the erratum of the errata in N. Alm. 1832 . . 1834.
In the “Tables de la Lune,” by M. P. A. Hansen, 4to, 1857, published
at the expense of the English Government, under the direction of
the Astronomer Royal, is to be found a list of errata amounting to
155. In the 21st of these original errata there have been found
_three_ mistakes. These are duly noted in a newly-printed list of
errata discovered during computations made with them in the “Nautical
Almanac;” so that we now have the errata of an erratum of the original
work.
This list of errata from the office of the “Nautical Almanac” is larger
than the original list. The total number of errors at present (1862)
discovered in Hansen’s “Tables of the Moon” amounts to above three
hundred and fifty. In making these remarks I have no intention of
imputing the slightest blame to the Astronomer Royal, who, like other
men, cannot avoid submitting to inevitable fate. The only circumstance
which is really extraordinary is that, when it was demonstrated that
all tables are capable of being computed by machinery, and even when
a machine existed which {140} computed certain tables, that the
Astronomer Royal did not become the most enthusiastic supporter of
an instrument which could render such invaluable service to his own
science.
In the Supplementary Notices of the Astronomical Society, No. 9, vol.
xxiii., p. 259, 1863, there occurs a Paper by M. G. de Ponteculant,
in which forty-nine numerical coefficients relative to the Longitude,
Latitude, and Radius vector of the Moon are given as computed by Plana,
Delaunay, and Ponteculant. The computations of Plana and Ponteculant
agree in thirteen cases; those of Delaunay and Ponteculant in two; and
in the remaining thirty-four cases they all three differ.
〈REMARKS ON ANALYSIS.〉
I am unwilling to terminate this chapter without reference to another
difficulty now arising, which is calculated to impede the progress of
Analytical Science. The extension of analysis is so rapid, its domain
so unlimited, and so many inquirers are entering into its fields, that
a variety of new symbols have been introduced, formed on no common
principles. Many of these are merely new ways of expressing well-known
functions. Unless some philosophical principles are generally admitted
as the basis of all notation, there appears a great probability of
introducing the confusion of Babel into the most accurate of all
languages.
A few months ago I turned back to a paper in the Philosophical
Transactions, 1844, to examine some analytical investigations of great
interest by an author who has thought deeply on the subject. It related
to the separation of symbols of operation from those of quantity, a
question peculiarly interesting to me, since the Analytical Engine
contains the embodiment of that method. There was no ready, sufficient,
and simple mode of distinguishing letters which represented quantity
from those which indicated operation. To {141} understand the results
the author had arrived at, it became necessary to read the whole Memoir.
Although deeply interested in the subject, I was obliged, with great
regret, to give up the attempt; for it not only occupied much time, but
placed too great a strain on the memory.
Whenever I am thus perplexed it has often occurred to me that the very
simple plan I have adopted in my _Mechanical Notation_ for lettering
drawings might be adopted in analysis.
On the geometrical drawings of machinery every piece of matter which
represents framework is invariably denoted by an _upright_ letter;
whilst all letters indicating moveable parts are marked by _inclined_
letters.
The analogous rule would be—
Let all letters indicating operations or modifications be expressed by
_upright_ letters;
Whilst all letters representing quantity should be represented by
_inclined_ letters.
The subject of the principles and laws of notation is so important
that it is desireable, before it is too late, that the scientific
academies of the world should each contribute the results of their own
examination and conclusions, and that some congress should assemble to
discuss them. Perhaps it might be still better if each academy would
draw up its own views, illustrated by examples, and have a sufficient
number printed to send to all other academies.
{142}