# Approssimazione di Stirling

In matematica l'approssimazione di Stirling o formula di Stirling o formula approssimata di Stirling è un'approssimazione per fattoriali grandi. Deve il suo nome al matematico scozzese James Stirling (1692-1770).
La formulazione corretta è:
    $\lim _{n\to +\infty }{\frac {{\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}}{n!}}=1,$
che viene scritta spesso come:
    $n!\sim {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n},\quad {\text{per }}n\to +\infty$
Per valori elevati di $n$ il secondo membro della formula fornisce una buona approssimazione di $n!$ che si può calcolare rapidamente e facilmente. Ad esempio la formula per 30! fornisce l'approssimazione 2,6452 × 10$^{32}$, mentre un valore più preciso è 2,6525 × 10$^{32}$; in questo caso si ha una discrepanza minore dello 0,3%, più precisamente:
    $\left.{\frac {n!-{\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}}{n!}}\right|_{n=30}=0,002773\ldots \approx 0,28\%.$

## Stime elementari

Una stima elementare per il fattoriale si può ricavare tramite una tecnica di somma parziale. Sia $n$ un intero, allora
    $\ln n!=\sum _{k=1}^{n}\ln k=\sum _{k=1}^{n}k\ln k-\sum _{k=1}^{n}(k-1)\ln k$
    $=n\ln n-\sum _{k=1}^{n-1}k\left[\ln(k+1)-\ln k\right]=n\ln n-\sum _{k=1}^{n-1}k\int _{k}^{k+1}{\frac {dt}{t}}$
    $=n\ln n-\sum _{k=1}^{n-1}\int _{k}^{k+1}{\frac {\lfloor t\rfloor dt}{t}}=n\ln n-\int _{1}^{n}{\frac {\lfloor t\rfloor dt}{t}}=n\ln n-(n-1)+\int _{1}^{n}{\frac {\{t\}dt}{t}},$
dove $\lfloor x\rfloor$ e $\left\{x\right\}$ sono la parte intera e la parte frazionaria di $x$.
Segue che
    $n\ln n-(n-1)\leq \ln n!\leq n\ln n-(n-1)+\ln n$
che, passando all'esponenziale, diventa
    $e\left({\frac {n}{e}}\right)^{n}\leq n!\leq en\left({\frac {n}{e}}\right)^{n}.$

## Derivazione

La formula, come pure la stima dell'errore, può essere derivata sviluppando il logaritmo naturale del fattoriale
    $\ln(n!)=\ln(1)+\ln(2)+\cdots +\ln(n)$
e per espressioni come questa si può utilizzare la formula di Eulero-Maclaurin.
Tale formula di approssimazione può essere espressa in forma logaritmica:
    $\ln n!\approx \left(n+{\frac {1}{2}}\right)\ln n-n+\ln \left({\sqrt {2\pi }}\right).$
La costante $\ln \left({\sqrt {2\pi }}\right)$ vale approssimativamente 0,918938533204673, arrotondata alle 15 cifre decimali.
La formula si può ottenere anche attraverso ripetute integrazioni per parti. Il termine principale dell'espressione può ottenersi applicando il metodo della discesa del gradiente.

## Derivazione alternativa

Una formula alternativa per $n!$ usando la funzione Gamma è
    $n!=\int _{0}^{\infty }x^{n}e^{-x}\,{\rm {d}}x$
(come si può vedere attraverso ripetute integrazioni per parti). Effettuando il cambio di variabile $x=ny$ si ha
    $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.$
Applicando il metodo di Laplace si ottiene:
    $\int _{0}^{\infty }e^{n(\ln y-y)}\,{\rm {d}}y\sim {\sqrt {\frac {2\pi }{n}}}e^{-n}$
e si ricava nuovamente la formula di Stirling,
    $n!\sim e^{n\ln n}n{\sqrt {\frac {2\pi }{n}}}e^{-n}={\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}.$
Difatti ulteriori correzioni si possono ottenere utilizzando il metodo di Laplace. Per esempio, sviluppando all'ordine successivo, il metodo di Laplace fornisce
    $\int _{0}^{\infty }e^{n(\ln y-y)}\,{\rm {d}}y\sim {\sqrt {\frac {2\pi }{n}}}e^{-n}\left(1+{\frac {1}{12n}}\right)$
e dà la formula di Stirling con un ulteriore ordine
    $n!\sim e^{n\ln n}n{\sqrt {\frac {2\pi }{n}}}e^{-n}\left(1+{\frac {1}{12n}}\right)={\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}\left(1+{\frac {1}{12n}}\right).$
