Intro

In mathematics, Stirlingā€™s approximation (or Stirlingā€™s formula) is an approximation for factorials. It is a good approximation, leading to accurate results even for small values of . It is named after James Stirling, though a related but less precise result was first stated by Abraham de Moivre.

One way of stating the approximation involves the logarithm of the factorial: where the big O notation means that, for all sufficiently large values of , the difference between and will be at most proportional (ę­£ęƔäŗŽ) to the logarithm.

In computer science applications such as the worst-case lower bound for comparison-based sorting, it is convenient to instead use the binary logarithm, giving the equivalent form
The error term in either base can be expressed more precisely as , corresponding to an approximate formula for the factorial itself, Here the sign means that the two quantities are asymptotic, that is, that their ratio tends to 1 as tends to infinity.

The following version of the bound holds for all , rather than only asymptotically:

Derivation

Roughly speaking, the simplest version of Stirlingā€™s formula can be quickly obtained by approximating the sum with an integral:

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

The right-hand side of this equation minus

is the approximation by the trapezoid rule of the integral

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 B_{k} is a Bernoulli number, and R__m,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 R__m,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 big-O notation is used, 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, one obtains a formula involving an unknown quantity e^{y}. 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 e^{y} can be found by taking the limit on both sides as n tends to infinity and using Wallisā€™ product, which shows that {\displaystyle e^{y}={\sqrt {2\pi }}}. Therefore, one obtains Stirlingā€™s formula:

Alternative derivations

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 obtains {\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 one has {\displaystyle \int _{0}^{\infty }e^{n(\ln y-y)},{\rm {d}}y\sim {\sqrt {\frac {2\pi }{n}}}e^{-n},} which recovers 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}.}

Higher orders

In fact, further corrections can also be obtained using Laplaceā€™s method. From previous result, we know that {\displaystyle \Gamma (x)\sim x^{x}e^{-x}}, so we ā€œpeel offā€ this dominant term, then perform a change of variables, to obtain:

{\displaystyle x^{-x}e^{x}\Gamma (x)=\int _{\mathbb {R} }e^{x(1+t-e^{t})}dt} Now the function {\displaystyle t\mapsto 1+t-e^{t}} is unimodal, with maximum value zero. Locally around zero, it looks like {\displaystyle -t^{2}/2}, which is why we are able to perform Laplaceā€™s method. In order to extend Laplaceā€™s method to higher orders, we perform another change of variables by {\displaystyle 1+t-e^{t}=-\tau ^{2}/2}. This equation cannot be solved in closed form, but it can be solved by serial expansion, which gives us {\displaystyle t=\tau -\tau ^{2}/6+\tau ^{3}/36+a_{4}\tau ^{4}+O(\tau ^{5})}. Now plug back to the equation to obtain {\displaystyle x^{-x}e^{x}\Gamma (x)=\int {\mathbb {R} }e^{-x\tau ^{2}/2}(1-\tau /3+\tau ^{2}/12+4a{4}\tau ^{3}+O(\tau ^{4}))d\tau ={\sqrt {2\pi }}(x^{-1/2}+x^{-3/2}/12)+O(x^{-5/2})} notice how we donā€™t need to actually find a_4, since it is cancelled out by the integral. Higher orders can be achieved by computing more terms in {\displaystyle t=\tau +\cdots }.

Thus we get Stirlingā€™s formula to two orders:

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

Complex-analytic version

A complex-analysis version of this method is to consider {\displaystyle {\frac {1}{n!}}} as a Taylor coefficient of the exponential function {\displaystyle e^{z}=\sum _{n=0}^{\infty }{\frac {z^{n}}{n!}}}, computed by Cauchyā€™s integral formula as

{\displaystyle {\frac {1}{n!}}={\frac {1}{2\pi i}}\oint \limits _{|z|=r}{\frac {e^{z}}{z^{n+1}}},\mathrm {d} z.}

