# Stirling's approximation

(Redirected from Stirling's formula)
Comparison of Stirling's approximation with the factorial

In mathematics, Stirling's approximation (or Stirling's formula) is an approximation for factorials. It is a good quality approximation, leading to accurate results even for small values of n. It is named after James Stirling, though it was first stated by Abraham de Moivre.[1][2][3]

The formula as typically used in applications is

${\displaystyle \ln n!=n\ln n-n+O(\ln n)}$

or, for instance in the worst-case lower bound for comparison sorting (by changing the base of the logarithm),

${\displaystyle \log _{2}n!=n\log _{2}n-(\log _{2}e)n+O(\log _{2}n)}$

(in big O notation). The next term in the O(ln n) is 1/2ln(2πn); a more precise variant of the formula is therefore

${\displaystyle n!\sim {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n},}$

where the sign ~ means that the two quantities are asymptotic, that is, their ratio tends to 1 as n tends to infinity.

It is also possible to give a version of Stirling's formula with bounds valid for all positive integers n, rather than asymptotics: one has[4]

${\displaystyle {\sqrt {2\pi }}\ n^{n+{\frac {1}{2}}}e^{-n}\leq n!\leq e\ n^{n+{\frac {1}{2}}}e^{-n}}$

for all positive integers n. Thus the ratio

${\displaystyle {\frac {n!}{n^{n+{\frac {1}{2}}}e^{-n}}}}$

is always between 2π = 2.5066... and e = 2.71828....

## Derivation

The formula, together with precise estimates of its error, can be derived as follows. Instead of approximating n!, one considers its natural logarithm as this is a slowly varying function:

${\displaystyle \ln n!=\ln 1+\ln 2+\cdots +\ln n.}$

The right-hand side of this equation minus

${\displaystyle {\tfrac {1}{2}}(\ln 1+\ln n)={\tfrac {1}{2}}\ln n,}$

is the approximation by the trapezoid rule of the integral

${\displaystyle \ln n!-{\tfrac {1}{2}}\ln n\approx \int _{1}^{n}\ln x\,{\rm {d}}x=n\ln n-n+1,}$

and the error in this approximation is given by the Euler–Maclaurin formula:

{\displaystyle {\begin{aligned}\ln n!-{\tfrac {1}{2}}\ln n&={\tfrac {1}{2}}\ln 1+\ln 2+\ln 3+\cdots +\ln(n-1)+{\tfrac {1}{2}}\ln n\\&=n\ln n-n+1+\sum _{k=2}^{m}{\frac {(-1)^{k}B_{k}}{k(k-1)}}\left({\frac {1}{n^{k-1}}}-1\right)+R_{m,n},\end{aligned}}}

where Bk is a Bernoulli number and Rm,n is the remainder term in the Euler–Maclaurin formula. Take limits to find that

${\displaystyle \lim _{n\to \infty }\left(\ln n!-n\ln n+n-{\tfrac {1}{2}}\ln n\right)=1-\sum _{k=2}^{m}{\frac {(-1)^{k}B_{k}}{k(k-1)}}+\lim _{n\to \infty }R_{m,n}.}$

Denote this limit as y. Because the remainder Rm,n in the Euler–Maclaurin formula satisfies

${\displaystyle R_{m,n}=\lim _{n\to \infty }R_{m,n}+O\left({\frac {1}{n^{m}}}\right),}$

where we use big-O notation, combining the equations above yields the approximation formula in its logarithmic form:

${\displaystyle \ln n!=n\ln \left({\frac {n}{e}}\right)+{\tfrac {1}{2}}\ln n+y+\sum _{k=2}^{m}{\frac {(-1)^{k}B_{k}}{k(k-1)n^{k-1}}}+O\left({\frac {1}{n^{m}}}\right).}$

Taking the exponential of both sides, and choosing any positive integer m, we get a formula involving an unknown quantity ey. For m = 1, the formula is

${\displaystyle n!=e^{y}{\sqrt {n}}\left({\frac {n}{e}}\right)^{n}\left(1+O\left({\frac {1}{n}}\right)\right).}$

The quantity ey can be found by taking the limit on both sides as n tends to infinity and using Wallis' product, which shows that ey = . Therefore, we get Stirling's formula:

${\displaystyle n!={\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}\left(1+O\left({\frac {1}{n}}\right)\right).}$

The formula may also be obtained by repeated integration by parts, and the leading term can be found through Laplace's method. Stirling's formula, without the factor n that is often irrelevant in applications, can be quickly obtained by approximating the sum

${\displaystyle \ln n!=\sum _{j=1}^{n}\ln j}$

with an integral:

${\displaystyle \sum _{j=1}^{n}\ln j\approx \int _{1}^{n}\ln x\,{\rm {d}}x=n\ln n-n+1.}$

## An alternative derivation

