# Formule de Stirling

La formule de Stirling, du nom du mathématicien écossais James Stirling, donne un équivalent de la factorielle d'un entier naturel n quand n tend vers l'infini :
$\lim _{n\to +\infty }{n\,! \over {\sqrt {2\pi n}}\;\left({n}/{\rm {e}}\right)^{n}}=1$
que l'on trouve souvent écrite ainsi :
$n\,!\sim {\sqrt {2\pi n}}\,\left({n \over {\rm {e}}}\right)^{n}$
où le nombre e désigne la base de l'exponentielle.

## Histoire

C'est Abraham de Moivre qui a initialement démontré la formule suivante :
$n\,!\sim C\;n^{n+{\frac {1}{2}}}\,\mathrm {e} ^{-n}$
où C est une constante réelle (non nulle).
L'apport de Stirling fut d'attribuer la valeur C = √2π à la constante et de donner un développement de ln(n!) à tout ordre.

## Exemples d'applications
### Équivalent du coefficient binomial central

En appliquant la formule de Stirling à $(2n)!$ et à $n!$ on obtient l'équivalent : ${\dbinom {2n}{n}}={\frac {(2n)!}{(n!)^{2}}}\sim {\frac {4^{n}}{\sqrt {\pi n}}}$ ; inversement, cet équivalent, obtenu indépendamment grâce aux intégrales de Wallis, permet de calculer la constante C ci-dessus.

### Forme affaiblie

La formule de Stirling permet d'obtenir l'équivalent ${\sqrt[{n}]{n!}}\sim {\frac {n}{\mathrm {e} }}$ ; cela peut être vu comme le fait que le rapport de la moyenne arithmétique ${\frac {n+1}{2}}$ des entiers de 1 à n, à leur moyenne géométrique ${\sqrt[{n}]{n!}}$, tend vers ${\frac {\mathrm {e} }{2}}$.

## Démonstration

* La détermination de la constante n'est pas immédiate, mais il est facile de montrer le résultat de De Moivre, en vérifiant que $\ln \left({\frac {n^{n+{\frac {1}{2}}}\operatorname {e} ^{-n}}{n\,!}}\right)$ est la n-ième somme partielle d'une série télescopique convergente. La façon classique d'en déduire ensuite la formule asymptotique est exposée dans l'article sur les intégrales de Wallis.
* Pour introduire le facteur de De Moivre, une autre manière de présenter est la suivante : la formule d'Euler-Maclaurin appliquée à la fonction ln entre 1 et n donne$\ln(n!)=\sum _{k=1}^{n}\ln k=\int _{1}^{n}\ln x\;\mathrm {d} x+{\frac {\ln 1+\ln n}{2}}+O(1)=n\ln n-n+{\frac {\ln n}{2}}+O(1).$On prend alors l'exponentielle et cela donne l'idée du calcul ci-dessus.
* On peut même introduire le facteur √2π par la méthode de la descente rapide. Cette méthode est assez puissante et en l'appliquant, on « comprend » l'apparition du √2π et l'on trouve immédiatement le résultat de Stirling.
* Mais on peut aussi démontrer directement, et de façon élémentaire, un résultat plus précis sur la fonction gamma d'Euler, dont le cas particulier pour la factorielle s'écrit :
    $\left|\left({\frac {\mathrm {e} }{n}}\right)^{n}\,n!-{\sqrt {2\pi n}}\right|\leq 2$.

## Développement asymptotique

En supposant le coefficient C = √2π déjà connu, la formule d'Euler-Maclaurin donne le développement asymptotique de ln(n!) au voisinage de l’infini à l’ordre K ≥ 1 :
$\ln(n\,!)=n\ln n-n+{\frac {1}{2}}\ln(2\pi n)+\sum _{k=1}^{K}{\frac {(-1)^{k+1}B_{k+1}}{k(k+1)n^{k}}}+O\left({\frac {1}{n^{K+1}}}\right)$
où les B$_i$ sont les nombres de Bernoulli. Il est à noter que la somme ci-dessus ne tend pas vers une limite finie lorsque K tend vers l’infini.
Sachant que, à part B$_1$ (qui n’intervient pas dans la formule), tous les nombres de Bernoulli de rang impair sont nuls, on peut réécrire le développement (à l’ordre 2K) :
$\ln(n\,!)=n\ln n-n+{\frac {1}{2}}\ln(2\pi n)+\sum _{k=1}^{K}{\frac {B_{2k}}{2k(2k-1)n^{2k-1}}}+O\left({\frac {1}{n^{2K+1}}}\right)$
On définit la fonction de Binet μ en faisant tendre formellement K vers l’infini :
$\mu (n)\triangleq \ln(n\,!)-n\ln(n)+n-{\frac {1}{2}}\ln(2\pi n)$
ce qui permet d’écrire :
$n\,!={\sqrt {2\pi n}}\left({\frac {n}{\mathrm {e} }}\right)^{n}\operatorname {e} ^{\mu (n)}$
En calculant les premiers termes de e $^{μ(n)}$ grâce à la formule exponentielle (laquelle fait intervenir les polynômes de Bell), on a alors le développement asymptotique de n! au voisinage de l’infini :
$n\,!={\sqrt {2\pi n}}\left({\frac {n}{\mathrm {e} }}\right)^{n}\left[1+{\frac {1}{12n}}+{\frac {1}{288n^{2}}}-{\frac {139}{51840n^{3}}}-{\frac {571}{2488320n^{4}}}+{\frac {163879}{209018880n^{5}}}+O\left({\frac {1}{n^{6}}}\right)\right]$
développement dont les numérateurs et dénominateurs sont référencés respectivement par les suites  A001163 et  A001164 de l'OEIS. Il s’agit également du développement asymptotique de la fonction gamma.