Una versione dell'analisi complessa di questo metodo è di considerare ${\frac {1}{n!}}$ come un coefficiente della serie di Taylor della funzione esponenziale $e^{z}=\sum _{n=1}^{\infty }{\frac {z^{n}}{n!}}$, calcolato con la formula integrale di Cauchy:
    ${\frac {1}{n!}}={\frac {1}{2\pi i}}\oint \limits _{|z|=r}{\frac {e^{z}}{z^{n+1}}}\,\mathrm {d} z.$
L'integrale di linea può essere approssimato utilizzando il metodo della discesa del gradiente con un'appropriata scelta del raggio del contorno $r=r_{n}$. La porzione dominante dell'integrale vicino al punto di sella è successivamente approssimato dall'integrale reale e dal metodo di Laplace, mentre la parte rimanente può essere maggiorata per avere un termine d'errore.

## Velocità di convergenza e stima dell'errore

Più precisamente si ha
    $n!={\sqrt {2\pi n}}\;\left({\frac {n}{e}}\right)^{n}e^{\lambda _{n}},$
con
    ${\frac {1}{12n+1}}<\lambda _{n}<{\frac {1}{12n}}.$
In effetti la formula di Stirling è una approssimazione della seguente serie (ora chiamata serie di Stirling):
    $n!={\sqrt {2\pi n}}\left({n \over e}\right)^{n}\left(1+{1 \over 12n}+{1 \over 288n^{2}}-{139 \over 51840n^{3}}-{571 \over 2488320n^{4}}+\cdots \right).$
Quando $n\to +\infty$, l'errore della serie troncata è asintoticamente uguale al primo termine omesso. Questo è un esempio di sviluppo asintotico.
È chiamata serie di Stirling anche quella dello sviluppo asintotico del logaritmo:
    $\ln n!=n\ln n-n+{1 \over 2}\ln(2\pi n)+{1 \over 12n}-{1 \over 360n^{3}}+{1 \over 1260n^{5}}-{1 \over 1680n^{7}}+\cdots .$
In questo caso si dimostra che l'errore che si commette troncando la serie ha lo stesso segno e al più la grandezza del primo termine omesso.

## Formula di Stirling per la funzione gamma

La formula di Stirling si può applicare (non sempre) anche alla funzione gamma, la funzione che estende il fattoriale al campo complesso, denotata con le seguenti scritture
    $\Gamma (z+1)=\Pi (z)=z!$
e definita per tutti i numeri complessi eccetto gli interi non positivi. Se $\mathrm {Re} (z)>0,$ allora
    $\ln \Gamma (z)=\left(z-{\frac {1}{2}}\right)\ln z-z+{\frac {\ln {2\pi }}{2}}+2\int _{0}^{\infty }{\frac {\arctan {\frac {t}{z}}}{\exp(2\pi t)-1}}dt.$
Integrando per parti ripetutamente si ottiene lo sviluppo asintotico
    $\ln \Gamma (z)=\left(z-{\frac {1}{2}}\right)\ln z-z+{\frac {\ln {2\pi }}{2}}+\sum _{n=1}^{\infty }{\frac {B_{2n}}{2n(2n-1)z^{2n-1}}},$
dove $B_{n}$ è l'$n$-esimo numero di Bernoulli. La formula vale per $|z|$ sufficientemente grande quando $|\arg z|<\pi -\epsilon$, con $\epsilon$ positivo, con un termine di errore del tipo $O(z^{-m-1/2})$ quando si usano i primi $m$ termini dello sviluppo.

## Una versione convergente della formula di Stirling

Per ottenere una versione convergente della formula di Stirling bisogna calcolare
    $\int _{0}^{\infty }{\frac {2\arctan {\frac {t}{z}}}{\exp(2\pi t)-1}}\,dt=\ln \Gamma (z)-(z-{\frac {1}{2}})\ln z+z-{\frac {1}{2}}\ln(2\pi ).$
Un modo per far questo si serve di una serie convergente di fattoriali crescenti. Se scriviamo $z^{\overline {n}}=z(z+1)\cdots (z+n-1)$, si trova
    $\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}}}},$
dove
    $nc_{n}=\int _{0}^{1}x^{\overline {n}}(x-{\frac {1}{2}})\,dx.$
Da qui si ottiene una versione della serie di Stirling
    $\ln \Gamma (z)=(z-{\frac {1}{2}})\ln z-z+{\frac {\ln {2\pi }}{2}}+{\frac {1}{12(z+1)}}+{\frac {1}{12(z+1)(z+2)}}+{\frac {29}{60(z+1)(z+2)(z+3)}}+\cdots$
che converge quando $\mathrm {Re} (z)>0$.

## Storia

La formula venne scoperta per la prima volta da de Moivre (1667-1754) nella forma
    $n!=\Theta (n^{n+1/2}e^{-n}),\quad \forall n\in I(\infty ).$
Il contributo di Stirling consiste nell'aver dimostrato che la costante di proporzionalità è uguale a ${\sqrt {2\pi }}$.
Versioni più precise sono state ottenute da Binet.