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.[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. In computer science applications such as the worst-case lower bound for comparison sorting, it is convenient to use instead 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
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 derivation
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:
In fact, further corrections can also be obtained using Laplace's method. For example, computing the second-order expansion using Laplace's method yields (using little-o notation)
and gives Stirling's formula to two orders:
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
Stirling's formula is in fact the first approximation to the following series (now called the Stirling series):[5]
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.
More precise bounds, due to Robbins,[7] valid for all positive integers are
A looser version of this bound is that for all .
Stirling's formula for the gamma function
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.[8]
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 , the following notation is introduced:
and
One way to do this is by means of a convergent series of inverted rising exponentials. If
then
where
where s(n, k) denotes the Stirling numbers of the first kind. From this one obtains a version of Stirling's series
which converges when Re(x) > 0.
Stirlings formula may also be given in convergent form as
where
.
Versions suitable for calculators
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.[12]
Gergő Nemes proposed in 2007 an approximation which gives the same number of exact digits as the Windschitl approximation but is much simpler:[13]
or equivalently,
An alternative approximation for the gamma function stated by Srinivasa Ramanujan (Ramanujan 1988[clarification needed]) 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[14][15][16][17]
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]
^ abLe Cam, L. (1986), "The central limit theorem around 1935", Statistical Science, 1 (1): 78–96, doi:10.1214/ss/1177013818, JSTOR2245503, MR0833276; 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."
^ abPearson, 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, JSTOR2331714, I consider that the fact that Stirling showed that De Moivre's arithmetical constant was does not entitle him to claim the theorem, [...]
^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
^Nemes, Gergő (2010), "On the coefficients of the asymptotic expansion of ", Journal of Integer Sequences, 13 (6): 5
^Robbins, Herbert (1955), "A Remark on Stirling's Formula", The American Mathematical Monthly, 62 (1): 26–29, doi:10.2307/2308012, JSTOR2308012
^Spiegel, M. R. (1999), Mathematical handbook of formulas and tables, McGraw-Hill, p. 148
^Schäfke, F. W.; Sattler, A. (1990), "Restgliedabschätzungen für die Stirlingsche Reihe", Note di Matematica, 10 (suppl. 2): 453–470, MR1221957
^G. Nemes, Error bounds and exponential improvements for the asymptotic expansions of the gamma function and its reciprocal, Proc. Roy. Soc. Edinburgh Sect. A145 (2015), 571–596.
^Nemes, Gergő (2010), "New asymptotic expansion for the Gamma function", Archiv der Mathematik, 95 (2): 161–169, doi:10.1007/s00013-010-0146-9
^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, doi:10.1016/S0377-0427(00)00586-0, MR1850542
^Mortici, Cristinel (2011), "Ramanujan's estimate for the gamma function via monotonicity arguments", Ramanujan J., 25: 149–154
^Mortici, Cristinel (2011), "Improved asymptotic formulas for the gamma function", Comput. Math. Appl., 61: 3364–3369.
^Mortici, Cristinel (2011), "On Ramanujan's large argument formula for the gamma function", Ramanujan J., 26: 185–192.