## Version continue

La formule précédente est une conséquence, pour le cas particulier d'un argument entier, de la formule asymptotique de Stirling pour la fonction gamma :
$\Gamma (z)\sim z^{z-{\frac {1}{2}}}{\mathrm {e} }^{-z}{\sqrt {2\pi }},\quad |\arg(z)|<\pi$

## Calculs numériques
### Précision de la formule de Stirling

Pour juger de sa précision, on peut faire le tableau des premières valeurs de n :
| n | n ! | ${\sqrt {2\pi n}}\,\left({n \over {\mathrm {e} }}\right)^{n}$ | ${\sqrt {2\pi n}}\,\left({n \over {\mathrm {e} }}\right)^{n}\left(1+{\frac {1}{12\ n}}\right)$ |
| 1 | 1 | 0,92 | 0,999 |
| 2 | 2 | 1,92 | 1,999 |
| 3 | 6 | 5,84 | 5,998 |
| 4 | 24 | 23,51 | 23,996 |
| 5 | 120 | 118,02 | 119,99 |
| 6 | 720 | 710,08 | 719,94 |
| 7 | 5 040 | 4 980,4 | 5 039,7 |
| 8 | 40 320 | 39 902,4 | 40 318,1 |
| 9 | 362 880 | 359 536,9 | 362 866,0 |
| 10 | 3 628 800 | 3 598 696 | 3 628 685 |
| 15 | 1 307 674 368 000 | 1,300 431 × 10$^{12}$ | 1,307 665 × 10$^{12}$ |
| 20 | 2 432 902 008 176 640 000 | 2,422 787 × 10$^{18}$ | 2,432 882 × 10$^{18}$ |
| 25 | 15 511 210 043 330 985 984 000 000 | 1,545 959 × 10$^{25}$ | 1,551 113 × 10$^{25}$ |
| 30 | 265 252 859 812 191 058 636 308 480 000 000 | 2,645 171 × 10$^{32}$ | 2,652 519 × 10$^{32}$ |
| 40 | 815 915 283 247 897 734 345 611 269 596 115 894 272 000 000 000 | 8,142 173 × 10$^{47}$ | 8,159 136 × 10$^{47}$ |
Dans √n, si l'on remplace n par n + 1/6, les calculs sont nettement améliorés, pour les petites valeurs de n (approximation de Gosper) ; on peut aussi préférer un encadrement ; enfin, on peut prendre la suite A055775 de l'OEIS.

### Approximations exploitables pour des machines à calculer

L'approximation
    $\Gamma (z)\approx {\sqrt {\frac {2\pi }{z}}}\left({\frac {z}{\mathrm {e} }}{\sqrt {z\sinh {\frac {1}{z}}+{\frac {1}{810z^{6}}}}}\right)^{z}$,
ou de façon équivalente
    $2\ln(\Gamma (z))\approx \ln(2\pi )-\ln z+z\left(2\ln z+\ln \left(z\operatorname {sh} {\frac {1}{z}}+{\frac {1}{810z^{6}}}\right)-2\right)$,
peut être obtenue en réarrangeant la formule étendue de Stirling et en remarquant une coïncidence entre la série des puissances résultante et le développement en série de Taylor de la fonction sinus hyperbolique. Cette approximation est valable jusqu'à plus de 8 décimales pour z ayant une partie réelle supérieure à 8. Robert H. Windschitl l'a suggérée en 2002 pour calculer la fonction gamma avec une bonne précision sur des machines à calculer à programme ou mémoire de registre limité(e).
Gergő Nemes a proposé en 2007 une approximation qui donne le même nombre de chiffres exacts que celle de Windschitl mais qui est bien plus simple :
    $\Gamma (z)\approx {\sqrt {\frac {2\pi }{z}}}\left({\frac {1}{\mathrm {e} }}\left(z+{\frac {1}{12z-{\frac {1}{10z}}}}\right)\right)^{z}$,
ou de façon équivalente
    $\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]$.

### Approximation logarithmique

Dans le cadre de la thermodynamique statistique (distribution de Boltzmann) il est commode de considérer le logarithme népérien d'une factorielle en faisant l'approximation de Stirling. L'approximation consiste à assimiler la somme à une intégrale quand n est suffisamment grand.
$\ln \left(n!\right)=\sum _{i=1}^{n}{\ln i}\simeq \int _{1}^{n}{\ln x\,\mathrm {d} x}=\left[x\ln x-x\right]_{1}^{n}=n\ln n-n+1$
On obtient finalement l'approximation suivante :
$\ln \left(n!\right)\simeq n\ln n-n$
pour laquelle l'erreur relative est inférieure à 1 % quand n > 100. Cette approximation est considérée comme valable (l'erreur est négligeable) dans le cadre de la distribution de Boltzmann étant donné les grandes valeurs de n utilisées (représentant les configurations microscopiques d'un état macroscopique).
Une approximation bien plus précise de ln(n!) a été donnée par Srinivasa Ramanujan :
$\ln(n!)=n\ln n-n+{\frac {\ln(8n^{3}+4n^{2}+n+1/30+o(1))}{6}}+{\frac {\ln \pi }{2}}$