Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

sci.math FAQ: Digits or Pi


[ Usenet FAQs | Web FAQs | Documents | RFC Index | Forum archive ]

See reader questions & answers on this topic! - Help others by sharing your knowledge
Archive-name: sci-math-faq/pi
Last-modified: February 20, 1998
Version: 7.5

     _________________________________________________________________
   
                         How to compute digits of pi ?
                                       
   Symbolic Computation software such as Maple or Mathematica can compute
   10,000 digits of pi in a blink, and another 20,000-1,000,000 digits
   overnight (range depends on hardware platform).
   
   It is possible to retrieve 1.25+ million digits of pi via anonymous
   ftp from the site wuarchive.wustl.edu, in the files pi.doc.Z and
   pi.dat.Z which reside in subdirectory doc/misc/pi. New York's
   Chudnovsky brothers have computed 2 billion digits of pi on a homebrew
   computer.
   
   The current record is held by Yasumasa Kanada and Daisuke Takahashi
   from the University of Tokyo with 51 billion digits of pi
   (51,539,600,000 decimal digits to be precise).
   
   Nick Johnson-Hill has an interesting page of pi trivia at:
   http://www.users.globalnet.co.uk/ nickjh/Pi.htm
   
   This computations were made by Yasumasa Kanada, at the University of
   Tokyo.
   
   There are essentially 3 different methods to calculate pi to many
   decimals.
   
    1. One of the oldest is to use the power series expansion of atan(x)
       = x - x^3/3 + x^5/5 - ... together with formulas like pi =
       16*atan(1/5) - 4*atan(1/239). This gives about 1.4 decimals per
       term.
    2. A second is to use formulas coming from Arithmetic-Geometric mean
       computations. A beautiful compendium of such formulas is given in
       the book pi and the AGM, (see references). They have the advantage
       of converging quadratically, i.e. you double the number of
       decimals per iteration. For instance, to obtain 1 000 000
       decimals, around 20 iterations are sufficient. The disadvantage is
       that you need FFT type multiplication to get a reasonable speed,
       and this is not so easy to program.
    3. A third one comes from the theory of complex multiplication of
       elliptic curves, and was discovered by S. Ramanujan. This gives a
       number of beautiful formulas, but the most useful was missed by
       Ramanujan and discovered by the Chudnovsky's. It is the following
       (slightly modified for ease of programming):
       Set k_1 = 545140134; k_2 = 13591409; k_3 = 640320; k_4 =
       100100025; k_5 = 327843840; k_6 = 53360;
       Then pi = (k_6 sqrt(k_3))/(S), where
       S = sum_(n = 0)^oo (-1)^n ((6n)!(k_2 +
       nk_1))/(n!^3(3n)!(8k_4k_5)^n)
       The great advantages of this formula are that
       1) It converges linearly, but very fast (more than 14 decimal
       digits per term).
       2) The way it is written, all operations to compute S can be
       programmed very simply. This is why the constant 8k_4k_5 appearing
       in the denominator has been written this way instead of
       262537412640768000. This is how the Chudnovsky's have computed
       several billion decimals.
       
   An interesting new method was recently proposed by David Bailey, Peter
   Borwein and Simon Plouffe. It can compute the Nth hexadecimal digit of
   Pi efficiently without the previous N-1 digits. The method is based on
   the formula:
   
   pi = sum_(i = 0)^oo (1 16^i) ((4 8i + 1) - (2 8i + 4) - (1 8i + 5) -
   (1 8i + 6))
   
   in O(N) time and O(log N) space. (See references.)
   
   The following 160 character C program, written by Dik T. Winter at
   CWI, computes pi to 800 decimal digits.
   
     int a=10000,b,c=2800,d,e,f[2801],g;main(){for(;b-c;)f[b++]=a/5;
     for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)for(b=c;d+=f[b]*a,
     f[b]=d%--g,d/=g--,--b;d*=b);}

      References
      
   P. B. Borwein, and D. H. Bailey. Ramanujan, Modular Equations, and
   Approximations to pi American Mathematical Monthly, vol. 96, no. 3
   (March 1989), p. 201-220.
   
   D. H. Bailey, P. B. Borwein, and S. Plouffe. A New Formula for Picking
   off Pieces of Pi, Science News, v 148, p 279 (Oct 28, 1995). also at
   http://www.cecm.sfu.ca/~pborwein
   
   J.M. Borwein and P.B. Borwein. The arithmetic-geometric mean and fast
   computation of elementary functions. SIAM Review, Vol. 26, 1984, pp.
   351-366.
   
   J.M. Borwein and P.B. Borwein. More quadratically converging
   algorithms for pi . Mathematics of Computation, Vol. 46, 1986, pp.
   247-253.
   
   Shlomo Breuer and Gideon Zwas Mathematical-educational aspects of the
   computation of pi Int. J. Math. Educ. Sci. Technol., Vol. 15, No. 2,
   1984, pp. 231-244.
   
   David Chudnovsky and Gregory Chudnovsky. The computation of classical
   constants. Columbia University, Proc. Natl. Acad. Sci. USA, Vol. 86,
   1989.
   
   Classical Constants and Functions: Computations and Continued Fraction
   Expansions D.V.Chudnovsky, G.V.Chudnovsky, H.Cohn, M.B.Nathanson, eds.
   Number Theory, New York Seminar 1989-1990.
   
   Y. Kanada and Y. Tamura. Calculation of pi to 10,013,395 decimal
   places based on the Gauss-Legendre algorithm and Gauss arctangent
   relation. Computer Centre, University of Tokyo, 1983.
   
   Morris Newman and Daniel Shanks. On a sequence arising in series for
   pi . Mathematics of computation, Vol. 42, No. 165, Jan 1984, pp.
   199-217.
   
   E. Salamin. Computation of pi using arithmetic-geometric mean.
   Mathematics of Computation, Vol. 30, 1976, pp. 565-570
   
   David Singmaster. The legal values of pi . The Mathematical
   Intelligencer, Vol. 7, No. 2, 1985.
   
   Stan Wagon. Is pi normal? The Mathematical Intelligencer, Vol. 7, No.
   3, 1985.
   
   A history of pi . P. Beckman. Golem Press, CO, 1971 (fourth edition
   1977)
   
   pi and the AGM - a study in analytic number theory and computational
   complexity. J.M. Borwein and P.B. Borwein. Wiley, New York, 1987.
-- 
Alex Lopez-Ortiz                                         alopez-o@unb.ca
http://www.cs.unb.ca/~alopez-o                       Assistant Professor	
Faculty of Computer Science                  University of New Brunswick

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA


[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
alopez-o@neumann.uwaterloo.ca





Last Update March 27 2014 @ 02:12 PM