Jump to content

Stirling's approximation: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Undo. Still unsourced, still misleading in including the log term but with an incorrect coefficient. Deadlink is not relevant for paper books.
Tag: Reverted
clarified what the big O notation means
 
(46 intermediate revisions by 20 users not shown)
Line 1: Line 1:
{{short description|Approximation for factorials}}
{{short description|Approximation for factorials}}
[[File:Mplwp factorial gamma stirling.svg|thumb|right|upright=1.35|Comparison of Stirling's approximation with the factorial]]
[[File:Mplwp factorial gamma stirling.svg|thumb|right|upright=1.35|Comparison of Stirling's approximation with the factorial]]
In [[mathematics]], '''Stirling's approximation''' (or '''Stirling's formula''') is an approximation for [[factorial]]s. It is a good approximation, leading to accurate results even for small values of <math>n</math>. It is named after [[James Stirling (mathematician)|James Stirling]], though a related but less precise result was first stated by [[Abraham de Moivre]].{{r|dutka|LeCam1986|Pearson1924}}
In [[mathematics]], '''Stirling's approximation''' (or '''Stirling's formula''') is an [[Asymptotic analysis|asymptotic]] approximation for [[factorial]]s. It is a good approximation, leading to accurate results even for small values of <math>n</math>. It is named after [[James Stirling (mathematician)|James Stirling]], though a related but less precise result was first stated by [[Abraham de Moivre]].{{r|dutka|LeCam1986|Pearson1924}}


One way of stating the approximation involves the [[logarithm]] of the factorial:
The version of the formula typically used in applications is
<math display=block>\ln(n!) = n\ln n - n +\Theta(\ln n)</math>
<math display=block>\ln(n!) = n\ln n - n +O(\ln n),</math>
(in [[Big O notation#Family of Bachmann–Landau notations|Big Theta notation]], as <math>n\to\infty</math>), or, by changing the base of the logarithm (for instance in the [[Comparison sort#Number of comparisons required to sort a list|worst-case lower bound for comparison sorting]]),
where the [[big O notation]] means that, for all sufficiently large values of <math>n</math>, the difference between <math>\ln(n!)</math> and <math>n\ln n-n</math> will be at most proportional to the logarithm of <math>n</math>. In computer science applications such as the [[Comparison sort#Number of comparisons required to sort a list|worst-case lower bound for comparison sorting]], it is convenient to instead use the [[binary logarithm]], giving the equivalent form
<math display=block>\log_2 (n!) = n\log_2 n - n\log_2 e +\Theta(\log_2 n).</math> Specifying the constant in the <math>\Theta(\ln n)</math> error term gives {{math|{{sfrac|1|2}}ln(2''πn'')}}, yielding the more precise formula:
<math display=block>\log_2 (n!) = n\log_2 n - n\log_2 e +O(\log_2 n).</math> The error term in either base can be expressed more precisely as <math>\tfrac12\log(2\pi n)+O(\tfrac1n)</math>, corresponding to an approximate formula for the factorial itself,
<math display=block>n! \sim \sqrt{2 \pi n}\left(\frac{n}{e}\right)^n,</math>
<math display=block>n! \sim \sqrt{2 \pi n}\left(\frac{n}{e}\right)^n.</math>
where the sign ~ means that the two quantities are [[Asymptotic analysis|asymptotic]]: their ratio tends to 1 as <math>n</math> tends to infinity. The following version of the bound [[Stirling's approximation#Speed of convergence and error estimates|holds for all <math>n \ge 1</math>, rather than only asymptotically]]:
Here the sign <math>\sim</math> means that the two quantities are [[Asymptotic analysis|asymptotic]], that is, that their ratio tends to 1 as <math>n</math> tends to infinity. The following version of the bound [[Stirling's approximation#Speed of convergence and error estimates|holds for all <math>n \ge 1</math>, rather than only asymptotically]]:
<math display=block>\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}}. </math>
<math display=block>\sqrt{2 \pi n}\ \left(\frac{n}{e}\right)^n e^{\left(\frac{1}{12n} - \frac{1}{360n^3}\right)} < n! < \sqrt{2 \pi n}\ \left(\frac{n}{e}\right)^n e^{\frac{1}{12n}}. </math>


== Derivation ==
== Derivation ==
Line 34: Line 34:
<math display=block>\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}.</math>
<math display=block>\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}.</math>


Denote this limit as <math>y</math>. Because the remainder {{math|''R''<sub>''m'',''n''</sub>}} in the [[Euler–Maclaurin formula]] satisfies
Denote this limit as <math>y</math>. Because the remainder {{math|''R''<sub>''m'',''n''</sub>}} in the Euler–Maclaurin formula satisfies
<math display=block>R_{m,n} = \lim_{n \to \infty} R_{m,n} + O \left( \frac{1}{n^m} \right),</math>
<math display=block>R_{m,n} = \lim_{n \to \infty} R_{m,n} + O \left( \frac{1}{n^m} \right),</math>


Line 46: Line 46:
<math display=block>n! = \sqrt{2 \pi n} \left( \frac{n}{e} \right)^n \left( 1 + O \left( \frac{1}{n} \right) \right).</math>
<math display=block>n! = \sqrt{2 \pi n} \left( \frac{n}{e} \right)^n \left( 1 + O \left( \frac{1}{n} \right) \right).</math>


== Alternative derivation ==
== Alternative derivations ==
An alternative formula for <math>n!</math> using the [[gamma function]] is
An alternative formula for <math>n!</math> using the [[gamma function]] is
<math display=block> n! = \int_0^\infty x^n e^{-x}\,{\rm d}x.</math>
<math display=block> n! = \int_0^\infty x^n e^{-x}\,{\rm d}x.</math>
Line 57: Line 57:
= \sqrt{2\pi n}\left(\frac{n}{e}\right)^n.
= \sqrt{2\pi n}\left(\frac{n}{e}\right)^n.
</math>
</math>

In fact, further corrections can also be obtained using Laplace's method. For example, computing two-order expansion using Laplace's method yields (using [[little-o notation]])
=== Higher orders ===
<math display=block>\int_0^\infty e^{n(\ln y-y)}\,{\rm d}y = \sqrt{\frac{2\pi}{n}} e^{-n}
In fact, further corrections can also be obtained using Laplace's method. From previous result, we know that <math>\Gamma(x) \sim x^x e^{-x}</math>, so we "peel off" this dominant term, then perform two changes of variables, to obtain:<math display="block">x^{-x}e^x\Gamma(x) = \int_\R e^{x(1+t-e^t)}dt</math>To verify this: <math>\int_\R e^{x(1+t-e^t)}dt \overset{t \mapsto \ln t}{=} e^x \int_0^\infty t^{x-1} e^{-xt} dt \overset{t \mapsto t/x}{=} x^{-x} e^x \int_0^\infty e^{-t} t^{x-1} dt = x^{-x} e^x \Gamma(x)</math>.
\left(1+\frac{1}{12 n}+o\left(\frac{1}{n}\right)\right)</math>

and gives Stirling's formula to two orders:
Now the function <math>t \mapsto 1+t - e^t</math> is unimodal, with maximum value zero. Locally around zero, it looks like <math>-t^2/2</math>, 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 <math>1+t-e^t = -\tau^2/2</math>. This equation cannot be solved in closed form, but it can be solved by serial expansion, which gives us <math>t = \tau - \tau^2/6 + \tau^3/36 + a_4 \tau^4 + O(\tau^5) </math>. Now plug back to the equation to obtain<math display="block">x^{-x}e^x\Gamma(x) = \int_\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})</math>notice how we don't need to actually find <math>a_4</math>, since it is cancelled out by the integral. Higher orders can be achieved by computing more terms in <math>t = \tau + \cdots</math>, which can be obtained programmatically.{{NoteTag|note=For example, a program in Mathematica: <syntaxhighlight lang="mathematica">
<math display=block> n! = \sqrt{2\pi n}\left(\frac{n}{e}\right)^n \left(1 + \frac{1}{12 n}+o\left(\frac{1}{n}\right) \right).
series = tau - tau^2/6 + tau^3/36 + tau^4*a + tau^5*b;
(*pick the right a,b to make the series equal 0 at higher orders*)
Series[tau^2/2 + 1 + t - Exp[t] /. t -> series, {tau, 0, 8}]

(*now do the integral*)
integral = Integrate[Exp[-x*tau^2/2] * D[series /. a -> 0 /. b -> 0, tau], {tau, -Infinity, Infinity}];
Simplify[integral/Sqrt[2*Pi]*Sqrt[x]]

</syntaxhighlight>|name=mathematica-program|content=content|text=text}}

Thus we get Stirling's formula to two orders:<math display="block"> n! = \sqrt{2\pi n}\left(\frac{n}{e}\right)^n \left(1 + \frac{1}{12 n}+O\left(\frac{1}{n^2}\right) \right).
</math>
</math>


=== Complex-analytic version ===
A complex-analysis version of this method{{r|flajolet-sedgewick}} is to consider <math>\frac{1}{n!}</math> as a [[Taylor series|Taylor coefficient]] of the exponential function <math>e^z = \sum_{n=0}^\infty \frac{z^n}{n!}</math>, computed by [[Cauchy's integral formula]] as
A complex-analysis version of this method{{r|flajolet-sedgewick}} is to consider <math>\frac{1}{n!}</math> as a [[Taylor series|Taylor coefficient]] of the exponential function <math>e^z = \sum_{n=0}^\infty \frac{z^n}{n!}</math>, computed by [[Cauchy's integral formula]] as
<math display=block>\frac{1}{n!} = \frac{1}{2\pi i} \oint\limits_{|z|=r} \frac{e^z}{z^{n+1}} \, \mathrm dz. </math>
<math display="block">\frac{1}{n!} = \frac{1}{2\pi i} \oint\limits_{|z|=r} \frac{e^z}{z^{n+1}} \, \mathrm dz. </math>


This line integral can then be approximated using the [[Method of steepest descent|saddle-point method]] with an appropriate choice of countour radius <math>r = r_n</math>. 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.
This line integral can then be approximated using the [[Method of steepest descent|saddle-point method]] with an appropriate choice of contour radius <math>r = r_n</math>. 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 ==
== Speed of convergence and error estimates ==
Line 76: Line 88:
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).</math>
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).</math>


An explicit formula for the coefficients in this series was given by G. Nemes.{{r|Nemes2010-2}} Further terms are listed in the [[On-Line Encyclopedia of Integer Sequences]] as {{OEIS link|A001163}} and {{OEIS link|A001164}}. The first graph in this section shows the [[Approximation error|relative error]] vs. <math>n</math>, for 1 through all 5 terms listed above.
An explicit formula for the coefficients in this series was given by G. Nemes.{{r|Nemes2010-2}} Further terms are listed in the [[On-Line Encyclopedia of Integer Sequences]] as {{OEIS link|A001163}} and {{OEIS link|A001164}}. The first graph in this section shows the [[Approximation error|relative error]] vs. <math>n</math>, for 1 through all 5 terms listed above. (Bender and Orszag<ref>{{Cite book |last1=Bender |first1=Carl M. |title=Advanced mathematical methods for scientists and engineers. 1: Asymptotic methods and perturbation theory |last2=Orszag |first2=Steven A. |date=2009 |publisher=Springer |isbn=978-0-387-98931-0 |edition=Nachdr. |location=New York, NY}}</ref> p.&nbsp;218) gives the asymptotic formula for the coefficients:<math display="block">A_{2 j+1} \sim(-1)^j 2(2 j) ! /(2 \pi)^{2(j+1)}</math>which shows that it grows superexponentially, and that by [[ratio test]] the [[radius of convergence]] is zero.


[[File:Stirling error vs number of terms.svg|thumb|upright=1.8|The relative error in a truncated Stirling series vs. the number of terms used]]
[[File:Stirling error vs number of terms.svg|thumb|upright=1.8|The relative error in a truncated Stirling series vs. the number of terms used]]
Line 88: Line 100:
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.
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,{{r|Robbins1955}} valid for all positive integers <math>n</math> are
Other bounds, due to Robbins,{{r|Robbins1955}} valid for all positive integers <math>n</math> are
<math display=block>\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}}. </math>
<math display=block>\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}}. </math>
A looser version of this bound is that <math>\frac{n! e^n}{n^{n+\frac12}} \in (\sqrt{2 \pi}, e]</math> for all <math>n \ge 1</math>.
This upper bound corresponds to stopping the above series for <math>\ln(n!)</math> after the <math>\frac{1}{n}</math> term. The lower bound is weaker than that obtained by stopping the series after the <math>\frac{1}{n^3}</math> term. A looser version of this bound is that <math>\frac{n! e^n}{n^{n+\frac12}} \in (\sqrt{2 \pi}, e]</math> for all <math>n \ge 1</math>.


==Stirling's formula for the gamma function==
==Stirling's formula for the gamma function==
Line 117: Line 129:


Then{{r|schafke-sattler|nemes15}}
Then{{r|schafke-sattler|nemes15}}
<math display=block>\begin{align}
<math display="block">\begin{align}
|R_N(z)| &\le
|R_N(z)| &\le
\frac{|B_{2N}|}{2N(2N-1)|z|^{2N-1}} \times
\frac{|B_{2N}|}{2N(2N-1)|z|^{2N-1}} \times
\begin{cases}
\begin{cases}
1 & \text{ if } |\arg z| \leq \frac{\pi}{4}, \\
1 & \text{ if } \left|\arg z\right| \leq \frac{\pi}{4}, \\
|\csc(\arg z)| & \text{ if } \frac{\pi}{4}<|\arg z| < \frac{\pi}{2}, \\
\left|\csc(\arg z)\right| & \text{ if } \frac{\pi}{4} < \left|\arg z\right| < \frac{\pi}{2}, \\
\sec^{2N}\left(\tfrac{\arg z}{2}\right) & \text{ if } |\arg z| < \pi,
\sec^{2N}\left(\tfrac{\arg z}{2}\right) & \text{ if } \left|\arg z\right| < \pi,
\end{cases} \\[6pt]
\end{cases} \\[6pt]

\left |\widetilde{R}_N(z) \right | &\le
\left |\widetilde{R}_N(z) \right | &\le
\left(\frac{\left |a_N \right |}{|z|^N} + \frac{\left |a_{N+1} \right |}{|z|^{N+1}}\right)\times
\left(\frac{\left |a_N \right |}{|z|^N} + \frac{\left |a_{N+1} \right |}{|z|^{N+1}}\right)\times
\begin{cases}
\begin{cases}
1 & \text{ if } |\arg z| \leq \frac{\pi}{4}, \\
1 & \text{ if } \left|\arg z\right| \leq \frac{\pi}{4}, \\
|\csc(2\arg z)| & \text{ if } \frac{\pi}{4} < |\arg z| < \frac{\pi}{2}.
\left|\csc(2\arg z)\right| & \text{ if } \frac{\pi}{4} < \left|\arg z\right| < \frac{\pi}{2}.
\end{cases}
\end{cases}
\end{align}
\end{align}
Line 140: Line 153:
<math display=block>\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 - \tfrac12\ln\frac{2\pi}{x}.</math>
<math display=block>\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 - \tfrac12\ln\frac{2\pi}{x}.</math>


One way to do this is by means of a convergent series of inverted [[Pochhammer symbol#Alternate notations|rising exponentials]]. If
One way to do this is by means of a convergent series of inverted [[rising factorial]]s. If
<math display=block>z^{\bar n} = z(z + 1) \cdots (z + n - 1),</math>
<math display=block>z^{\bar n} = z(z + 1) \cdots (z + n - 1),</math>
then
then
Line 151: Line 164:
&\quad + \frac{59}{360(x+1)(x+2)(x+3)} + \frac{29}{60(x+1)(x+2)(x+3)(x+4)} + \cdots,
&\quad + \frac{59}{360(x+1)(x+2)(x+3)} + \frac{29}{60(x+1)(x+2)(x+3)(x+4)} + \cdots,
\end{align}</math>
\end{align}</math>
which converges when {{math|Re(''x'') > 0}}.
which converges when {{math|Re(''x'') > 0}}.
Stirling's formula may also be given in convergent form as<ref>{{cite book |last1=Artin |first1=Emil |title=The Gamma Function |date=2015 |page = 24|publisher=Dover }}</ref>
<math display=block>
\Gamma(x)=\sqrt{2\pi}x^{x-\frac{1}{2}}e^{-x+\mu(x)}
</math>
where
<math display=block>
\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).
</math>


==Versions suitable for calculators==
==Versions suitable for calculators==
Line 158: Line 179:
and its equivalent form
and its equivalent form
<math display=block>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)</math>
<math display=block>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)</math>
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 {{mvar|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.{{r|toth}}
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 {{mvar|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.{{r|toth}}


Gergő Nemes proposed in 2007 an approximation which gives the same number of exact digits as the Windschitl approximation but is much simpler:{{r|Nemes2010}}
Gergő Nemes proposed in 2007 an approximation which gives the same number of exact digits as the Windschitl approximation but is much simpler:{{r|Nemes2010}}
Line 165: Line 186:
<math display=block> \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). </math>
<math display=block> \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). </math>


An alternative approximation for the gamma function stated by [[Srinivasa Ramanujan]] ([[Ramanujan's lost notebook#References|Ramanujan 1988]]{{clarify|This is obviously supposed to be a citation but its target is not clear|date=May 2018}}) is
An alternative approximation for the gamma function stated by [[Srinivasa Ramanujan]] in [[Ramanujan's lost notebook]]<ref>{{citation|url=https://archive.org/details/lost-notebook/page/n337/|title=Lost Notebook and Other Unpublished Papers|first=Srinivasa|last=Ramanujan|date=14 August 1920 |author-link=Srinivasa Ramanujan|via=Internet Archive|page=339}}</ref> is
<math display=block>\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}}</math>
<math display=block>\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}}</math>
for {{math|''x'' ≥ 0}}. The equivalent approximation for {{math|ln ''n''!}} has an asymptotic error of {{math|{{sfrac|1|1400''n''<sup>3</sup>}}}} and is given by
for {{math|''x'' ≥ 0}}. The equivalent approximation for {{math|ln ''n''!}} has an asymptotic error of {{math|{{sfrac|1|1400''n''<sup>3</sup>}}}} and is given by
Line 186: Line 207:
{{Reflist|refs=
{{Reflist|refs=


<ref name=bayes-canton>{{citation |url=http://www.york.ac.uk/depts/maths/histstat/letter.pdf |title=A letter from the late Reverend Mr. Thomas Bayes, F. R. S. to John Canton, M. A. and F. R. S.|date=24 November 1763 |access-date=2012-03-01 |url-status=live |archive-url=https://web.archive.org/web/20120128050439/http://www.york.ac.uk/depts/maths/histstat/letter.pdf |archive-date=2012-01-28 }}</ref>
<ref name=bayes-canton>{{citation |url=http://www.york.ac.uk/depts/maths/histstat/letter.pdf |title=A letter from the late Reverend Mr. Thomas Bayes, F. R. S. to John Canton, M. A. and F. R. S.|date=24 November 1763 |bibcode=1763RSPT...53..269B |access-date=2012-03-01 |url-status=live |archive-url=https://web.archive.org/web/20120128050439/http://www.york.ac.uk/depts/maths/histstat/letter.pdf |archive-date=2012-01-28 |last1=Bayes |first1=Thomas |journal=Philosophical Transactions of the Royal Society of London, Series I |volume=53 |page=269 }}</ref>


<ref name=dutka>{{citation
<ref name=dutka>{{citation
Line 197: Line 218:
| issue = 3
| issue = 3
| pages = 225–249
| pages = 225–249
| doi = 10.1007/BF00389433}}</ref>
| doi = 10.1007/BF00389433| s2cid = 122237769
}}</ref>


<ref name=E.A.Karatsuba>{{citation
<ref name=E.A.Karatsuba>{{citation
Line 208: Line 230:
| title = On the asymptotic representation of the Euler gamma function by Ramanujan
| title = On the asymptotic representation of the Euler gamma function by Ramanujan
| volume = 135
| volume = 135
| year = 2001}}</ref>
| year = 2001| bibcode = 2001JCoAM.135..225K
}}</ref>


<ref name=LeCam1986>{{citation
<ref name=LeCam1986>{{citation
Line 220: Line 243:
| title = The central limit theorem around 1935
| title = The central limit theorem around 1935
| volume = 1
| volume = 1
| year = 1986| doi-access = free
| year = 1986}}; 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."</ref>
}}; 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."</ref>


<ref name=flajolet-sedgewick>{{citation
<ref name=flajolet-sedgewick>{{citation
Line 232: Line 256:
| publisher = Cambridge University Press
| publisher = Cambridge University Press
| title = Analytic Combinatorics | title-link = Analytic Combinatorics
| title = Analytic Combinatorics | title-link = Analytic Combinatorics
| year = 2009}}</ref>
| year = 2009| s2cid = 27509971
}}</ref>


<ref name=Mortici2011-1>{{Citation |last=Mortici |first=Cristinel |year=2011 |title=Ramanujan's estimate for the gamma function via monotonicity arguments |journal=Ramanujan J. |volume=25 |pages=149–154}}</ref>
<ref name=Mortici2011-1>{{Citation |last=Mortici |first=Cristinel |year=2011 |title=Ramanujan's estimate for the gamma function via monotonicity arguments |journal=Ramanujan J. |volume=25 |issue=2 |pages=149–154|doi=10.1007/s11139-010-9265-y |s2cid=119530041 }}</ref>


<ref name=Mortici2011-2>{{Citation |last=Mortici |first=Cristinel |year=2011 |title=Improved asymptotic formulas for the gamma function |journal=Comput. Math. Appl. |volume=61 |pages=3364–3369}}.</ref>
<ref name=Mortici2011-2>{{Citation |last=Mortici |first=Cristinel |year=2011 |title=Improved asymptotic formulas for the gamma function |journal=Comput. Math. Appl. |volume=61 |issue=11 |pages=3364–3369|doi=10.1016/j.camwa.2011.04.036 }}.</ref>


<ref name=Mortici2011-3>{{Citation |last=Mortici |first=Cristinel |year=2011 |title=On Ramanujan's large argument formula for the gamma function |journal=Ramanujan J. |volume=26 |pages=185–192}}.</ref>
<ref name=Mortici2011-3>{{Citation |last=Mortici |first=Cristinel |year=2011 |title=On Ramanujan's large argument formula for the gamma function |journal=Ramanujan J. |volume=26 |issue=2 |pages=185–192|doi=10.1007/s11139-010-9281-y |s2cid=120371952 }}.</ref>


<ref name=Nemes2010>{{citation
<ref name=Nemes2010>{{citation
Line 249: Line 274:
| issue = 2
| issue = 2
| pages = 161–169
| pages = 161–169
| s2cid = 121820640
}}</ref>
}}</ref>


<ref name=Nemes2010-2>{{Citation|last=Nemes|first=Gergő|year=2010|title=On the coefficients of the asymptotic expansion of <math>n!</math>|journal=Journal of Integer Sequences|volume=13|issue=6|pages=5}}</ref>
<ref name=Nemes2010-2>{{Citation|last=Nemes|first=Gergő|year=2010|title=On the coefficients of the asymptotic expansion of <math>n!</math>|journal=Journal of Integer Sequences|volume=13|issue=6|pages=5}}</ref>
Line 255: Line 281:
<ref name=nemes15>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.</ref>
<ref name=nemes15>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.</ref>


<ref name=nist>{{citation |last=Olver |first=F. W. J. |last2= Olde Daalhuis |first2=A. B. |last3=Lozier |first3=D. W. |last4=Schneider |first4=B. I. |last5=Boisvert |first5=R. F. |last6=Clark |first6=C. W. |last7=Miller |first7=B. R. |last8=Saunders |first8=B. V. |name-list-style=amp |title=NIST Digital Library of Mathematical Functions |version=Release 1.0.13 of 2016-09-16 |contribution=5.11 Gamma function properties: Asymptotic Expansions|contribution-url=http://dlmf.nist.gov/5.11}}</ref>
<ref name=nist>{{citation |last1=Olver |first1=F. W. J. |last2= Olde Daalhuis |first2=A. B. |last3=Lozier |first3=D. W. |last4=Schneider |first4=B. I. |last5=Boisvert |first5=R. F. |last6=Clark |first6=C. W. |last7=Miller |first7=B. R. |last8=Saunders |first8=B. V. |name-list-style=amp |title=NIST Digital Library of Mathematical Functions |version=Release 1.0.13 of 2016-09-16 |contribution=5.11 Gamma function properties: Asymptotic Expansions|contribution-url=http://dlmf.nist.gov/5.11}}</ref>


<ref name=Pearson1924>{{citation |last=Pearson |first=Karl |year=1924 |title=Historical note on the origin of the normal curve of errors |journal=Biometrika |volume=16 |issue=3/4 |pages=402–404 [p. 403] |quote=I consider that the fact that Stirling showed that De Moivre's arithmetical constant was <math>\sqrt{2\pi}</math> does not entitle him to claim the theorem, [...] |doi=10.2307/2331714|jstor=2331714 }}</ref>
<ref name=Pearson1924>{{citation |last=Pearson |first=Karl |year=1924 |title=Historical note on the origin of the normal curve of errors |journal=Biometrika |volume=16 |issue=3/4 |pages=402–404 [p. 403] |quote=I consider that the fact that Stirling showed that De Moivre's arithmetical constant was <math>\sqrt{2\pi}</math> does not entitle him to claim the theorem, [...] |doi=10.2307/2331714|jstor=2331714 }}</ref>
Line 279: Line 305:


==Further reading==
==Further reading==
*{{citation |last=Abramowitz |first=M. |last2=Stegun |first2=I. |name-list-style=amp |title=Handbook of Mathematical Functions |year=2002 }}
*{{citation |last1=Abramowitz |first1=M. |last2=Stegun |first2=I. |name-list-style=amp |title=Handbook of Mathematical Functions |year=2002 |title-link=Abramowitz and Stegun }}
*{{citation |last=Paris |first=R. B. |last2=Kaminski |first2=D. |name-list-style=amp |title=Asymptotics and the Mellin–Barnes Integrals |year=2001 |publisher=Cambridge University Press |location=New York |isbn=978-0-521-79001-7 |url-access=registration |url=https://archive.org/details/asymptoticsmelli0000pari }}
*{{citation |last1=Paris |first1=R. B. |last2=Kaminski |first2=D. |name-list-style=amp |title=Asymptotics and Mellin–Barnes Integrals |year=2001 |publisher=Cambridge University Press |location=New York |isbn=978-0-521-79001-7 |url-access=registration |url=https://archive.org/details/asymptoticsmelli0000pari }}
*{{citation |last=Whittaker |first=E. T. |last2=Watson |first2=G. N. |name-list-style=amp |title=A Course in Modern Analysis |year=1996 |edition=4th |publisher=Cambridge University Press |location=New York |isbn=978-0-521-58807-2 }}
*{{citation |last1=Whittaker |first1=E. T. |last2=Watson |first2=G. N. |name-list-style=amp |title=A Course in Modern Analysis |year=1996 |edition=4th |publisher=Cambridge University Press |location=New York |isbn=978-0-521-58807-2 }}
*{{citation
*{{citation
| last = Romik | first = Dan
| last = Romik | first = Dan
Line 291: Line 317:
| title = Stirling's approximation for <math>n!</math>: the ultimate short proof?
| title = Stirling's approximation for <math>n!</math>: the ultimate short proof?
| volume = 107
| volume = 107
| year = 2000}}
| year = 2000| jstor = 2589351
}}
*{{citation
*{{citation
| last = Li | first = Yuan-Chuan
| last = Li | first = Yuan-Chuan
Line 302: Line 329:
| url = https://projecteuclid.org/euclid.rae/1184700051
| url = https://projecteuclid.org/euclid.rae/1184700051
| volume = 32}}
| volume = 32}}

<references group="note" />

{{Notelist}}


==External links==
==External links==

Latest revision as of 03:24, 30 August 2024

Comparison of Stirling's approximation with the factorial

In mathematics, Stirling's approximation (or Stirling's formula) is an asymptotic 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.[1][2][3]

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 of . In computer science applications such as the worst-case lower bound for comparison 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

[edit]

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:

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

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

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

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

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

Alternative derivations

[edit]

An alternative formula for using the gamma function is (as can be seen by repeated integration by parts). Rewriting and changing variables x = ny, one obtains Applying Laplace's method one has which recovers Stirling's formula:

Higher orders

[edit]

In fact, further corrections can also be obtained using Laplace's method. From previous result, we know that , so we "peel off" this dominant term, then perform two changes of variables, to obtain:To verify this: .

Now the function is unimodal, with maximum value zero. Locally around zero, it looks like , 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 . This equation cannot be solved in closed form, but it can be solved by serial expansion, which gives us . Now plug back to the equation to obtainnotice how we don't need to actually find , since it is cancelled out by the integral. Higher orders can be achieved by computing more terms in , which can be obtained programmatically.[note 1]

Thus we get Stirling's formula to two orders:

Complex-analytic version

[edit]

A complex-analysis version of this method[4] is to consider as a Taylor coefficient of the exponential function , computed by Cauchy's integral formula as

This line integral can then be approximated using the saddle-point method with an appropriate choice of contour radius . 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

[edit]
The relative error in a truncated Stirling series vs. , 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):[5]

An explicit formula for the coefficients in this series was given by G. Nemes.[6] 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. , for 1 through all 5 terms listed above. (Bender and Orszag[7] p. 218) gives the asymptotic formula for the coefficients: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 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 terms evaluated at . The graphs show which, when small, is essentially the relative error.

Writing Stirling's series in the form 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.

Other bounds, due to Robbins,[8] valid for all positive integers are This upper bound corresponds to stopping the above series for after the term. The lower bound is weaker than that obtained by stopping the series after the term. A looser version of this bound is that for all .

Stirling's formula for the gamma function

[edit]

For all positive integers, 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

Repeated integration by parts gives

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

where the expansion is identical to that of Stirling's series above for , except that is replaced with z − 1.[9]

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

[edit]

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

Then[10][11]

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

A convergent version of Stirling's formula

[edit]

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.[12] Obtaining a convergent version of Stirling's formula entails evaluating Binet's formula:

One way to do this is by means of a convergent series of inverted rising factorials. If then where where s(nk) denotes the Stirling numbers of the first kind. From this one obtains a version of Stirling's series which converges when Re(x) > 0. Stirling's formula may also be given in convergent form as[13] where

Versions suitable for calculators

[edit]

The approximation and its equivalent form 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.[14]

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

An alternative approximation for the gamma function stated by Srinivasa Ramanujan in Ramanujan's lost notebook[16] is for x ≥ 0. The equivalent approximation for ln n! has an asymptotic error of 1/1400n3 and is given by

The approximation may be made precise by giving paired upper and lower bounds; one such inequality is[17][18][19][20]

History

[edit]

The formula was first discovered by Abraham de Moivre[2] 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 .[3]

See also

[edit]

References

[edit]
  1. ^ Dutka, Jacques (1991), "The early history of the factorial function", Archive for History of Exact Sciences, 43 (3): 225–249, doi:10.1007/BF00389433, S2CID 122237769
  2. ^ 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. ^ 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 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 ", 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. ^ Ramanujan, Srinivasa (14 August 1920), Lost Notebook and Other Unpublished Papers, p. 339 – via Internet Archive
  17. ^ 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
  18. ^ 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
  19. ^ 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.
  20. ^ 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.

Further reading

[edit]
  1. ^ For example, a program in Mathematica:
    series = tau - tau^2/6 + tau^3/36 + tau^4*a + tau^5*b;
    (*pick the right a,b to make the series equal 0 at higher orders*)
    Series[tau^2/2 + 1 + t - Exp[t] /. t -> series, {tau, 0, 8}]
    
    (*now do the integral*)
    integral = Integrate[Exp[-x*tau^2/2] * D[series /. a -> 0 /. b -> 0, tau], {tau, -Infinity, Infinity}];
    Simplify[integral/Sqrt[2*Pi]*Sqrt[x]]
    
[edit]