This line integral can then be approximated using the saddle-point method with an appropriate choice of contour radius {\displaystyle r=r_{n}}. The dominant portion of the integral near the saddle point is then approximated by a real integral and Laplaceā€™s method, while the remaining portion of the integral can be bounded above to give an error term.

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. Further terms are listed in the On-Line Encyclopedia of Integer Sequences as A001163 and A001164. The first graph in this section shows the relative error vs. n, for 1 through all 5 terms listed above. (Bender and Orszag p. 218) gives the asymptotic formula for the coefficients:

{\displaystyle A_{2j+1}\sim (-1)^{j}2(2j)!/(2\pi )^{2(j+1)}} which shows that it grows superexponentially, and that by ratio test the radius of convergence is zero.

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 accuracy worsens. 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, valid for all positive integers n are

{\displaystyle {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}e^{\frac {1}{12n+1}}<n!<{\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}e^{\frac {1}{12n}}.} A looser version of this bound is that ![{\displaystyle {\frac {n! e^{n}}{n^{n+{\frac {1}{2}}}}}\in ({\sqrt {2\pi }}, e]}]( https://wikimedia.org/api/rest_v1/media/math/render/svg/809b4def5f2cd3a4f66ee3651b61f8c5d1f7e5b8 ) for all n\geq 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}^{N-1}{\frac {B{2n}}{2n(2n-1)z^{2n-1}}},}

where B_{n} is the n th Bernoulli number (note that the limit of the sum as N\to \infty 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āˆ’2_N_+ 1). 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).}

where the expansion is identical to that of Stirlingā€™s series above for n!, except that n is replaced with z āˆ’ 1.

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 .

Error bounds

