The Analytical Engine of Charles Babbage (1791–1871) was the first device that could reasonably be called a computer rather than a calculator, so Babbage’s assistant Ada Lovelace was among the first computer programmers. This chapter documents many other firsts—including the first computer system pitched as almost operational that never worked properly. Babbage was an eminent British academic, Lucasian Professor of Mathematics at the University of Cambridge—a post held by Isaac Newton and Stephen Hawking, among others. His “Difference Engine” was a system of gears and wheels that could be used to calculate the values of polynomials, and hence approximations to a variety of mathematical functions, based on the principle of accumulating differences. The simplest example arises from the identity , so that the sequence of perfect squares can be produced by repeatedly adding successive odd numbers, that is, numbers that start at 1 and differ by 2. In the mid-1830s Babbage conceived of the Analytical Engine, a device that was capable of much more—more, indeed, than Babbage imagined.
Ada Augusta (1815–1852) was the daughter of the romantic poet Lord Byron, who abandoned the family shortly after her birth and decamped to Greece, where he died eight years later. Ada’s embittered mother, determined that Ada would not herself become a silly romantic, provided her the best mathematical education available to women. Ada apprenticed herself to Babbage, and after becoming familiar with his calculating machines, began to imagine the Analytical Engine’s possibilities. The device was to be constructed on the model of a Jacquard loom, which used punched cards to control the pattern it would weave. Babbage and Ada Augusta realized that the control mechanism was so general that the Analytical Engine could effect calculations of almost unlimited sophistication.
Could—if it could be built at all. Alas, the precision of machining available in the day was inadequate to construct a workable Analytical Engine at the scale described in this document. The Analytical Engine was never operational as planned. (Construction of the full-scale Difference Engine was suspended when Babbage’s attention turned to the Analytical Engine. A version was finally completed using machining techniques developed during the work on the failed Analytical Engine.)
Babbage lectured in Italy on his Analytical Engine in 1840. Luigi Federico Menabrea (1809–1896) was an Italian engineer who heard the lectures and wrote them up, and Ada (by then married to the Count of Lovelace, and therefore named Ada Augusta Lovelace) translated and annotated Menabrea’s write-up. The number of now-familiar programming concepts it mentions is quite staggering: compilation (Figure 3.1 on page 14 is effectively an assembly-language compilation of an algebraic expression); step counting (page 21); loops controlled by an integer index (page 24); conditional branches and nested loops (page 23); accounting for code size (page 25); exception handling (page 14); mechanical solution of linear systems (page 24); the dichotomy between data and code (page 12); nonnumeric computing (pages 17 and 23); the underestimation of the difficulties of programming (page 15); and the repeated hints of an undiscovered ontology of computations.
Ada Lovelace died at age 36 of uterine cancer and the blood-letting done to treat it. Though Babbage later imagined machines that could win at board games and the automation of other activities, his inventions were largely forgotten until the digital revolution. Howard Aiken knew of Babbage’s work and considered himself Babbage’s heir, but his appreciation probably came only after he had undertaken the design of his automatic calculator. Babbage and Lovelace trod the spectacular wilderness of the field, but the shortcomings of their technology and the passage of time largely obliterated the path they blazed until others began to follow it again.
THE much-admired machine of Pascal is now simply an object of curiosity, which, whilst it displays the powerful intellect of its inventor, is yet of little utility in itself. Its powers extended no further than the execution of the first four operations of arithmetic, and indeed were in reality confined to that of the first two, since multiplication and division were the result of a series of additions and subtractions. The chief drawback hitherto on most of such machines is, that they require the continual intervention of a human agent to regulate their movements, and thence arises a source of errors; so that, if their use has not become general for large numerical calculations, it is because they have not in fact resolved the double problem which the question presents, that of correctness in the results, united with economy of time.
Struck with similar reflections, Mr. Babbage has devoted some years to the realization of a gigantic idea. He proposed to himself nothing less than the construction of a machine capable of executing not merely arithmetical calculations, but even all those of analysis, if their laws are known. The imagination is at first astounded at the idea of such an undertaking; but the more calm reflection we bestow on it, the less impossible does success appear, and it is felt that it may depend on the discovery of some principle so general, that, if applied to machinery, the latter may be capable of mechanically translating the operations which may be indicated to it by algebraical notation. …
When analysis is employed for the solution of any problem, there are usually two classes of operations to execute: first, the numerical calculation of the various coefficients; and secondly, their distribution in relation to the quantities affected by them. If, for example, we have to obtain the product of two binomials (a + bx)(m + nx), the result will be represented by am + (an + bm)x + bnx2, in which expression we must first calculate am, an, bm, bn; then take the sum of an + bm; and lastly, respectively distribute the coefficients thus obtained amongst the powers of the variable. In order to reproduce these operations by means of a machine, the latter must therefore possess two distinct sets of powers: first, that of executing numerical calculations; secondly, that of rightly distributing the values so obtained.
But if human intervention were necessary for directing each of these partial operations, nothing would be gained under the heads of correctness and economy of time; the machine must therefore have the additional requisite of executing by itself all the successive operations required for the solution of a problem proposed to it, when once the primitive numerical data for this same problem have been introduced. Therefore, since, from the moment that the nature of the calculation to be executed or of the problem to be resolved have been indicated to it, the machine is, by its own intrinsic power, of itself to go through all the intermediate operations which lead to the proposed result, it must exclude all methods of trial and guess-work, and can only admit the direct processes of calculation.
It is necessarily thus; for the machine is not a thinking being, but simply an automaton which acts according to the laws imposed upon it. This being fundamental, one of the earliest researches its author had to undertake, was that of finding means for effecting the division of one number by another without using the method of guessing indicated by the usual rules of arithmetic. The difficulties of effecting this combination were far from being among the least; but upon it depended the success of every other. Under the impossibility of my here explaining the process through which this end is attained, we must limit ourselves to admitting that the first four operations of arithmetic, that is addition, subtraction, multiplication and division, can be performed in a direct manner through the intervention of the machine. This granted, the machine is thence capable of performing every species of numerical calculation, for all such calculations ultimately resolve themselves into the four operations we have just named. To conceive how the machine can now go through its functions according to the laws laid down, we will begin by giving an idea of the manner in which it materially represents numbers.
Let us conceive a pile or vertical column consisting of an indefinite number of circular discs, all pierced through their centres by a common axis, around which each of them can take an independent rotatory movement. If round the edge of each of these discs are written the ten figures which constitute our numerical alphabet, we may then, by arranging a series of these figures in the same vertical line, express in this manner any number whatever. It is sufficient for this purpose that the first disc represent units, the second tens, the third hundreds, and so on. When two numbers have been thus written on two distinct columns, we may propose to combine them arithmetically with each other, and to obtain the result on a third column. In general, if we have a series of columns consisting of discs, which columns we will designate as V0, V1, V2, V3, V4, &c., we may require, for instance, to divide the number written on the column V1 by that on the column V4, and to obtain the result on the column V7. To effect this operation, we must impart to the machine two distinct arrangements; through the first it is prepared for executing a division, and through the second the columns it is to operate on are indicated to it, and also the column on which the result is to be represented. If this division is to be followed, for example, by the addition of two numbers taken on other columns, the two original arrangements of the machine must be simultaneously altered. If, on the contrary, a series of operations of the same nature is to be gone through, then the first of the original arrangements will remain, and the second alone must be altered. Therefore, the arrangements that may be communicated to the various parts of the machine may be distinguished into two principal classes:
First, that relative to the Operations.
Secondly, that relative to the Variables.
By this latter we mean that which indicates the columns to be operated on. As for the operations themselves, they are executed by a special apparatus, which is designated by the name of mill, and which itself contains a certain number of columns, similar to those of the Variables. When two numbers are to be combined together, the machine commences by effacing them from the columns where they are written, that is, it places zero on every disc of the two vertical lines on which the numbers were represented; and it transfers the numbers to the mill. There, the apparatus having been disposed suitably for the required operation, this latter is effected, and, when completed, the result itself is transferred to the column of Variables which shall have been indicated. Thus the mill is that portion of the machine which works, and the columns of Variables constitute that where the results are represented and arranged. After the preceding explanations, we may perceive that all fractional and irrational results will be represented in decimal fractions. Supposing each column to have forty discs, this extension will be sufficient for all degrees of approximation generally required.
It will now be inquired how the machine can of itself, and without having recourse to the hand of man, assume the successive dispositions suited to the operations. The solution of this problem has been taken from Jacquard’s apparatus, used for the manufacture of brocaded stuffs, in the following manner:—
Two species of threads are usually distinguished in woven stuffs; one is the warp or longitudinal thread, the other the woof or transverse thread, which is conveyed by the instrument called the shuttle, and which crosses the longitudinal thread or warp. When a brocaded stuff is required, it is necessary in turn to prevent certain threads from crossing the woof, and this according to a succession which is determined by the nature of the design that is to be reproduced. Formerly this process was lengthy and difficult, and it was requisite that the workman, by attending to the design which he was to copy, should himself regulate the movements the threads were to take. Thence arose the high price of this description of stuffs, especially if threads of various colours entered into the fabric. To simplify this manufacture, Jacquard devised the plan of connecting each group of threads that were to act together, with a distinct lever belonging exclusively to that group. All these levers terminate in rods, which are united together in one bundle, having usually the form of a parallelopiped with a rectangular base. The rods are cylindrical, and are separated from each other by small intervals. The process of raising the threads is thus resolved into that of moving these various lever-arms in the requisite order. To effect this, a rectangular sheet of pasteboard is taken, somewhat larger in size than a section of the bundle of lever-arms. If this sheet be applied to the base of the bundle, and an advancing motion be then communicated to the pasteboard, this latter will move with it all the rods of the bundle, and consequently the threads that are connected with each of them. But if the pasteboard, instead of being plain, were pierced with holes corresponding to the extremities of the levers which meet it, then, since each of the levers would pass through the pasteboard during the motion of the latter, they would all remain in their places. We thus see that it is easy so to determine the position of the holes in the pasteboard, that, at any given moment, there shall be a certain number of levers, and consequently of parcels of threads, raised, while the rest remain where they were. Supposing this process is successively repeated according to a law indicated by the pattern to be executed, we perceive that this pattern may be reproduced on the stuff. For this purpose we need merely compose a series of cards according to the law required, and arrange them in suitable order one after the other; then, by causing them to pass over a polygonal beam which is so connected as to turn a new face for every stroke of the shuttle, which face shall then be impelled parallelly to itself against the bundle of lever-arms, the operation of raising the threads will be regularly performed. Thus we see that brocaded tissues may be manufactured with a precision and rapidity formerly difficult to obtain.
Arrangements analogous to those just described have been introduced into the Analytical Engine. It contains two principal species of cards: first, Operation cards, by means of which the parts of the machine are so disposed as to execute any determinate series of operations, such as additions, subtractions, multiplications, and divisions; secondly, cards of the Variables, which indicate to the machine the columns on which the results are to be represented. The cards, when put in motion, successively arrange the various portions of the machine according to the nature of the processes that are to be effected, and the machine at the same time executes these processes by means of the various pieces of mechanism of which it is constituted.
In order more perfectly to conceive the thing, let us select as an example the resolution of two equations of the first degree with two unknown quantities. Let the following be the two equations, in which x and y are the unknown quantities:—
We deduce , and for y an analogous expression. Let us continue to represent by V0, V1, V2, &c. the different columns which contain the numbers, and let us suppose that the first eight columns have been chosen for expressing on them the numbers represented by m, n, d, m′, n′, d′, n and n′, which implies that V0 = m, V1 = n, V2 = d, V3 = m′, V4 = n′, V5 = d′, V6 = n, V7 = n′.
The series of operations commanded by the cards, and the results obtained, may be represented in Figure 3.1.
…We may deduce the following important consequence from these explanations, viz. that since the cards only indicate the nature of the operations to be performed, and the columns of Variables with which they are to be executed, these cards will themselves possess all the generality of analysis, of which they are in fact merely a translation. We shall now further examine some of the difficulties which the machine must surmount, if its assimilation to analysis is to be complete. There are certain functions which necessarily change in nature when they pass through zero or infinity, or whose values cannot be admitted when they pass these limits. When such cases present themselves, the machine is able, by means of a bell, to give notice that the passage through zero or infinity is taking place, and it then stops until the attendant has again set it in action for whatever process it may next be desired that it shall perform. If this process has been foreseen, then the machine, instead of ringing, will so dispose itself as to present the new cards which have relation to the operation that is to succeed the passage through zero and infinity. These new cards may follow the first, but may only come into play contingently upon one or other of the two circumstances just mentioned taking place.
Let us consider a term of the form abn; since the cards are but a translation of the analytical formula, their number in this particular case must be the same, whatever be the value of n; that is to say, whatever be the number of multiplications required for elevating b to the nth power (we are supposing for the moment that n is a whole number). Now, since the exponent n indicates that b is to be multiplied n times by itself, and all these operations are of the same nature, it will be sufficient to employ one single operation-card, viz. that which orders the multiplication. …
Resuming what we have explained concerning the Analytical Engine, we may conclude that it is based on two principles: the first consisting in the fact that every arithmetical calculation ultimately depends on four principal operations—addition, subtraction, multiplication, and division; the second, in the possibility of reducing every analytical calculation to that of the coefficients for the several terms of a series. If this last principle be true, all the operations of analysis come within the domain of the engine. To take another point of view: the use of the cards offers a generality equal to that of algebraical formulæ, since such a formula simply indicates the nature and order of the operations requisite for arriving at a certain definite result, and similarly the cards merely command the engine to perform these same operations; but in order that the mechanisms may be able to act to any purpose, the numerical data of the problem must in every particular case be introduced. Thus the same series of cards will serve for all questions whose sameness of nature is such as to require nothing altered excepting the numerical data. In this light the cards are merely a translation of algebraical formulæ, or, to express it better, another form of analytical notation.
Since the engine has a mode of acting peculiar to itself, it will in every particular case be necessary to arrange the series of calculations conformably to the means which the machine possesses; for such or such a process which might be very easy for a calculator may be long and complicated for the engine, and vice versa.
Considered under the most general point of view, the essential object of the machine being to calculate, according to the laws dictated to it, the values of numerical coefficients which it is then to distribute appropriately on the columns which represent the variables, it follows that the interpretation of formulæ and of results is beyond its province, unless indeed this very interpretation be itself susceptible of expression by means of the symbols which the machine employs. Thus, although it is not itself the being that reflects, it may yet be considered as the being which executes the conceptions of intelligence. The cards receive the impress of these conceptions, and transmit to the various trains of mechanism composing the engine the orders necessary for their action. When once the engine shall have been constructed, the difficulty will be reduced to the making out of the cards; but as these are merely the translation of algebraical formulæ, it will, by means of some simple notations, be easy to consign the execution of them to a workman. Thus the whole intellectual labour will be limited to the preparation of the formulæ, which must be adapted for calculation by the engine.
Now, admitting that such an engine can be constructed, it may be inquired: what will be its utility? To recapitulate; it will afford the following advantages:—First, rigid accuracy. We know that numerical calculations are generally the stumbling-block to the solution of problems, since errors easily creep into them, and it is by no means always easy to detect these errors. Now the engine, by the very nature of its mode of acting, which requires no human intervention during the course of its operations, presents every species of security under the head of correctness: besides, it carries with it its own check; for at the end of every operation it prints off, not only the results, but likewise the numerical data of the question; so that it is easy to verify whether the question has been correctly proposed. Secondly, economy of time: to convince ourselves of this, we need only recollect that the multiplication of two numbers, consisting each of twenty figures, requires at the very utmost three minutes. Likewise, when a long series of identical computations is to be performed, such as those required for the formation of numerical tables, the machine can be brought into play so as to give several results at the same time, which will greatly abridge the whole amount of the processes. Thirdly, economy of intelligence: a simple arithmetical computation requires to be performed by a person possessing some capacity; and when we pass to more complicated calculations, and wish to use algebraical formulæ in particular cases, knowledge must be possessed which presupposes preliminary mathematical studies of some extent. Now the engine, from its capability of performing by itself all these purely material operations, spares intellectual labour, which may be more profitably employed. Thus the engine may be considered as a real manufactory of figures, which will lend its aid to those many useful sciences and arts that depend on numbers. Again, who can foresee the consequences of such an invention? In truth, how many precious observations remain practically barren for the progress of the sciences, because there are not powers sufficient for computing the results! And what discouragement does the perspective of a long and arid computation cast into the mind of a man of genius, who demands time exclusively for meditation, and who beholds it snatched from him by the material routine of operations! Yet it is by the laborious route of analysis that he must reach truth; but he cannot pursue this unless guided by numbers; for without numbers it is not given us to raise the veil which envelopes the mysteries of nature. Thus the idea of constructing an apparatus capable of aiding human weakness in such researches, is a conception which, being realized, would mark a glorious epoch in the history of the sciences. The plans have been arranged for all the various parts, and for all the wheel-work, which compose this immense apparatus, and their action studied; but these have not yet been fully combined together in the drawings and mechanical notation. The confidence which the genius of Mr. Babbage must inspire, affords legitimate ground for hope that this enterprise will be crowned with success; and while we render homage to the intelligence which directs it, let us breathe aspirations for the accomplishment of such an undertaking.
The particular function whose integral the Difference Engine was constructed to tabulate, is Δ7uz = 0. The purpose which that engine has been specially intended and adapted to fulfil, is the computation of nautical and astronomical tables. The integral of Δ7uz = 0 being
the constants a, b, c, &c. are represented on the seven columns of discs, of which the engine consists. It can therefore tabulate accurately and to an unlimited extent, all series whose general term is comprised in the above formula; and it can also tabulate approximatively between intervals of greater or less extent, all other series which are capable of tabulation by the Method of Differences.
The Analytical Engine, on the contrary, is not merely adapted for tabulating the results of one particular function and of no other, but for developing and tabulating any function whatever. In fact the engine may be described as being the material expression of any indefinite function of any degree of generality and complexity, such as for instance, F(x, y, z, log x, sin y, xp, &c.), which is, it will be observed, a function of all other possible functions of any number of quantities.
In this, which we may call the neutral or zero state of the engine, it is ready to receive at any moment, by means of cards constituting a portion of its mechanism (and applied on the principle of those used in the Jacquard-loom), the impress of whatever special function we may desire to develop or to tabulate. These cards contain within themselves (in a manner explained in the Memoir itself) the law of development of the particular function that may be under consideration, and they compel the mechanism to act accordingly in a certain corresponding order. One of the simplest cases would be for example, to suppose that F(x, y, z, &c. &c.) is the particular function Δnuz = 0 which the Difference Engine tabulates for values of n only up to 7. In this case the cards would order the mechanism to go through that succession of operations which would tabulate
where n might be any number whatever.
These cards, however, have nothing to do with the regulation of the particular numerical data. They merely determine the operations to be effected, which operations may of course be performed on an infinite variety of particular numerical values, and do not bring out any definite numerical results unless the numerical data of the problem have been impressed on the requisite portions of the train of mechanism. In the above example, the first essential step towards an arithmetical result would be the substitution of specific numbers for n, and for the other primitive quantities which enter into the function. …
The operating mechanism can even be thrown into action independently of any object to operate upon (although of course no result could then be developed). Again, it might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine. Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. …
The distinctive characteristic of the Analytical Engine, and that which has rendered it possible to endow mechanism with such extensive faculties as bid fair to make this engine the executive right-hand of abstract algebra, is the introduction into it of the principle which Jacquard devised for regulating, by means of punched cards, the most complicated patterns in the fabrication of brocaded stuffs. It is in this that the distinction between the two engines lies. Nothing of the sort exists in the Difference Engine. We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves. Here, it seems to us, resides much more of originality than the Difference Engine can be fairly entitled to claim. We do not wish to deny to this latter all such claims. We believe that it is the only proposal or attempt ever made to construct a calculating machine founded on the principle of successive orders of differences, and capable of printing off its own results; and that this engine surpasses its predecessors, both in the extent of the calculations which it can perform, in the facility, certainty and accuracy with which it can effect them, and in the absence of all necessity for the intervention of human intelligence during the performance of its calculations. Its nature is, however, limited to the strictly arithmetical, and it is far from being the first or only scheme for constructing arithmetical calculating machines with more or less of success.
The bounds of arithmetic were however outstepped the moment the idea of applying the cards had occurred; and the Analytical Engine does not occupy common ground with mere “calculating machines.” It holds a position wholly its own; and the considerations it suggests are most interesting in their nature. In enabling mechanism to combine together general symbols in successions of unlimited variety and extent, a uniting link is established between the operations of matter and the abstract mental processes of the most abstract branch of mathematical science. A new, a vast, and a powerful language is developed for the future use of analysis, in which to wield its truths so that these may become of more speedy and accurate practical application for the purposes of mankind than the means hitherto in our possession have rendered possible. Thus not only the mental and the material, but the theoretical and the practical in the mathematical world, are brought into more intimate and effective connexion with each other. We are not aware of its being on record that anything partaking in the nature of what is so well designated the Analytical Engine has been hitherto proposed, or even thought of, as a practical possibility, any more than the idea of a thinking or of a reasoning machine. …
Those who incline to very strictly utilitarian views may perhaps feel that the peculiar powers of the Analytical Engine bear upon questions of abstract and speculative science, rather than upon those involving every-day and ordinary human interests. These persons being likely to possess but little sympathy, or possibly acquaintance, with any branches of science which they do not find to be useful (according to their definition of that word), may conceive that the undertaking of that engine, now that the other one is already in progress, would be a barren and unproductive laying out of yet more money and labour; in fact, a work of supererogation. Even in the utilitarian aspect, however, we do not doubt that very valuable practical results would be developed by the extended faculties of the Analytical Engine; some of which results we think we could now hint at, had we the space; and others, which it may not yet be possible to foresee, but which would be brought forth by the daily increasing requirements of science, and by a more intimate practical acquaintance with the powers of the engine, were it in actual existence. …
A. A. L.
That portion of the Analytical Engine here alluded to is called the storehouse. It contains an indefinite number of the columns of discs described by M. Menabrea. The reader may picture to himself a pile of rather large draughtsmen heaped perpendicularly one above another to a considerable height, each counter having the digits from 0 to 9 inscribed on its edge at equal intervals; and if he then conceives that the counters do not actually lie one upon another so as to be in contact, but are fixed at small intervals of vertical distance on a common axis which passes perpendicularly through their centres, and around which each disc can revolve horizontally so that any required digit amongst those inscribed on its margin can be brought into view, he will have a good idea of one of these columns. The lowest of the discs on any column belongs to the units, the next above to the tens, the next above this to the hundreds, and so on. Thus, if we wished to inscribe 1345 on a column of the engine, it would stand thus:—
In the Difference Engine there are seven of these columns placed side by side in a row, and the working mechanism extends behind them: the general form of the whole mass of machinery is that of a quadrangular prism (more or less approaching to the cube); the results always appearing on that perpendicular face of the engine which contains the columns of discs, opposite to which face a spectator may place himself. In the Analytical Engine there would be many more of these columns, probably at least two hundred. The precise form and arrangement which the whole mass of its mechanism will assume is not yet finally determined.
We may conveniently represent the columns of discs on paper in a diagram like Figure 3.2.
The V’s are for the purpose of convenient reference to any column, either in writing or speaking, and are consequently numbered. The reason why the letter V is chosen for the purpose in preference to any other letter, is because these columns are designated (as the reader will find in proceeding with the Memoir) the Variables, and sometimes the Variable columns, or the columns of Variables. The origin of this appellation is, that the values on the columns are destined to change, that is to vary, in every conceivable manner. But it is necessary to guard against the natural misapprehension that the columns are only intended to receive the values of the variables in an analytical formula, and not of the constants. The columns are called Variables on a ground wholly unconnected with the analytical distinction between constants and variables. In order to prevent the possibility of confusion, we have, both in the translation and in the notes, written Variable with a capital letter when we use the word to signify a column of the engine, and variable with a small letter when we mean the variable of a formula. Similarly, Variable-cards signify any cards that belong to a column of the engine.
To return to the explanation of the diagram: each circle at the top is intended to contain the algebraic sign + or −, either of which can be substituted for the other, according as the number represented on the column below is positive or negative. In a similar manner any other purely symbolical results of algebraical processes might be made to appear in these circles. In Note A, the practicability of developing symbolical with no less ease than numerical results has been touched on. The zeros beneath the symbolic circles represent each of them a disc, supposed to have the digit 0 presented in front. Only four tiers of zeros have been figured in the diagram, but these may be considered as representing thirty or forty, or any number of tiers of discs that may be required. Since each disc can present any digit, and each circle any sign, the discs of every column may be so adjusted as to express any positive or negative number whatever within the limits of the machine; which limits depend on the perpendicular extent of the mechanism, that is, on the number of discs to a column.
Each of the squares below the zeros is intended for the inscription of any general symbol or combination of symbols we please; it being understood that the number represented on the column immediately above is the numerical value of that symbol, or combination of symbols. Let us, for instance, represent the three quantities a, n, x, and let us further suppose that a = 5, n = 7, x = 98. We should have Figure 3.3.
We may now combine these symbols in a variety of ways, so as to form any required function or functions of them, and we may then inscribe each such function below brackets, every bracket uniting together those quantities (and those only) which enter into the function inscribed below it. We must also, when we have decided on the particular function whose numerical value we desire to calculate, assign another column to the right-hand for receiving the results, and must inscribe the function in the square below this column. In the above instance we might have any one of the following functions:—
Let us select the first. It would stand as follows, previous to calculation (Figure 3.4). The data being given, we must now put into the engine the cards proper for directing the operations in the case of the particular function chosen. These operations would in this instance be,—
First, six multiplications in order to get xn ( = 987 for the above particular data).
Secondly, one multiplication in order then to get a · xn ( = 5 · 987).
In all, seven multiplications to complete the whole process. We may thus represent them:—
The multiplications would, however, at successive stages in the solution of the problem, operate on pairs of numbers, derived from different columns. In other words, the same operation would be performed on different subjects of operation. And here again is an illustration of the remarks made in the preceding Note on the independent manner in which the engine directs its operations. In determining the value of axn, the operations are homogeneous, but are distributed amongst different subjects of operation, at successive stages of the computation. It is by means of certain punched cards, belonging to the Variables themselves, that the action of the operations is so distributed as to suit each particular function. The Operation-cards merely determine the succession of operations in a general manner. They in fact throw all that portion of the mechanism included in the mill into a series of different states, which we may call the adding state, or the multiplying state, &c. respectively. In each of these states the mechanism is ready to act in the way peculiar to that state, on any pair of numbers which may be permitted to come within its sphere of action. Only one of these operating states of the mill can exist at a time; and the nature of the mechanism is also such that only one pair of numbers can be received and acted on at a time. Now, in order to secure that the mill shall receive a constant supply of the proper pairs of numbers in succession, and that it shall also rightly locate the result of an operation performed upon any pair, each Variable has cards of its own belonging to it. It has, first, a class of cards whose business it is to allow the number on the Variable to pass into the mill, there to be operated upon. These cards may be called the Supplying-cards. They furnish the mill with its proper food. Each Variable has, secondly, another class of cards, whose office it is to allow the Variable to receive a number from the mill. These cards may be called the Receiving-cards. They regulate the location of results, whether temporary or ultimate results. The Variable-cards in general (including both the preceding classes) might, it appears to us, be even more appropriately designated the Distributive-cards, since it is through their means that the action of the operations, and the results of this action, are rightly distributed.
There are two varieties of the Supplying Variable-cards, respectively adapted for fulfilling two distinct subsidiary purposes: but as these modifications do not bear upon the present subject, we shall notice them in another place.
In the above case of axn, the Operation-cards merely order seven multiplications, that is, they order the mill to be in the multiplying state seven successive times (without any reference to the particular columns whose numbers are to be acted upon). The proper Distributive Variable-cards step in at each successive multiplication, and cause the distributions requisite for the particular case (Figure 3.5).
The engine might be made to calculate all these in succession. Having completed axn, the function xan might be written under the brackets instead of axn, and a new calculation commenced (the appropriate Operation and Variable-cards for the new function of course coming into play). The results would then appear on V5. So on for any number of different functions of the quantities a, n, x. Each result might either permanently remain on its column during the succeeding calculations, so that when all the functions had been computed, their values would simultaneously exist on V4, V5, V6, &c.; or each result might (after being printed off, or used in any specified manner) be effaced, to make way for its successor. The square under V4 ought, for the latter arrangement, to have the functions axn, xan, anx, &c. successively inscribed in it. …
The further we analyse the manner in which such an engine performs its processes and attains its results, the more we perceive how distinctly it places in a true and just light the mutual relations and connexion of the various steps of mathematical analysis; how clearly it separates those things which are in reality distinct and independent, and unites those which are mutually dependent.
A. A. L.
Those who may desire to study the principles of the Jacquard-loom in the most effectual manner, viz. that of practical observation, have only to step into the Adelaide Gallery or the Polytechnic Institution. In each of these valuable repositories of scientific illustration, a weaver is constantly working at a Jacquard-loom, and is ready to give any information that may be desired as to the construction and modes of acting of his apparatus. The volume on the manufacture of silk, in Lardner’s Cyclopædia, contains a chapter on the Jacquard-loom, which may also be consulted with advantage.
The mode of application of the cards, as hitherto used in the art of weaving, was not found, however, to be sufficiently powerful for all the simplifications which it was desirable to attain in such varied and complicated processes as those required in order to fulfil the purposes of an Analytical Engine. A method was devised of what was technically designated backing the cards in certain groups according to certain laws. The object of this extension is to secure the possibility of bringing any particular card or set of cards into use any number of times successively in the solution of one problem. Whether this power shall be taken advantage of or not, in each particular instance, will depend on the nature of the operations which the problem under consideration may require. The process is alluded to by M. Menabrea, and it is a very important simplification. It has been proposed to use it for the reciprocal benefit of that art, which, while it has itself no apparent connexion with the domains of abstract science, has yet proved so valuable to the latter, in suggesting the principles which, in their new and singular field of application, seem likely to place algebraical combinations not less completely within the province of mechanism, than are all those varied intricacies of which intersecting threads are susceptible. By the introduction of the system of backing into the Jacquard-loom itself, patterns which should possess symmetry, and follow regular laws of any extent, might be woven by means of comparatively few cards.
Those who understand the mechanism of this loom will perceive that the above improvement is easily effected in practice, by causing the prism over which the train of pattern-cards is suspended to revolve backwards instead of forwards, at pleasure, under the requisite circumstances; until, by so doing, any particular card, or set of cards, that has done duty once, and passed on in the ordinary regular succession, is brought back to the position it occupied just before it was used the preceding time. The prism then resumes its forward rotation, and thus brings the card or set of cards in question into play a second time. This process may obviously be repeated any number of times.
A. A. L.
…
Many persons who are not conversant with mathematical studies, imagine that because the business of the engine is to give its results in numerical notation, the nature of its processes must consequently be arithmetical and numerical, rather than algebraical and analytical. This is an error. The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols; and in fact it might bring out its results in algebraical notation, were provisions made accordingly. It might develop three sets of results simultaneously, viz. symbolic results (as already alluded to in Notes A and B), numerical results (its chief and primary object); and algebraical results in literal notation.
… A cycle of operations … must be understood to signify any set of operations which is repeated more than once. It is equally a cycle, whether it be repeated twice only, or an indefinite number of times; for it is the fact of a repetition occurring at all that constitutes it such. In many cases of analysis there is a recurring group of one or more cycles; that is, a cycle of a cycle, or a cycle of cycles. …
A. A. L.
There is in existence a beautiful woven portrait of Jacquard, in the fabrication of which 24,000 cards were required.
The power of repeating the cards, alluded to by M. Menabrea, and more fully explained in Note C, reduces to an immense extent the number of cards required. It is obvious that this mechanical improvement is especially applicable wherever cycles occur in the mathematical operations, and that, in preparing data for calculations by the engine, it is desirable to arrange the order and combination of the processes with a view to obtain them as much as possible symmetrically and in cycles, in order that the mechanical advantages of the backing system may be applied to the utmost. It is here interesting to observe the manner in which the value of an analytical resource is met and enhanced by an ingenious mechanical contrivance. We see in it an instance of one of those mutual adjustments between the purely mathematical and the mechanical departments, mentioned in Note A, as being a main and essential condition of success in the invention of a calculating engine. The nature of the resources afforded by such adjustments would be of two principal kinds. In some cases, a difficulty (perhaps in itself insurmountable) in the one department would be overcome by facilities in the other; and sometimes (as in the present case) a strong point in the one would be rendered still stronger and more available by combination with a corresponding strong point in the other.
As a mere example of the degree to which the combined systems of cycles and of backing can diminish the number of cards requisite, we shall choose a case which places it in strong evidence, and which has likewise the advantage of being a perfectly different kind of problem from those that are mentioned in any of the other Notes. Suppose it be required to eliminate nine variables from ten simple equations of the form—
We should explain, before proceeding, that it is not our object to consider this problem with reference to the actual arrangement of the data on the Variables of the engine, but simply as an abstract question of the nature and number of the operations required to be performed during its complete solution.
The first step would be the elimination of the first unknown quantity x0 between the first two equations. This would be obtained by the form—
for which the operations 10 (×, ×, −) would be needed. The second step would be the elimination of x0 between the second and third equations, for which the operations would be precisely the same. We should then have had altogether the following operations:—
Continuing in the same manner, the total number of operations for the complete elimination of x0 between all the successive pairs of equations would be—
We should then be left with nine simple equations of nine variables from which to eliminate the next variable x1, for which the total of the processes would be
We should then be left with eight simple equations of eight variables from which to eliminate x2, for which the processes would be—
and so on. The total operations for the elimination of all the variables would thus be—
So that three Operation-cards would perform the office of 330 such cards.
If we take n simple equations containing n − 1 variables, n being a number unlimited in magnitude, the case becomes still more obvious, as the same three cards might then take the place of thousands or millions of cards.
We shall now draw further attention to the fact, already noticed, of its being by no means necessary that a formula proposed for solution should ever have been actually worked out, as a condition for enabling the engine to solve it. Provided we know the series of operations to be gone through, that is sufficient. In the foregoing instance this will be obvious enough on a slight consideration. And it is a circumstance which deserves particular notice, since herein may reside a latent value of such an engine almost incalculable in its possible ultimate results. We already know that there are functions whose numerical value it is of importance for the purposes both of abstract and of practical science to ascertain, but whose determination requires processes so lengthy and so complicated, that, although it is possible to arrive at them through great expenditure of time, labour and money, it is yet on these accounts practically almost unattainable; and we can conceive there being some results which it may be absolutely impossible in practice to attain with any accuracy, and whose precise determination it may prove highly important for some of the future wants of science, in its manifold, complicated and rapidly-developing fields of inquiry, to arrive at.
Without, however, stepping into the region of conjecture, we will mention a particular problem which occurs to us at this moment as being an apt illustration of the use to which such an engine may be turned for determining that which human brains find it difficult or impossible to work out unerringly. In the solution of the famous problem of the Three Bodies, there are, out of about 295 coefficients of lunar perturbations given by M. Clausen (Astroe. Nachrichten, No. 406) as the result of the calculations by Burg, of two by Damoiseau, and of one by Burckhardt, fourteen coefficients that differ in the nature of their algebraic sign; and out of the remainder there are only 101 (or about one-third) that agree precisely both in signs and in amount. These discordances, which are generally small in individual magnitude, may arise either from an erroneous determination of the abstract coefficients in the development of the problem, or from discrepancies in the data deduced from observation, or from both causes combined. The former is the most ordinary source of error in astronomical computations, and this the engine would entirely obviate.
We might even invent laws for series of formulæ in an arbitrary manner, and set the engine to work upon them, and thus deduce numerical results which we might not otherwise have thought of obtaining; but this would hardly perhaps in any instance be productive of any great practical utility, or calculated to rank higher than as a philosophical amusement.
A. A. L.
It is desirable to guard against the possibility of exaggerated ideas that might arise as to the powers of the Analytical Engine. In considering any new subject, there is frequently a tendency, first, to overrate what we find to be already interesting or remarkable; and, secondly, by a sort of natural reaction, to undervalue the true state of the case, when we do discover that our notions have surpassed those that were really tenable.
The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It can follow analysis; but it has no power of anticipating any analytical relations or truths. Its province is to assist us in making available what we are already acquainted with. This it is calculated to effect primarily and chiefly of course, through its executive faculties; but it is likely to exert an indirect and reciprocal influence on science itself in another manner. For, in so distributing and combining the truths and the formulæ of analysis, that they may become most easily and rapidly amenable to the mechanical combinations of the engine, the relations and the nature of many subjects in that science are necessarily thrown into new lights, and more profoundly investigated. This is a decidedly indirect, and a somewhat speculative, consequence of such an invention. It is however pretty evident, on general principles, that in devising for mathematical truths a new form in which to record and throw themselves out for actual use, views are likely to be induced, which should again react on the more theoretical phase of the subject. There are in all extensions of human power, or additions to human knowledge, various collateral influences, besides the main and primary object attained. …
A. A. L.
Reprinted from Menabrea (1843).