Subscribe

Issue No.03 - July-Sept. (2012 vol.34)

pp: 44-54

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MAHC.2011.61

ABSTRACT

In January 1950, George W. Reitwiesner published an article describing the first use of a computer, the ENIAC, to calculate the decimal expansion of π. Starting with Reitwiesner's description of the calculation, the ENIAC's architecture, how it was programmed, and the mathematics used, this article examines why the calculation was undertaken, how it was done, and what was subsequently learned.

INDEX TERMS

general purpose computers, general-purpose computer, π decimal expansion, ENIAC architecture, Mathematics, Programming, Transmitters, Monte Carlo methods, Encoding, Computational modeling, History, George W. Reitwiesner, general purpose computers, general-purpose computer, ¿ decimal expansion, ENIAC architecture, Mathematics, Programming, Transmitters, Monte Carlo methods, Encoding, Computational modeling, History, theoretical mathematics, Computers, Programming, Transmitters, Monte Carlo methods, Encoding, Computational modeling, John von Neumann, history of computing, ENIAC, determination of π, early mathematical applications of computers

CITATION

B. J. Shelburne, "The ENIAC's 1949 Determination of π",

*IEEE Annals of the History of Computing*, vol.34, no. 3, pp. 44-54, July-Sept. 2012, doi:10.1109/MAHC.2011.61REFERENCES

