Formula for Pi
Date: 28 Jun 1995 09:39:43 -0400
From: coyote@onramp.net (Bryan K Cantwell)
Subject: Formula for PI
I would like to know the formula for Pi that was used to calculate out to
the bazillionth digit for the memory contests. Preferably, in a short
program routine for my pc (486).
Thanks BKC
coyote@onramp.net
Date: 28 Jun 1995 10:06:06 -0400
From: Dr. Ken
Subject: Re: Formula for PI
Hello there!
I found this information in the FAQ for the newsgroup sci.math. It's a good
resource. Here you go:
_________________________________________________________
4Q: Where I can get pi up to a few hundred thousand digits of pi?
Does anyone have an algorithm to compute pi to those zillion
decimal places?
A: MAPLE or MATHEMATICA can give you 10,000 digits of Pi in a blink,
and they can compute another 20,000-1,000,000 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.
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{k6\sqrt(k3)}{S}$, where
$$S=\sum_{n=0}^\infty (-1)^n\frac{(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 (reportedly by Dik T. Winter) 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 :
(This is a short version for a more comprehensive list contact
Juhana Kouhia at jk87377@cc.tut.fi)
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
____________________________________________________
-K