Stirling's approximation

From Wikipedia, the free encyclopedia

The ratio of (ln n!) to (n ln n − n) approaches unity as n increases.
The ratio of (ln n!) to (n ln nn) approaches unity as n increases.

In mathematics, Stirling's approximation (or Stirling's formula) is an approximation for large factorials. It is named in honour of James Stirling.

The formula is written as

n! \approx \sqrt{2\pi n}\, \left(\frac{n}{e}\right)^{n}.

Roughly, this means that these quantities approximate each other for all sufficiently large integers n. More precisely, Stirling's formula says that

\lim_{n \rightarrow \infty} {\frac{n!}{\sqrt{2\pi n}\, \left(\frac{n}{e}\right)^{n}}} = 1.

or

\lim_{n \rightarrow \infty} {\frac{e^n\, n!}{n^n \sqrt{n}}} = \sqrt{2 \pi}

Contents

[edit] Derivation

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

\ln(n!) = \ln 1 + \ln 2 + \cdots + \ln n.

The right-hand side of this equation is (almost) the approximation of the integral \int_1^n \ln(x)\,dx = n \ln n - n + 1 using the trapezoid rule, and the error in this approximation is given by the Euler–Maclaurin formula:

\ln (n!) - \frac{\ln n}{2} = \ln 1 + \ln 2 + \cdots + \ln(n-1) + \frac{\ln n}{2}
= n \ln n - n + 1 + \sum_{k=2}^{m} \frac{B_k {(-1)}^k}{k(k-1)} \left( \frac{1}{n^{k-1}} - 1 \right) + R_{m,n},

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

\lim_{n \to \infty} \left( \ln n! - n \ln n + n - \frac{\ln n}{2} \right) = 1 - \sum_{k=2}^{m} \frac{B_k {(-1)}^k}{k(k-1)} + \lim_{n \to \infty} R_{m,n}.

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

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:

\ln n! = n \ln \left( \frac{n}{e} \right) + \frac{\ln n}{2} + y + \sum_{k=2}^{m} \frac{B_k {(-1)}^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

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 e^y = \sqrt{2 \pi}. Therefore, we get Stirling's formula:

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 the method of steepest descent. Stirling's formula, without the factor \sqrt{2 \pi n} that is often irrelevant in applications, can be quickly obtained by approximating the sum

\ln(n!) = \sum_{j=1}^{n} \ln j

with an integral:

\sum_{j=1}^{n} \ln j \approx \int_1^n \ln x \, dx = n\ln n - n + 1.

[edit] Speed of convergence and error estimates

More precisely,

n! = \sqrt{2 \pi n} \; \left(\frac{n}{e}\right)^{n}e^{\lambda_n}

with

\frac{1}{12n+1} < \lambda_n < \frac{1}{12n}.

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


  n!=\sqrt{2\pi n}\left({n\over e}\right)^n
  \left(
   1
   +{1\over12n}
   +{1\over288n^2}
   -{139\over51840n^3}
   -{571\over2488320n^4}
   + \cdots
  \right).

As n \to \infty, 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.

The asymptotic expansion of the logarithm is also called Stirling's series:


  \ln n!=n\ln n - n + {1\over 2}\ln(2\pi n)
   +{1\over12n}
   -{1\over360n^3}
   +{1\over1260n^5}
   -{1\over 1680n^7}
   +\cdots.

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

[edit] Stirling's formula for the Gamma function

For all positive integers,

n! = Π(n) = Γ(n + 1).

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

\ln \Gamma (z) = \left(z-\frac12\right)\ln z -z + \frac{\ln {2 \pi}}{2} + 2 \int_0^\infty \frac{\arctan \frac{t}{z}}{\exp(2 \pi t)-1}\, dt.

Repeated integration by parts gives the asymptotic expansion

\ln \Gamma (z) = \left(z-\frac12\right)\ln z -z + \frac{\ln {2 \pi}}{2} + \sum_{n=1}^\infty \frac{(-1)^{n-1}B_{n}}{2n(2n-1)z^{2n-1}}

where Bn is the nth Bernoulli number. The formula is valid for z large enough in absolute value when |\arg z| < \pi - \epsilon, where ε is positive, with an error term of O(z m − 1 / 2) when the first m terms are used. The corresponding approximation may now be written:

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

[edit] 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.[1]

Obtaining a convergent version of Stirling's formula entails evaluating

\int_0^\infty \frac{2\arctan \frac{t}{z}}{\exp(2 \pi t)-1}\, dt
= \ln\Gamma (z) - \left( z-\frac12 \right) \ln z +z - \frac12\ln(2\pi).

One way to do this is by means of a convergent series of inverted rising exponentials. If z^{\overline n} = z(z+1) \cdots (z+n-1), then

\int_0^\infty \frac{2\arctan \frac{t}{z}}{\exp(2 \pi t)-1} \, dt
= \sum_{n=1}^\infty \frac{c_n}{(z+1)^{\overline n}}

where

 c_n = \frac{1}{n} \int_0^1 x^{\overline n} \left( x-\frac12 \right) \, dx.

From this we obtain a version of Stirling's series

\ln \Gamma (z) = \left( z-\frac12 \right) \ln z -z + \frac{\ln {2 \pi}}{2}
{} + \frac{1}{12(z+1)} + \frac{1}{12(z+1)(z+2)} + \frac{59}{360(z+1)(z+2)(z+3)} + \frac{29}{60(z+1)(z+2)(z+3)(z+4)} + \cdots

which converges when \Re(z)>0.

[edit] A version suitable for calculators

The approximation

\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,

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 (see ref. 'Toth').

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

\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,

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

[edit] History

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

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

Stirling's contribution consisted of showing that the constant is \sqrt{2\pi}. The more precise versions are due to Jacques Binet.

[edit] See also

[edit] References