The Chudnovsky algorithm is a fast method for calculating the digits of
, based on
Ramanujan’s
formulae. It was published by the
Chudnovsky brothers
David Volfovich Chudnovsky (born January 22, 1947 in Kyiv) and Gregory Volfovich Chudnovsky (born April 17, 1952 in Kyiv) are Ukrainian-born American mathematicians and engineers known for their world-record mathematical calculations and developing ...
in 1988.
It was used in the
world record
A world record is usually the best global and most important performance that is ever recorded and officially verified in a specific skill, sport, or other kind of activity. The book ''Guinness World Records'' and other world records organization ...
calculations of 2.7 trillion digits of in December 2009,
10 trillion digits in October 2011, 22.4 trillion digits in November 2016, 31.4 trillion digits in September 2018–January 2019, 50 trillion digits on January 29, 2020, 62.8 trillion digits on August 14, 2021, and 100 trillion digits on March 21, 2022.
Algorithm
The algorithm is based on the negated
Heegner number In number theory, a Heegner number (as termed by Conway and Guy) is a square-free positive integer ''d'' such that the imaginary quadratic field \Q\left sqrt\right/math> has class number 1. Equivalently, its ring of integers has unique factoriza ...
, the
''j''-function , and on the following rapidly convergent
generalized hypergeometric series
In mathematics, a generalized hypergeometric series is a power series in which the ratio of successive coefficients indexed by ''n'' is a rational function of ''n''. The series, if convergent, defines a generalized hypergeometric function, which ...
:
:
A detailed proof of this formula can be found here:
For a high performance iterative implementation, this can be simplified to
:
There are 3 big integer terms (the multinomial term ''M
q'', the linear term ''L
q'', and the exponential term ''X
q'') that make up the series and
equals the constant ''C'' divided by the sum of the series, as below:
:
, where:
:
,
:
,
:
,
:
.
The terms ''M
q'', ''L
q'', and ''X
q'' satisfy the following recurrences and can be computed as such:
:
The computation of ''M
q'' can be further optimized by introducing an additional term ''K
q'' as follows:
:
Note that
:
and
:
:
:
This identity is similar to some of
Ramanujan's formulas involving ,
and is an example of a
Ramanujan–Sato series In mathematics, a Ramanujan–Sato series generalizes Ramanujan’s pi formulas such as,
:\frac = \frac \sum_^\infty \frac \frac
to the form
:\frac = \sum_^\infty s(k) \frac
by using other well-defined sequences of integers s(k) obeying a cer ...
.
The
time complexity
In computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations performed by ...
of the algorithm is
.
See also
*
Borwein's algorithm In mathematics, Borwein's algorithm is an algorithm devised by Jonathan Borwein, Jonathan and Peter Borwein to calculate the value of . They devised several other algorithms. They published the book ''Pi and the AGM – A Study in Analytic Number Th ...
*
Numerical approximations of
*
Ramanujan–Sato series In mathematics, a Ramanujan–Sato series generalizes Ramanujan’s pi formulas such as,
:\frac = \frac \sum_^\infty \frac \frac
to the form
:\frac = \sum_^\infty s(k) \frac
by using other well-defined sequences of integers s(k) obeying a cer ...
References
{{reflist
Pi algorithms