How is pi calculated to many decimals ?

There are essentially 3 different methods.

1) One of the oldest is to use the power series expansion of atan(x) 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 of Borwein and Borwein: Pi and the AGM, Canadian Math. Soc. Series, John Wiley and Sons, New York, 1987. 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 k1=545140134;k2=13591409;k3=640320;k4=100100025;k5=327843840;k6=53360;

Then in AmsTeX notation

$pi=frac{k6sqrt(k3)}{S}$, where

$$S=sum_{n=0}^infty (-1)^nfrac{(6n)!(k2+nk1)}{n!^3(3n)!(8k4k5)^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 since it only involves multiplication/division by single precision numbers. This is why the constant 8k4k5 appearing in the denominator has been written this way instead of 262537412640768000.

This is how the Chudnovsky’s have computed several billion decimals.

Question: how can I get a C program which computes pi?

Answer: if you are too lazy to use the hints above, you can use the following 160 character C program which computes pi to 800 decimal digits. If you want more, it is easy to modify, but you have to understand how it works first.

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 :

J. M. Borwein, 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.

P. Beckman
A history of pi
Golem Press, CO, 1971 (fourth edition 1977)

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

J.M. Borwein and P.B. Borwein
Pi and the AGM – a study in analytic number theory and computational complexity
Wiley, New York, 1987

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.

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

D. Shanks and J.W. Wrench, Jr.
Calculation of pi to 100,000 decimals
Mathematics of Computation, Vol. 16, 1962, pp. 76-99

Daniel Shanks
Dihedral quartic approximations and series for pi
J. Number Theory, Vol. 14, 1982, pp.397-423

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

J.W. Wrench, Jr.
The evolution of extended decimal approximations to pi
The Mathematics Teacher, Vol. 53, 1960, pp. 644-650

Leave a Reply

Your email address will not be published. Required fields are marked *