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).
Al crescere di n , il rapporto tra (ln n !) e (n ln n − n ) tende a 1.
La formulazione corretta è:
lim
n
→
+
∞
2
π
n
(
n
e
)
n
n
!
=
1
,
{\displaystyle \lim _{n\to +\infty }{\frac {{\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}}{n!}}=1,}
che viene scritta spesso come:
n
!
∼
2
π
n
(
n
e
)
n
,
per
n
→
+
∞
{\displaystyle n!\sim {\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n},\quad {\text{per }}n\to +\infty }
Per valori elevati di
n
{\displaystyle n}
il secondo membro della formula fornisce una buona approssimazione di
n
!
{\displaystyle n!}
che si può calcolare rapidamente e facilmente. Ad esempio la formula per 30! fornisce l'approssimazione 2,6452 × 1032 , mentre un valore più preciso è 2,6525 × 1032 ; in questo caso si ha una discrepanza minore dello 0,3%, più precisamente:
n
!
−
2
π
n
(
n
e
)
n
n
!
|
n
=
30
=
0
,
002773
…
≈
0
,
28
%
.
{\displaystyle \left.{\frac {n!-{\sqrt {2\pi n}}\left({\frac {n}{e}}\right)^{n}}{n!}}\right|_{n=30}=0,002773\ldots \approx 0,28\%.}
Una stima elementare per il fattoriale si può ricavare tramite una tecnica di somma parziale. Sia
n
{\displaystyle n}
un intero, allora
ln
n
!
=
∑
k
=
1
n
ln
k
=
∑
k
=
1
n
k
ln
k
−
∑
k
=
1
n
(
k
−
1
)
ln
k
{\displaystyle \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
−
∑
k
=
1
n
−
1
k
[
ln
(
k
+
1
)
−
ln
k
]
=
n
ln
n
−
∑
k
=
1
n
−
1
k
∫
k
k
+
1
d
t
t
{\displaystyle =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
−
∑
k
=
1
n
−
1
∫
k
k
+
1
⌊
t
⌋
d
t
t
=
n
ln
n
−
∫
1
n
⌊
t
⌋
d
t
t
=
n
ln
n
−
(
n
−
1
)
+
∫
1
n
{
t
}
d
t
t
,
{\displaystyle =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
⌊
x
⌋
{\displaystyle \lfloor x\rfloor }
e
{
x
}
{\displaystyle \left\{x\right\}}
sono la parte intera e la parte frazionaria di
x
{\displaystyle x}
.
Segue che
n
ln
n
−
(
n
−
1
)
≤
ln
n
!
≤
n
ln
n
−
(
n
−
1
)
+
ln
n
{\displaystyle n\ln n-(n-1)\leq \ln n!\leq n\ln n-(n-1)+\ln n}
che, passando all'esponenziale, diventa
e
(
n
e
)
n
≤
n
!
≤
e
n
(
n
e
)
n
.
{\displaystyle e\left({\frac {n}{e}}\right)^{n}\leq n!\leq en\left({\frac {n}{e}}\right)^{n}.}
La formula, come pure la stima dell'errore, può essere derivata sviluppando il logaritmo naturale del fattoriale
ln
(
n
!
)
=
ln
(
1
)
+
ln
(
2
)
+
⋯
+
ln
(
n
)
{\displaystyle \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
!
≈
(
n
+
1
2
)
ln
n
−
n
+
ln
(
2
π
)
.
{\displaystyle \ln n!\approx \left(n+{\frac {1}{2}}\right)\ln n-n+\ln \left({\sqrt {2\pi }}\right).}
La costante
ln
(
2
π
)
{\displaystyle \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 .
Una formula alternativa per
n
!
{\displaystyle n!}
usando la funzione Gamma è
n
!
=
∫
0
∞
x
n
e
−
x
d
x
{\displaystyle 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
=
n
y
{\displaystyle x=ny}
si ha
n
!
=
∫
0
∞
e
n
ln
x
−
x
d
x
=
e
n
ln
n
n
∫
0
∞
e
n
(
ln
y
−
y
)
d
y
.
{\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.}
Applicando il metodo di Laplace si ottiene:
∫
0
∞
e
n
(
ln
y
−
y
)
d
y
∼
2
π
n
e
−
n
{\displaystyle \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
!
∼
e
n
ln
n
n
2
π
n
e
−
n
=
2
π
n
(
n
e
)
n
.
{\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}.}
Difatti ulteriori correzioni si possono ottenere utilizzando il metodo di Laplace. Per esempio, sviluppando all'ordine successivo, il metodo di Laplace fornisce
∫
0
∞
e
n
(
ln
y
−
y
)
d
y
∼
2
π
n
e
−
n
(
1
+
1
12
n
)
{\displaystyle \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
!
∼
e
n
ln
n
n
2
π
n
e
−
n
(
1
+
1
12
n
)
=
2
π
n
(
n
e
)
n
(
1
+
1
12
n
)
.
{\displaystyle 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[ 1] è di considerare
1
n
!
{\displaystyle {\frac {1}{n!}}}
come un coefficiente della serie di Taylor della funzione esponenziale
e
z
=
∑
n
=
1
∞
z
n
n
!
{\displaystyle e^{z}=\sum _{n=1}^{\infty }{\frac {z^{n}}{n!}}}
, calcolato con la formula integrale di Cauchy :
1
n
!
=
1
2
π
i
∮
|
z
|
=
r
e
z
z
n
+
1
d
z
.
{\displaystyle {\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
{\displaystyle 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
modifica
Più precisamente si ha
n
!
=
2
π
n
(
n
e
)
n
e
λ
n
,
{\displaystyle n!={\sqrt {2\pi n}}\;\left({\frac {n}{e}}\right)^{n}e^{\lambda _{n}},}
con
1
12
n
+
1
<
λ
n
<
1
12
n
.
{\displaystyle {\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
!
=
2
π
n
(
n
e
)
n
(
1
+
1
12
n
+
1
288
n
2
−
139
51840
n
3
−
571
2488320
n
4
+
⋯
)
.
{\displaystyle 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
→
+
∞
{\displaystyle 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
2
ln
(
2
π
n
)
+
1
12
n
−
1
360
n
3
+
1
1260
n
5
−
1
1680
n
7
+
⋯
.
{\displaystyle \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.
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
Γ
(
z
+
1
)
=
Π
(
z
)
=
z
!
{\displaystyle \Gamma (z+1)=\Pi (z)=z!}
e definita per tutti i numeri complessi eccetto gli interi non positivi. Se
R
e
(
z
)
>
0
,
{\displaystyle \mathrm {Re} (z)>0,}
allora
ln
Γ
(
z
)
=
(
z
−
1
2
)
ln
z
−
z
+
ln
2
π
2
+
2
∫
0
∞
arctan
t
z
exp
(
2
π
t
)
−
1
d
t
.
{\displaystyle \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
Γ
(
z
)
=
(
z
−
1
2
)
ln
z
−
z
+
ln
2
π
2
+
∑
n
=
1
∞
B
2
n
2
n
(
2
n
−
1
)
z
2
n
−
1
,
{\displaystyle \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
{\displaystyle B_{n}}
è l'
n
{\displaystyle n}
-esimo numero di Bernoulli . La formula vale per
|
z
|
{\displaystyle |z|}
sufficientemente grande quando
|
arg
z
|
<
π
−
ϵ
{\displaystyle |\arg z|<\pi -\epsilon }
, con
ϵ
{\displaystyle \epsilon }
positivo, con un termine di errore del tipo
O
(
z
−
m
−
1
/
2
)
{\displaystyle O(z^{-m-1/2})}
quando si usano i primi
m
{\displaystyle m}
termini dello sviluppo.
Per ottenere una versione convergente della formula di Stirling bisogna calcolare
∫
0
∞
2
arctan
t
z
exp
(
2
π
t
)
−
1
d
t
=
ln
Γ
(
z
)
−
(
z
−
1
2
)
ln
z
+
z
−
1
2
ln
(
2
π
)
.
{\displaystyle \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
n
¯
=
z
(
z
+
1
)
⋯
(
z
+
n
−
1
)
{\displaystyle z^{\overline {n}}=z(z+1)\cdots (z+n-1)}
, si trova
∫
0
∞
2
arctan
t
z
exp
(
2
π
t
)
−
1
d
t
=
∑
n
=
1
∞
c
n
(
z
+
1
)
n
¯
,
{\displaystyle \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
n
c
n
=
∫
0
1
x
n
¯
(
x
−
1
2
)
d
x
.
{\displaystyle nc_{n}=\int _{0}^{1}x^{\overline {n}}(x-{\frac {1}{2}})\,dx.}
Da qui si ottiene una versione della serie di Stirling
ln
Γ
(
z
)
=
(
z
−
1
2
)
ln
z
−
z
+
ln
2
π
2
+
1
12
(
z
+
1
)
+
1
12
(
z
+
1
)
(
z
+
2
)
+
29
60
(
z
+
1
)
(
z
+
2
)
(
z
+
3
)
+
⋯
{\displaystyle \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
R
e
(
z
)
>
0
{\displaystyle \mathrm {Re} (z)>0}
.
La formula venne scoperta per la prima volta da de Moivre (1667-1754) nella forma
n
!
=
Θ
(
n
n
+
1
/
2
e
−
n
)
,
∀
n
∈
I
(
∞
)
.
{\displaystyle n!=\Theta (n^{n+1/2}e^{-n}),\quad \forall n\in I(\infty ).}
[ 2]
Il contributo di Stirling consiste nell'aver dimostrato che la costante di proporzionalità è uguale a
2
π
{\displaystyle {\sqrt {2\pi }}}
.
Versioni più precise sono state ottenute da Binet .
^ Phillipe Flajolet and Robert Sedgewick, Analytic Combinatorics , p. 555
^ Si è adottata la notazione della Stima asintotica