- 1. The team included C.V. Hauff, H.S. McAllister, and W. Barkley Fritz.
- 2. G.W. Reitwiesner, "An ENIAC Determination of π and e to More Than 2000 Decimal Places,"
Mathematical Tables and Other Aids to Computation, vol. 4, no 29, 1950, pp. 11–15.- 3. J.W. Wrench, "The Evolution of Extended Decimal Expansions to π,"
The Mathematics Teacher, vol. 53, Dec. 1960, pp. 644–650; reprinted in Pi: A Source Book, 3rd ed., L. Berggren, J. Borwein, and P. Borwein eds., Springer Verlag, 2003, pp. 319–325. Shanks 1853 determination of π (cited in Wrench's article) specifies "607 Places" for π apparently not counting the leading three. - 4. Except where specifically noted, all quotes are taken from Reitwiesner's article, "An ENIAC Determination of π, and e to More Than 2000 Decimal Places."
- 5. H.H. Goldstine,
The Computer from Pascal to Von Neumann, Princeton Univ. Press, 1972, pp. 248–249. Newman's reference to the "testing out the 4-colour problem" was prescience; this famous problem, which was solved by Appel and Hacken 30 years later in 1976, required the use of a computer. - 6. W.B. Fritz, "ENIAC: A Problem Solver,"
IEEE Annals of the History of Computing, vol. 16, no. 1, 1994, pp. 25–45. In the appendix to his paper, Fritz surveys some of the mathematical applications done on the ENIAC. Along with G. Reitwiesner, he took "turns on eight-hour shifts to keep the ENIAC operating continuously throughout the [Labor Day] week-end" for the determination of π; see Reitwiesner, "An ENIAC Determination of π and e to More Than 2000 Decimal Places."- 7. Fritz, "ENIAC: A Problem Solver," p. 42.
- 8. The Rhind Mathematical Papyrus, dated around 1650 BCE, gives the area of a circle equal to (8/9)2 times its diameter making π equal to (16/9)2 = 3.16049.
- 9. Archimedes proved that the area of a circle was equal to (1/2 × radius × circumference) and then using 96-sided inscribed and circumscribed polygons computed π, the ratio of the circumference to the diameter of a circle, to be between 3(10/71) = 3.140845 and 3(1/7) = 3.142857.
- 10. H.W. Eves,
In Mathematical Circles: A Selection of Mathematical Stories and Anecdotes, PWS Publishing Company, 1969 and 1971, p. 28; reprinted in Pi: A Source Book, 3rd ed., L. Berggren, J. Borwein, P. Borwein eds, Springer Verlag, 2003, pp. 400–411. Eves wrote that van Ceulen, who was German, used polygons "having 262, sides. He spent a large part of his life on this task and his achievement was considered so extraordinary that the number was engraved on his tombstone, and to this day is sometimes referred to in Germany as 'the Ludolphine number,'" p. 28.- 11. Many of the infinite series were based on the Gregory-Leibniz series for arctan(x), which was also used in the ENIAC determination of π.
- 12. A. De Morgan,
A Budget of Paradoxes, 1st ed., 1872; 2nd ed., Open Court Publishing Company, 1915; reprinted as A. De Morgan, "Assorted Paradoxes," The World of Mathematics, vol. 4, J.R. Neuman, ed., Simon and Schuster, 1956, pp. 2378–2380.- 13. The Dutch mathematician L.E.J. Brouwer (1882–1966) also posed the question of whether 1,000 consecutive zeroes appear in the decimal expansion of π (see Eves,
In Mathematical Circles, p. 31). If it could be established that numbers such as e and π are normal in the sense that the statistical distribution of their digits is uniform, then one could make that case that given a long enough sequence of digits for e or π, odds are the answer is yes. - 14. In 1946 von Neumann proposed the so-called "middle-square digit" method for generating pseudo-random numbers, which was easy to compute but ultimately a poor source of random numbers. See D. Knuth,
The Art of Programming, vol. 2, Addison-Wesley, 1969, p. 3.- 15. C. Hurd, "A Note on Early Monte Carlo Computations and Scientific Meetings,"
Annals of the History of Computing, vol. 7, no. 2, 1985, pp. 141–155. This paper includes a letter dated 11 Mar. 1947 in which von Neumann outlines a Monte Carlo approach to the neutron diffusion problem. - 16. N. Metropolis, "The Beginning of the Monte Carlo Method," special issue,
Los Alamos Science, 1987, pp. 125–130; http://library.lanl.gov/cgi-bingetfile?00326866.pdf . - 17. To quote von Neumann: "Anyone who considers arithmetical methods of producing random digits is, of courses, in a state of sin."
- 18. J. von Neumann, "Various Techniques Used in Connection with Random Digits,"
J. Research Nat'l Bureau of Standards, Applied Mathematics Series, vol. 12, 1951, pp. 36–38. Also found in J. von Neumann Collected Works, vol. 5, Pergamon Press, 1961, pp. 768–770.- 19. N. Metropolis and S. Ulam, "The Monte Carlo Method,"
J. Am. Statistical Assoc., vol. 44, no. 247, 1949, pp. 335–341.- 20. Recalling that n! (n factorial) is the product of the first n integers and using Stirling's formula to approximate n! (or its reciprocal), a little more than 800 terms are needed to determine e out to 2,000 plus digits.
- 21. For those interested in the mathematics of calculating π, see P. Eymard and J. Lafon,
The Number π, translated by S. Wilson Am. Mathematical Soc., 2004.- 22. , Using the corresponding finite series, a little more than 1,400 terms are needed to determine arctan(1/5) out to 2,000 plus digits; fewer are needed for arctan(1/239). For an absolutely convergent alternating sign series such as the Gregory-Leibniz series, the difference between a finite series approximation and the infinite series is bounded by the absolute value of the first missing term of the finite series.
- 23. For additional details on the ENIAC architecture and how it was programmed, see H.H. Goldstine and A. Goldstine, "The Electronic Numerical Integrator and Computer (ENIAC),"
Mathematical Tables and Other Aids to Computation, 1946; republished in IEEE Annals of the History of Computing, vol. 18, no. 1, 1996, pp. 10–16.- 24. R.F. Clippinger,
A Logical Coding System Applied to the ENIAC, BRL tech. report 673, Ballistic Research Laboratories, 29 Sept. 1948.- 25. Technically speaking, the modified ENIAC was not a stored program computer; a better description would be programmable calculator.
- 26. C. Rope, "ENIAC as a Stored-Program Computer: A New Look at the Old Records,"
IEEE Annals of the History of Computing, vol. 29, no. 4, 2007, pp. 82–87. I am grateful to T. Haigh who informed me that probably from late 1948 onward the ENIAC was being programmed via the 100-instruction converter code and not the earlier 60-instruction order code. - 27. H. Neukom, "The Second Life of the ENIAC,"
IEEE Annals of the History of Computing, vol. 28, no. 2, 2006, pp. 4–16. The Web Extra that accompanied the article lists the instructions for both the 60-instruction order code and the 100-instruction converter code. - 28. The project was extracurricular and, given that von Neumann suggested it in early June, completed in three months. The use of holidays to perform calculations in pure mathematics does not seem have originated with Reitwiesner; W. Barkley Fritz reports that "Various prime number calculations were completed during several holiday weekend sessions by D.H. Lehmer.…" W.B. Fritz, "ENIAC: A Problem Solver," p. 42.
- 29. R.F. Clippinger's, Sept. 1948 report (BRL tech. report 673) mentions that an upgrade to a 100 order code was in the works. The November 1949 date of Ballistic Research Laboratories technical note no. 141, "Description and Use of the ENIAC Converter Code," confirms that Reitwiesner used the 100-instruction converter code for his calculations. Again thanks to historian T. Haigh who working with C. Rope, and L.D. Rope's Second Charitable Settlement, kindly sent me a copy of BRL technical note no. 141. The same converter code is also described in W. Barkley Fritz's, "Description of the ENIAC Converter Code," BRL tech. memo 582, Ballistic Research Laboratories, Dec. 1951.
- 30. A 12-digit function table word/line could store six two-digit order/converter codes.
- 31. The eight positions in the constant transmitter were labeled A through H.
- 32. Clippinger, BRL tech. report 673, p. 11.
- 33. , One of the differences between the 1947 60-instruction order code and subsequent the 100-instruction converter code was the latter allocated 20 codes for shift operations.
- 34. In addition, to prevent overflow, the 10th decade of the numerator had to be 0.
- 35. For a negative denominator and positive denominator, the negative denominator is added to the numerator until a sign change occurs. We subtract 1 from the ninth decade of the quotient for each addition. With a sign change, the now negative numerator is left shifted and the negative denominator is subtracted until there is a sign change. We then add 1 to the eighth decade of the quotient for each subtraction, and repeat.
- 36. J. Van der Spiegel et al., "The ENIAC: History, Operation and Reconstruction in VLSI,"
The First Computers: History and Architectures, R. Rojas, and U. Hashagen eds., MIT Press, 2000, pp. 121–178.- 37. W. Barkley Fritz, "Description of the ENIAC Converter Code,", memorandum report 582, Ballistic Research Laboratories, Dec. 1951. p. 25. The same wording is found in the earlier BRL tech. note 141, p. 14.
- 38. Details of the ENIAC's determination of e and π were deduced using a software simulation of the ENIAC calculation.
- 39. BRL tech. report 141, p. 4. Depending on the instruction set used, as many as eight accumulations might be allocated for special purposes and so could not be used for working storage.
- 40. In reconstructing the calculation of e (and π) decimal points were assumed to be between the sixth and seventh decades, which explains why only five digits were stored per accumulator. Because division returned a quotient with the assumed decimal point between the eighth and ninth decades, quotients had to be right shifted two decades to "line up" with the original numerator and denominator.
- 41. The number of digits obtained by the divider/square rooter could be controlled by a panel switch. If this was set to 6, five digits of precision for each of five accumulators (the software reconstruction used accumulators AC16–AC20) yielding 25 digits of precision (the value of i referred to in Reitwiesner's description) were obtained along with a positive remainder. It should also be noted that by definition 0! = 1.
- 42. Figure 3 was obtained from my software simulation of the ENIAC calculations.
- 43. B. Shelburne and C. Burton, "Early Programs on the Manchester Mark I Prototype,"
IEEE Annals of the History of Computing, vol. 20. no 3, 1998, pp. 4–15.- 44. S.C. Nicholson and J. Jeenel, "Some Comments on a NORC Computation of π,"
Mathematical Tables and Other Aids to Computation, vol. 9, no 52, 1955, pp. 162–164.- 45. D. Shanks and J. Wrench, "Calculation of π to 100,000 Decimals,"
Mathematics of Computation, vol. 16, 1962, pp. 76–79; reprinted in Pi: A Source Book, 3rd ed., L. Berggren, J. Borwein, and P. Borwein eds., Springer Verlag, 2003, pp. 326–329.- 46. N.C. Metropolis, G. Reitwiesner, and J. von Neumann, "Statistical Treatment of Values of First 2,000 Decimal Digits of e and of pi Calculated on the ENIAC,"
Mathematical Tables and Other Aids to Computation, vol. 4, no. 30, 1950, pp. 109–112.- 47. To measure randomness, Metropolis, Reitwiesner, and von Neumann performed a chi-square test on the actual versus expected frequency of occurrence for each digit for both e and π. A nice discussion on how the chi-square test is used to measure randomness can be found in D. Knuth,
The Art of Programming, vol. 2, p. 34. |