Stirling's Formula
Stirling's Formula. $$\ln n! \approx n \ln n - n + \frac{1}{2} \ln 2 \pi n \\ \iff n! = e^{n \ln n - n} \cdot e^{\sqrt{2 \pi n}}$$
우변의 마지막 항인 $\frac{1}{2} \ln 2 \pi n$은 상황에 따라 생략해도 큰 오차를 낳지 않는다.
열물리학에서는 $N >>> 1$인 상황, 다시 말해 고려하는 입자의 개수가 아보가드로 수 $N_A$ 정도로 큰 경우를 다루고, 각 입자가 가지는 state를 카운팅하는 상황이 자주 등장한다. 때문에 combinatorial한 계산을 주로 하고, 이때 매우 큰 숫자의 팩토리얼 연산을 매번 하기란 쉽지 않기 때문에 위의 스털링 공식을 활용하여 근사하곤 한다.
스털링 공식을 "직관적으로" 증명해보자. 좌표평면에 함수 $y = \ln x$를 그리면 다음과 같다.
이때 구분구적법과 비슷한 아이디어로, 밑변의 길이가 1이고 높이가 $\ln n+1$인 $n$번째 직사각형을 그리자. $n$이 매우 큰 상황에서 이 직사각형들의 합은 $y = \ln x$를 1부터 $n+1$까지 적분한 값으로 수렴할 것이다.
따라서 $n$이 매우 큰 상황에서 다음과 같이 작성할 수 있다. $$\ln n! \approx \int_{1}^{n+1} \ln x dx$$ 이 적분을 계산하면 다음과 같다. $$\int_1^{n+1} \ln x dx = x(\ln x - 1) \bigg|_1^{n+1} = (n+1)(\ln (n+1) - 1) + 1 \\ = (n+1) \ln (n+1) - n \approx n \ln n - n$$
사실 직관적으로 어느 정도 예상 가능하긴 한데, $\ln n! = \ln n + \ln (n-1) + \cdots + \ln 1$과 같이 합의 형태로 나타낼 수 있고, 이때 굉장히 큰 $n$에 대해서는 이 합이 거의 연속적이라고 생각할 수 있다. 즉 $\ln x$를 $x$에 대해 $1$부터 $n+1$까지 적분하는 문제로 바뀌고, 로그함수의 부정 적분이 $x \ln x - x$임을 알고 있으므로 여기에 integration limit를 대입하면 얼추 들어맞는 식을 얻는다.
그런데 마지막 항인 $\sqrt{2 \pi n}$을 어디서 얻었는지는 분명하지 않는데, 이를 유도해보도록 하자.
Gamma function
Definition 1. Gamma function is defined by $$\Gamma(n) = \int_0^{\infty} x^{n-1}e^{-x} dx.$$
위와 같은 정의로부터 $n! = \Gamma(n+1)$임을 induction을 사용해 유도해 낼 수 있다. 위 정의에서 피적분함수를 살펴보면 $x^n$과 $e^{-x}$의 곱으로 이루어져 있는데, 이를 대략적으로 그린 그래프는 아래와 같다.
지수함수인 $y = e^{-x}$가 다항함수 $y = x^n$보다 영향력이 더 세다고 말할 수 있으므로 위와 같은 개형이 그려진다. 이때 감마 함수는 이 함수의 적분임을 알 수 있고, 사실 이 적분은 Gauss 적분으로 설명 가능하다. $g(x) = -x + n \ln x$로 정의하면 $f(x) = e^{-x + n \ln x} = e^{g(x)}$와 같이 표현이 가능하다. 기본적으로 $f(x)$는 지수함수이므로, 특정 지점에서 조금만 증가해도 앞선 지점에서의 함수값을 무시해도 근사적으로 값을 판정하는 데 무리가 없다. 다시 말해 테일러 전개로 함수를 나타내겠다는 뜻이다. (이러한 근사를 saddle point approximation, 혹은 steepest descent approximation이라고 부른다.)
따라서 특정한 지점에서 극대값을 가진다고 가정하고, 이 값을 $x = x_0$라고 하자. $f(x)$가 $x = x_0$에서 극대라면 $f(x) = e^{g(x)}$에서 $g(x)$ 또한 $x = x_0$에서 극대라고 주장할 수 있고, 이를 작성하면 다음과 같다. $$\frac{dg(x)}{dx} \bigg|_{x_0} = -1 + \frac{n}{x_0} = 0 \\ \Longrightarrow x_0 = n$$ $g(x)$는 $x > 0$인 영역에서 무한번 미분 가능하기 때문에 taylor series를 적용할 수 있고, $x = x_0$에서 구하면 다음과 같다. $$g(x) = \sum_{n=0}^{\infty} \frac{(x - x_0)^n}{n!} g^{(n)}(x_0) \\ = g(x_0) + (x - x_0)g(x_0) + \frac{(x - x_0)^2}{2!} g''(x_0) + \cdots $$ 이때 $$g''(x_0) = - \frac{n}{x^2_0} = - \frac{1}{n}$$이므로 이를 적용해서 $g(x)$의 근사식을 구하면 다음과 같다. $$g(x) \simeq -n + n \ln n - \frac{1}{2n}(x-n)^2 \\ \Longrightarrow f(x) \simeq e^{-n + n \ln n} \cdot e^{-\frac{(x-n)^2}{2n}}$$ 이때 $e^{-\frac{(x-n)^2}{2n}}$은 Gaussian의 형태이므로 이 적분값을 우리는 잘 알고 있다.
Gaussian Integral
$$\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}$$
위 식을 변형하면 다음이 성립한다. $$\int_{-\infty}^{\infty} e^{- \alpha x^2} dx = \sqrt{\frac{\pi}{\alpha}} (\alpha > 0) \\ \int_{-\infty}^{\infty} e^{- \alpha(x - x_0)^2} dx = \sqrt{\frac{\pi}{\alpha}}$$
이를 이용하여 $f(x)$를 적분하면 다음과 같다. $$n! = \Gamma(n+1) = \int_{0}^{\infty} f(x) \simeq \int_{-\infty}^{\infty} e^{-n + n \ln n} \cdot e^{- \frac{(x-n)^2}{2n}} dx \\ \simeq e^{-n + n \ln n} \int_{-\infty}^{\infty} e^{- \frac{(x-n)^2}{2n}} dx = e^{-n + n \ln n} \sqrt{2n \pi} \\ \Longrightarrow \ln n! = n \ln n - n + \sqrt{2n \pi}$$ 적분 구간이 $[0, \infty)$에서 $(-\infty, \infty)$로 바꿀 수 있는 이유는 중심이 $n >>> 1$인 Gaussian integral이기 때문이다. 따라서 근사식에 한해서 위와 같이 구간을 바꿔 계산할 수 있다. 이와 같은 과정으로 Stirling's formula를 유도할 수도 있다.