An alternative formula for n! using the gamma function is

${\displaystyle n!=\int _{0}^{\infty }x^{n}e^{-x}\,{\rm {d}}x.}$

(as can be seen by repeated integration by parts). Rewriting and changing variables x = ny one gets

${\displaystyle n!=\int _{0}^{\infty }e^{n\ln x-x}\,{\rm {d}}x=e^{n\ln n}n\int _{0}^{\infty }e^{n(\ln y-y)}\,{\rm {d}}y.}$

Applying Laplace's method we have:

${\displaystyle \int _{0}^{\infty }e^{n(\ln y-y)}\,{\rm {d}}y\sim {\sqrt {\frac {2\pi }{n}}}e^{-n}}$

which recovers the Stirling's formula,

${\displaystyle n!\sim e^{n\ln n}n{\sqrt {\frac {2\pi }{n}}}e^{-n}={\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}.}$

In fact further corrections can also be obtained using Laplace's method. For example, computing two-order expansion using Laplace's method yields

${\displaystyle \int _{0}^{\infty }e^{n(\ln y-y)}\,{\rm {d}}y\sim {\sqrt {\frac {2\pi }{n}}}e^{-n}\left(1+{\frac {1}{12n}}\right)}$

and gives Stirling's formula to two orders,

${\displaystyle n!\sim e^{n\ln n}n{\sqrt {\frac {2\pi }{n}}}e^{-n}\left(1+{\frac {1}{12n}}\right)={\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}\left(1+{\frac {1}{12n}}\right).}$

## Speed of convergence and error estimates

The relative error in a truncated Stirling series vs. n, for 0 to 5 terms. The kinks in the curves represent points where the truncated series coincides with Γ(n + 1).

Stirling's formula is in fact the first approximation to the following series (now called the Stirling series):

${\displaystyle n!\sim {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}\left(1+{\frac {1}{12n}}+{\frac {1}{288n^{2}}}-{\frac {139}{51840n^{3}}}-{\frac {571}{2488320n^{4}}}+\cdots \right).}$

An explicit formula for the coefficients in this series was given by G. Nemes.[5] The first graph in this section shows the relative error vs. n, for 1 through all 5 terms listed above.

The relative error in a truncated Stirling series vs. the number of terms used

As n → ∞, the error in the truncated series is asymptotically equal to the first omitted term. This is an example of an asymptotic expansion. It is not a convergent series; for any particular value of n there are only so many terms of the series that improve accuracy, after which point accuracy actually gets worse. This is shown in the next graph, which shows the relative error versus the number of terms in the series, for larger numbers of terms. More precisely, let S(n, t) be the Stirling series to t terms evaluated at n. The graphs show

${\displaystyle \left|\ln \left({\frac {S(n,t)}{n!}}\right)\right|,}$

which, when small, is essentially the relative error.

Writing Stirling's series in the form

${\displaystyle \ln n!\sim n\ln n-n+{\tfrac {1}{2}}\ln(2\pi n)+{\frac {1}{12n}}-{\frac {1}{360n^{3}}}+{\frac {1}{1260n^{5}}}-{\frac {1}{1680n^{7}}}+\cdots ,}$

it is known that the error in truncating the series is always of the opposite sign and at most the same magnitude as the first omitted term.

More precise bounds, due to Robbins,[6] valid for all positive integers n are

