# Borwein's algorithm

In mathematics, Borwein's algorithm is an algorithm devised by Jonathan and Peter Borwein to calculate the value of 1/π. They devised several other algorithms. They published the book Pi and the AGM – A Study in Analytic Number Theory and Computational Complexity.

## Ramanujan–Sato series

These two are examples of a Ramanujan–Sato series. The related Chudnovsky algorithm uses a discriminant with class number 1.

### Class number 2 (1989)

Start by setting[citation needed]

{\begin{aligned}A&=212175710912{\sqrt {61}}+1657145277365\\B&=13773980892672{\sqrt {61}}+107578229802750\\C&=\left(5280\left(236674+30303{\sqrt {61}}\right)\right)^{3}\end{aligned}} Then

${\frac {1}{\pi }}=12\sum _{n=0}^{\infty }{\frac {(-1)^{n}(6n)!\,(A+nB)}{(n!)^{3}(3n)!\,C^{n+{\frac {1}{2}}}}}$ Each additional term of the partial sum yields approximately 25 digits.

### Class number 4 (1993)

Start by setting[citation needed]

{\begin{aligned}A={}&63365028312971999585426220\\&{}+28337702140800842046825600{\sqrt {5}}\\&{}+384{\sqrt {5}}{\big (}10891728551171178200467436212395209160385656017\\&{}+\left.4870929086578810225077338534541688721351255040{\sqrt {5}}\right)^{\frac {1}{2}}\\B={}&7849910453496627210289749000\\&{}+3510586678260932028965606400{\sqrt {5}}\\&{}+2515968{\sqrt {3110}}{\big (}6260208323789001636993322654444020882161\\&{}+\left.2799650273060444296577206890718825190235{\sqrt {5}}\right)^{\frac {1}{2}}\\C={}&-214772995063512240\\&{}-96049403338648032{\sqrt {5}}\\&{}-1296{\sqrt {5}}{\big (}10985234579463550323713318473\\&{}+\left.4912746253692362754607395912{\sqrt {5}}\right)^{\frac {1}{2}}\end{aligned}} Then

${\frac {\sqrt {-C^{3}}}{\pi }}=\sum _{n=0}^{\infty }{{\frac {(6n)!}{(3n)!(n!)^{3}}}{\frac {A+nB}{C^{3n}}}}$ Each additional term of the series yields approximately 50 digits.

## Iterative algorithms

Start by setting

{\begin{aligned}a_{0}&={\sqrt {2}}\\b_{0}&=0\\p_{0}&=2+{\sqrt {2}}\end{aligned}} Then iterate

{\begin{aligned}a_{n+1}&={\frac {{\sqrt {a_{n}}}+{\frac {1}{\sqrt {a_{n}}}}}{2}}\\b_{n+1}&={\frac {(1+b_{n}){\sqrt {a_{n}}}}{a_{n}+b_{n}}}\\p_{n+1}&={\frac {(1+a_{n+1})\,p_{n}b_{n+1}}{1+b_{n+1}}}\end{aligned}} Then pk converges quadratically to π; that is, each iteration approximately doubles the number of correct digits. The algorithm is not self-correcting; each iteration must be performed with the desired number of correct digits for π's final result.

### Cubic convergence (1991)

Start by setting

{\begin{aligned}a_{0}&={\frac {1}{3}}\\s_{0}&={\frac {{\sqrt {3}}-1}{2}}\end{aligned}} Then iterate

{\begin{aligned}r_{k+1}&={\frac {3}{1+2\left(1-s_{k}^{3}\right)^{\frac {1}{3}}}}\\s_{k+1}&={\frac {r_{k+1}-1}{2}}\\a_{k+1}&=r_{k+1}^{2}a_{k}-3^{k}\left(r_{k+1}^{2}-1\right)\end{aligned}} Then ak converges cubically to 1/π; that is, each iteration approximately triples the number of correct digits.

### Quartic convergence (1985)

Start by setting

{\begin{aligned}a_{0}&=2\left({\sqrt {2}}-1\right)^{2}\\y_{0}&={\sqrt {2}}-1\end{aligned}} Then iterate

{\begin{aligned}y_{k+1}&={\frac {1-\left(1-y_{k}^{4}\right)^{\frac {1}{4}}}{1+\left(1-y_{k}^{4}\right)^{\frac {1}{4}}}}\\a_{k+1}&=a_{k}\left(1+y_{k+1}\right)^{4}-2^{2k+3}y_{k+1}\left(1+y_{k+1}+y_{k+1}^{2}\right)\end{aligned}} Then ak converges quartically against 1/π; that is, each iteration approximately quadruples the number of correct digits. The algorithm is not self-correcting; each iteration must be performed with the desired number of correct digits for π's final result.

One iteration of this algorithm is equivalent to two iterations of the Gauss–Legendre algorithm. A proof of these algorithms can be found here:

### Quintic convergence

Start by setting

{\begin{aligned}a_{0}&={\frac {1}{2}}\\s_{0}&=5\left({\sqrt {5}}-2\right)={\frac {5}{\phi ^{3}}}\end{aligned}} where $\phi ={\tfrac {1+{\sqrt {5}}}{2}}$ is the golden ratio. Then iterate

{\begin{aligned}x_{n+1}&={\frac {5}{s_{n}}}-1\\y_{n+1}&=\left(x_{n+1}-1\right)^{2}+7\\z_{n+1}&=\left({\frac {1}{2}}x_{n+1}\left(y_{n+1}+{\sqrt {y_{n+1}^{2}-4x_{n+1}^{3}}}\right)\right)^{\frac {1}{5}}\\a_{n+1}&=s_{n}^{2}a_{n}-5^{n}\left({\frac {s_{n}^{2}-5}{2}}+{\sqrt {s_{n}\left(s_{n}^{2}-2s_{n}+5\right)}}\right)\\s_{n+1}&={\frac {25}{\left(z_{n+1}+{\frac {x_{n+1}}{z_{n+1}}}+1\right)^{2}s_{n}}}\end{aligned}} Then ak converges quintically to 1/π (that is, each iteration approximately quintuples the number of correct digits), and the following condition holds:

$0 ### Nonic convergence

Start by setting

{\begin{aligned}a_{0}&={\frac {1}{3}}\\r_{0}&={\frac {{\sqrt {3}}-1}{2}}\\s_{0}&=\left(1-r_{0}^{3}\right)^{\frac {1}{3}}\end{aligned}} Then iterate

{\begin{aligned}t_{n+1}&=1+2r_{n}\\u_{n+1}&=\left(9r_{n}\left(1+r_{n}+r_{n}^{2}\right)\right)^{\frac {1}{3}}\\v_{n+1}&=t_{n+1}^{2}+t_{n+1}u_{n+1}+u_{n+1}^{2}\\w_{n+1}&={\frac {27\left(1+s_{n}+s_{n}^{2}\right)}{v_{n+1}}}\\a_{n+1}&=w_{n+1}a_{n}+3^{2n-1}\left(1-w_{n+1}\right)\\s_{n+1}&={\frac {\left(1-r_{n}\right)^{3}}{\left(t_{n+1}+2u_{n+1}\right)v_{n+1}}}\\r_{n+1}&=\left(1-s_{n+1}^{3}\right)^{\frac {1}{3}}\end{aligned}} Then ak converges nonically to 1/π; that is, each iteration approximately multiplies the number of correct digits by nine.