For any positive integer N, the following notation is introduced:

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

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. Obtaining a convergent version of Stirlingā€™s formula entails evaluating Binetā€™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 factorials. 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(n,Ā k) denotes the Stirling numbers of the first kind. From this one obtains 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. Stirlingā€™s formula may also be given in convergent form as {\displaystyle \Gamma (x)={\sqrt {2\pi }}x^{x-{\frac {1}{2}}}e^{-x+\mu (x)}} where {\displaystyle \mu \left(x\right)=\sum _{n=0}^{\infty }\left(\left(x+n+{\frac {1}{2}}\right)\ln \left(1+{\frac {1}{x+n}}\right)-1\right).}

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}} and its equivalent form {\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.

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

{\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 the gamma function stated by Srinivasa Ramanujan (Ramanujan 1988[clarification needed]) is

{\displaystyle \Gamma (1+x)\approx {\sqrt {\pi }}\left({\frac {x}{e}}\right)^{x}\left(8x^{3}+4x^{2}+x+{\frac {1}{30}}\right)^{\frac {1}{6}}} for x ā‰„ 0. The equivalent approximation for ln n! has an asymptotic error of 1/1400_n_3 and is given by {\displaystyle \ln n!\approx n\ln n-n+{\tfrac {1}{6}}\ln(8n^{3}+4n^{2}+n+{\tfrac {1}{30}})+{\tfrac {1}{2}}\ln \pi .}

The approximation may be made precise by giving paired upper and lower bounds; one such inequality is

{\displaystyle {\sqrt {\pi }}\left({\frac {x}{e}}\right)^{x}\left(8x^{3}+4x^{2}+x+{\frac {1}{100}}\right)^{1/6}<\Gamma (1+x)<{\sqrt {\pi }}\left({\frac {x}{e}}\right)^{x}\left(8x^{3}+4x^{2}+x+{\frac {1}{30}}\right)^{1/6}.}

History


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

De Moivre gave an approximate rational-number expression for the natural logarithm of the constant. Stirlingā€™s contribution consisted of showing that the constant is precisely {\displaystyle {\sqrt {2\pi }}}.

See also


  • Lanczos approximation
  • Spougeā€™s approximation

References


  1. ^
  2. ^ Jump up to: a b Le Cam, L. (1986), ā€œThe central limit theorem around 1935ā€, Statistical Science, 1 (1): 78ā€“96, doi: 10.1214/ss/1177013818, JSTORĀ 2245503, MRĀ 0833276; see p. 81, ā€œ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.ā€
  3. ^ Jump up to: a b Pearson, Karl (1924), ā€œHistorical note on the origin of the normal curve of errorsā€, Biometrika, 16 (3/4): 402ā€“404 [p. 403], doi: 10.2307/2331714, JSTORĀ 2331714, I consider that the fact that Stirling showed that De Moivreā€™s arithmetical constant was {\sqrt {2\pi }} does not entitle him to claim the theorem, [ā€¦]
  4. ^ Flajolet, Philippe; Sedgewick, Robert (2009), Analytic Combinatorics, Cambridge, UK: Cambridge University Press, p.Ā 555, doi: 10.1017/CBO9780511801655, ISBNĀ 978-0-521-89806-5, MRĀ 2483235, S2CIDĀ 27509971
  5. ^ 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., ā€œ5.11 Gamma function properties: Asymptotic Expansionsā€, NIST Digital Library of Mathematical Functions, Release 1.0.13 of 2016-09-16
  6. ^ Nemes, Gergő (2010), ā€œOn the coefficients of the asymptotic expansion of n!ā€, Journal of Integer Sequences, 13 (6): 5
  7. ^ Bender, Carl M.; Orszag, Steven A. (2009). Advanced mathematical methods for scientists and engineers. 1: Asymptotic methods and perturbation theory (Nachdr.Ā ed.). New York, NY: Springer. ISBNĀ 978-0-387-98931-0.
  8. ^ Robbins, Herbert (1955), ā€œA Remark on Stirlingā€™s Formulaā€, The American Mathematical Monthly, 62 (1): 26ā€“29, doi: 10.2307/2308012, JSTORĀ 2308012
  9. ^ Spiegel, M. R. (1999), Mathematical handbook of formulas and tables, McGraw-Hill, p.Ā 148
  10. ^ SchƤfke, F. W.; Sattler, A. (1990), ā€œRestgliedabschƤtzungen fĆ¼r die Stirlingsche Reiheā€, Note di Matematica, 10 (suppl. 2): 453ā€“470, MRĀ 1221957
  11. ^ 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.
  12. ^ Bayes, Thomas (24 November 1763), ā€œA letter from the late Reverend Mr. Thomas Bayes, F. R. S. to John Canton, M. A. and F. R. S.ā€ (PDF), Philosophical Transactions of the Royal Society of London Series I, 53: 269, Bibcode: 1763RSPTā€¦ 53.. 269B, archived (PDF) from the original on 2012-01-28, retrieved 2012-03-01
  13. ^ Artin, Emil (2015). The Gamma Function. Dover. p.Ā 24.
  14. ^ Toth, V. T. Programmable Calculators: Calculators and the Gamma Function (2006) Archived 2005-12-31 at the Wayback Machine.
  15. ^ Nemes, Gergő (2010), ā€œNew asymptotic expansion for the Gamma functionā€, Archiv der Mathematik, 95 (2): 161ā€“169, doi: 10.1007/s00013-010-0146-9, S2CIDĀ 121820640
  16. ^ Karatsuba, Ekatherina A. (2001), ā€œOn the asymptotic representation of the Euler gamma function by Ramanujanā€, Journal of Computational and Applied Mathematics, 135 (2): 225ā€“240, Bibcode: 2001JCoAM. 135.. 225K, doi: 10.1016/S0377-0427 (00) 00586-0, MRĀ 1850542
  17. ^ Mortici, Cristinel (2011), ā€œRamanujanā€™s estimate for the gamma function via monotonicity argumentsā€, Ramanujan J., 25 (2): 149ā€“154, doi: 10.1007/s11139-010-9265-y, S2CIDĀ 119530041
  18. ^ Mortici, Cristinel (2011), ā€œImproved asymptotic formulas for the gamma functionā€, Comput. Math. Appl., 61 (11): 3364ā€“3369, doi: 10.1016/j.camwa. 2011.04.036.
  19. ^ Mortici, Cristinel (2011), ā€œOn Ramanujanā€™s large argument formula for the gamma functionā€, Ramanujan J., 26 (2): 185ā€“192, doi: 10.1007/s11139-010-9281-y, S2CIDĀ 120371952.