${\displaystyle {\sqrt {2\pi }}\ n^{n+{\frac {1}{2}}}e^{-n}e^{\frac {1}{12n+1}}.

## Stirling's formula for the gamma function

For all positive integers,

${\displaystyle n!=\Gamma (n+1),}$

where Γ denotes the gamma function.

However, the gamma function, unlike the factorial, is more broadly defined for all complex numbers other than non-positive integers; nevertheless, Stirling's formula may still be applied. If Re(z) > 0 then

${\displaystyle \ln \Gamma (z)=z\ln z-z+{\tfrac {1}{2}}\ln {\frac {2\pi }{z}}+\int _{0}^{\infty }{\frac {2\arctan \left({\frac {t}{z}}\right)}{e^{2\pi t}-1}}\,{\rm {d}}t.}$

Repeated integration by parts gives

${\displaystyle \ln \Gamma (z)\sim z\ln z-z+{\tfrac {1}{2}}\ln {\frac {2\pi }{z}}+\sum _{n=1}^{\infty }{\frac {B_{2n}}{2n(2n-1)z^{2n-1}}}}$

where Bn is the nth Bernoulli number (note that the infinite sum is not convergent, so this formula is just an asymptotic expansion). The formula is valid for z large enough in absolute value when | arg(z) | < π − ε, where ε is positive, with an error term of O(z−2m − 1) when the first m terms are used. The corresponding approximation may now be written:

${\displaystyle \Gamma (z)={\sqrt {\frac {2\pi }{z}}}\,{\left({\frac {z}{e}}\right)}^{z}\left(1+O\left({\frac {1}{z}}\right)\right).}$

A further application of this asymptotic expansion is for complex argument z with constant Re(z). See for example the Stirling formula applied in Im(z) = t of the Riemann-Siegel theta function on the straight line 1/4 + it.

## Error bounds

For any positive integer N, we introduce the following notation:

${\displaystyle \ln \Gamma (z)=z\ln z-z+{\tfrac {1}{2}}\ln {\frac {2\pi }{z}}+\sum \limits _{n=1}^{N-1}{\frac {B_{2n}}{2n\left({2n-1}\right)z^{2n-1}}}+R_{N}(z)}$

and

${\displaystyle \Gamma (z)={\sqrt {\frac {2\pi }{z}}}\left({\frac {z}{e}}\right)^{z}\left({\sum \limits _{n=0}^{N-1}{\frac {a_{n}}{z^{n}}}+{\widetilde {R}}_{N}(z)}\right).}$

Then [7][8]

{\displaystyle {\begin{aligned}|R_{N}(z)|&\leq {\frac {|B_{2N}|}{2N(2N-1)|z|^{2N-1}}}{\begin{cases}1&{\text{ if }}|\arg z|\leq {\frac {\pi }{4}},\\|\csc(\arg z)|&{\text{ if }}{\frac {\pi }{4}}<|\arg z|<{\frac {\pi }{2}},\\\sec ^{2N}\left({\tfrac {\arg z}{2}}\right)&{\text{ if }}|\arg z|<\pi ,\end{cases}}\\[6pt]\left|{\widetilde {R}}_{N}(z)\right|&\leq \left({\frac {\left|a_{N}\right|}{|z|^{N}}}+{\frac {\left|a_{N+1}\right|}{|z|^{N+1}}}\right){\begin{cases}1&{\text{ if }}|\arg z|\leq {\frac {\pi }{4}},\\|\csc(\arg z)|&{\text{ if }}{\frac {\pi }{4}}<|\arg z|<{\frac {\pi }{2}}.\end{cases}}\end{aligned}}}

For further information and other error bounds, see the cited papers.

## A convergent version of Stirling's formula

Thomas Bayes showed, in a letter to John Canton published by the Royal Society in 1763, that Stirling's formula did not give a convergent series.[9] Obtaining a convergent version of Stirling's formula entails evaluating Raabe's formula:

${\displaystyle \int _{0}^{\infty }{\frac {2\arctan \left({\frac {t}{x}}\right)}{e^{2\pi t}-1}}\,{\rm {d}}t=\ln \Gamma (x)-x\ln x+x-{\tfrac {1}{2}}\ln {\frac {2\pi }{x}}.}$

One way to do this is by means of a convergent series of inverted rising exponentials. If

${\displaystyle z^{\bar {n}}=z(z+1)\cdots (z+n-1)}$

then

${\displaystyle \int _{0}^{\infty }{\frac {2\arctan \left({\frac {t}{x}}\right)}{e^{2\pi t}-1}}\,{\rm {d}}t=\sum _{n=1}^{\infty }{\frac {c_{n}}{(x+1)^{\bar {n}}}}}$

where

${\displaystyle c_{n}={\frac {1}{n}}\int _{0}^{1}x^{\bar {n}}\left(x-{\tfrac {1}{2}}\right)\,{\rm {d}}x={\frac {1}{2n}}\sum _{k=1}^{n}{\frac {k|s(n,k)|}{(k+1)(k+2)}}}$

where s(nk) denotes the Stirling numbers of the first kind. From this we obtain a version of Stirling's series

{\displaystyle {\begin{aligned}\ln \Gamma (x)&=x\ln x-x+{\tfrac {1}{2}}\ln {\frac {2\pi }{x}}+{\frac {1}{12(x+1)}}+{\frac {1}{12(x+1)(x+2)}}+\\&\quad +{\frac {59}{360(x+1)(x+2)(x+3)}}+{\frac {29}{60(x+1)(x+2)(x+3)(x+4)}}+\cdots \end{aligned}}}

which converges when Re(x) > 0.

## Versions suitable for calculators

The approximation:

${\displaystyle \Gamma (z)\approx {\sqrt {\frac {2\pi }{z}}}\left({\frac {z}{e}}{\sqrt {z\sinh {\frac {1}{z}}+{\frac {1}{810z^{6}}}}}\right)^{z},}$

or equivalently,

${\displaystyle 2\ln \Gamma (z)\approx \ln(2\pi )-\ln z+z\left(2\ln z+\ln \left(z\sinh {\frac {1}{z}}+{\frac {1}{810z^{6}}}\right)-2\right),}$

can be obtained by rearranging Stirling's extended formula and observing a coincidence between the resultant power series and the Taylor series expansion of the hyperbolic sine function. This approximation is good to more than 8 decimal digits for z with a real part greater than 8. Robert H. Windschitl suggested it in 2002 for computing the gamma function with fair accuracy on calculators with limited program or register memory.[10]

Gergő Nemes proposed in 2007 an approximation which gives the same number of exact digits as the Windschitl approximation but is much simpler:[11]

${\displaystyle \Gamma (z)\approx {\sqrt {\frac {2\pi }{z}}}\left({\frac {1}{e}}\left(z+{\frac {1}{12z-{\frac {1}{10z}}}}\right)\right)^{z},}$

or equivalently,

${\displaystyle \ln \Gamma (z)\approx {\tfrac {1}{2}}\left(\ln(2\pi )-\ln z\right)+z\left(\ln \left(z+{\frac {1}{12z-{\frac {1}{10z}}}}\right)-1\right).}$

An alternative approximation for ln n! was also given by Srinivasa Ramanujan (Ramanujan 1988)

${\displaystyle \ln n!\approx n\ln n-n+{\tfrac {1}{6}}\ln(n(1+4n(1+2n)))+{\tfrac {1}{2}}\ln \pi .}$

## History

The formula was first discovered by Abraham de Moivre[2] in the form

${\displaystyle n!\sim [{\rm {constant}}]\cdot n^{n+{\frac {1}{2}}}e^{-n}.}$

De Moivre gave an expression for the constant in terms of its natural logarithm. Stirling's contribution consisted of showing that the constant is .[3]

## Notes

1. ^ Dutka, Jacques (1991), "The early history of the factorial function", Archive for History of Exact Sciences, Springer, 43 (3): 225–249, doi:10.1007/BF00389433
2. ^ a b Le Cam, L. (1986), "The central limit theorem around 1935", Statistical Science, 1 (1): 78–96 [p. 81], doi:10.1214/ss/1177013818, The result, obtained using a formula originally proved by de Moivre but now called Stirling's formula, occurs in his `Doctrine of Chances' of 1733..[unreliable source?]
3. ^ a b Pearson, Karl (1924), "Historical note on the origin of the normal curve of errors", Biometrika, 16: 402–404 [p. 403], doi:10.2307/2331714, I consider that the fact that Stirling showed that De Moivre's arithmetical constant was 2π does not entitle him to claim the theorem, [...]
4. ^ Bollobás, Béla (1998), "Modern Graph Theory", Graduate Texts in Mathematics, Springer: 216, doi:10.1007/978-1-4612-0619-4
5. ^ Nemes, Gergő (2010), "On the Coefficients of the Asymptotic Expansion of n!", Journal of Integer Sequences, 13 (6): 5 pp.
6. ^ Robbins, Herbert (1955), "A Remark on Stirling's Formula", The American Mathematical Monthly, 62 (1): 26–29 pp., doi:10.2307/2308012
7. ^ F. W. Schäfke, A. Sattler, Restgliedabschätzungen für die Stirlingsche Reihe, Note. Mat. 10 (1990), 453–470.
8. ^ G. Nemes, Error bounds and exponential improvements for the asymptotic expansions of the gamma function and its reciprocal, Proc. Roy. Soc. Edinburgh Sect. A 145 (2015), 571–596.
9. ^ http://www.york.ac.uk/depts/maths/histstat/letter.pdf
10. ^ Toth, V. T. Programmable Calculators: Calculators and the Gamma Function (2006)
11. ^ Nemes, Gergő (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik, 95 (2): 161–169, doi:10.1007/s00013-010-0146-9, ISSN 0003-889X.

## References

• Olver, F. W. J.; Olde Daalhuis, A. B.; Lozier, D. W.; Schneider, B. I.; Boisvert, R. F.; Clark, C. W.; Miller, B. R. & Saunders, B. V., NIST Digital Library of Mathematical Functions, Release 1.0.13 of 2016-09-16
• Abramowitz, M. & Stegun, I. (2002), Handbook of Mathematical Functions
• Nemes, G. (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik, 95 (2): 161–169, doi:10.1007/s00013-010-0146-9
• Paris, R. B. & Kaminski, D. (2001), Asymptotics and the Mellin–Barnes Integrals, New York: Cambridge University Press, ISBN 0-521-79001-8
• Whittaker, E. T. & Watson, G. N. (1996), A Course in Modern Analysis (4th ed.), New York: Cambridge University Press, ISBN 0-521-58807-3
• Dan Romik, Stirling’s Approximation for n!: The Ultimate Short Proof?, The American Mathematical Monthly, Vol. 107, No. 6 (Jun. – Jul., 2000), 556–557.
• Y.-C. Li, A Note on an Identity of The Gamma Function and Stirling’s Formula, Real Analysis Exchang, Vol. 32(1), 2006/2007, pp. 267–272.