Gauss-Legendre algorithm

From Wikipedia, the free encyclopedia

The Gauss-Legendre algorithm is an algorithm to compute the digits of π.

The method is based on the individual work of Carl Friedrich Gauss (1777-1855) and Adrien-Marie Legendre (1752-1833) combined with modern algorithms for multiplication and square roots. It repeatedly replaces two numbers by their arithmetic and geometric mean, in order to approximate their arithmetic-geometric mean.

The version presented below is also known as the Brent-Salamin (or Salamin-Brent) algorithm; it was independently discovered in 1975 by Richard Brent and Eugene Salamin. It was used to compute the first 206,158,430,000 decimal digits of π on September 18 to 20, 1999, and the results were checked with Borwein's algorithm.

1. Initial value setting:

a_0 = 1\qquad b_0 = \frac{1}{\sqrt{2}}\qquad t_0 = \frac{1}{4}\qquad p_0 = 1

2. Repeat the following instructions until the difference of an and bn is within the desired accuracy:

x_{n+1} = \frac{a_n + b_n}{2} \,
y_{n+1} = \sqrt{a_n b_n} \,
t_{n+1} = t_n - p_n(a_n - x_{n+1})^2 \,
a_{n+1} = x_{n+1} \,
b_{n+1} = y_{n+1} \,
p_{n+1} = 2p_n \,

3. π is approximated with an, bn and tn as:

\pi \approx \frac{(a_n+b_n)^2}{4t_n} \,

The first three iterations give:

3.140...
3.14159264...
3.14159265358979...

The algorithm has second-order convergent nature, which essentially means that the number of correct digits doubles with each step of the algorithm.

[edit] See also

In other languages