2020년 7월 13일 월요일

스털링의 공식(Stirling's Formula)

[경고] 아래 글을 읽지 않고 "스털링의 공식"을 보면 바보로 느껴질 수 있습니다.


계승(階乘, factorial) $n!$은 인접한 숫자를 계속 곱하기 때문에, $n$이 커지면 계승값은 굉장히 빠르게 증가한다. 그래서 계승의 기호에 놀라움을 표현하는 느낌표가 붙어있다. 계승을 어림짐작하기는 쉽다. 모든 $n$에 대해 $n! \le n^n$이 성립한다. 하지만 조금 더 정확하게 근사하려면 어떤 방법을 쓰면 좋을까? 여기에 대한 해답이 스털링의 공식(Stirling's formula) 혹은 스털링의 근사(Stirling's approximation)이다. 유한 곱(finite product)을 직접 다루기는 불편하므로, 계승에 로그 함수(logarithmic function)를 적용해서 유한 합(finite sum)으로 바꾼다.

                  (1a)

                  (1b)

여기서 $\prod$는 유한 곱(finite product)을 의미한다. 다음으로 유한 합과 적분의 관계식인 오일러–매클로린 공식(Euler–Maclaurin formula)을 식 (1)에 적용한다.

                  (2)

                  (3)

지수 함수(exponential function)를 이용해 식 (3)을 다시 정리한다.

                  (4)

식 (4)의 결과는 드 무아브르Abraham de Moivre(1667–1754)가 1730년드 무아브르 63세, 조선 영조 시절에 얻었다. 하지만 $n$에 따라 느리게 변하는 계수 $C(n)$을 점근적으로 결정하지는 못했다. 계수 $C(n)$을 정복하는 첫걸음은 수치적인 관찰이다. 베르누이 다항식(Bernoulli polynomial)을 이용해 식 (4)에 나오는 $C(n)$의 변화 특성을 분석한다.

                  (5)

                  (6)

여기서 $B_1(x)$ = $x - 1/2$, $B_1(x)$는 제$1$차 베르누이 다항식이다. 식 (6)을 이용하더라도 $C(n)$의 정확한 값을 구하지는 못한다. 하지만 수치 계산에서 $n$이 커지면 $C(n)$은 약 $2.5$에 근접한다. 그래서 스털링James Stirling(1692–1770)은 과감하게 $C(n) \sim \sqrt{2 \pi}$라고 가정해서 식 (4)를 다음처럼 표기했다.

                   (7)

[그림 1] 스털링 공식의 정확도(출처: wikipedia.org)

식 (7)이 정말로 타당한지 확인하려면, $n$이 매우 커질 때 식 (6)의 극한값을 구해야 한다. 먼저 $C(n)$의 수렴성을 판단하기 위해 식 (3)에 있는 적분을 분해해서 수열 $\{a_k\}$와 $\{b_k\}$를 정의한다.

                  (8)

항 $a_k$는 항상 음이고 항 $b_k$는 항상 양이기 때문에, 수열 $\{a_k\}$와 $\{b_k\}$가 만드는 무한 급수는 교대 급수(alternating series)가 된다. 라이프니츠 기준(Leibniz criterion)에 따라 단조 감소하는 $\{a_k\}$와 $\{b_k\}$를 가진 무한 급수 $\lim_{n \to \infty} R_1(1, n)$은 수렴한다. 따라서 $n$이 커질 때 $C(n)$도 자동적으로 수렴한다. 하지만 복잡한 무한 곱(infinite product)으로 구성된 식 (6)을 직접 계산하기는 매우 어렵다. 그래서 식 (8)에 제시한 유명한 월리스 곱(Wallis product)에 식 (4)를 대입해서 $C(n)$의 점근값을 유도한다[1].

                       (9)

                       (10)

따라서 식 (10)에 의해 $n$이 매우 커질 때 $C(n) \sim \sqrt{2 \pi}$가 성립한다.
스털링 공식인 식 (7)을 얻을 때, 오일러–매클로린 공식의 제$1$차 잉여항만 고려했다. 잉여항의 차수를 식 (2)처럼 높이면 스털링 공식은 어떻게 변할까? 새로운 계승 공식을 유도하기 위해 식 (2)에 있는 베르누이 수를 $M$개까지 합산한다.

                       (11)

식 (11)에서 $n$이 커질 때의 점근값을 구하면 다음과 같다.

                        (12)

식 (12)는 첫인상이 매우 멋있어 보이지만 내면은 심각한 결함을 가지고 있다. 유한 합을 구성하는 성분이 베르누이 수이기 때문에, $M$을 계속 키우면 유한 합이 진동하기 시작한다. 즉, $M$이 커질 때 이 유한 합은 수렴하지 않고 진동하며 발산한다. 하지만 식 (12)가 수렴하지 않더라도 계승을 점근적으로 계산하는 식 (12)는 충분히 소중하다. 식 (12)로 표현한 스털링의 공식을 통해 우리의 고정 관념을 확 바꿀 수 있다. 수학에서 다루는 무한 급수는 수렴할 때만 가치 있다고 오판하지 말자. 무한 급수가 발산하거나 진동할 때는 유한 번만 더해서 값어치 있는 결과를 만들 수도 있다.

어떤 경우는 계승에 느낌표를 하나 더 붙여서 $n!!$처럼 표현하기도 한다. 이때는 그냥 계승이라 하지 않고 이중 계승(二重階乘, double factorial)이라 부른다. 이중 계승을 쓰면, 짝수나 홀수에 대한 계승을 깔끔하게 쓸 수 있다.

                       (13a)

                       (13b)

                       (13c)

여기서 $(-1)!!$ = $0!!$ = $1$로 정의한다. 식 (13)이 세련되기는 하지만, 짝수와 홀수의 계승 표현식에 사용하는 이중 계승은 선택 사항이다. 식 (1a)에 있는 계승의 원래 의미에 따라 짝수와 홀수의 계승을 표기할 수도 있다.

                       (14a)

                       (14b)

식 (14)를 보면 명확히 이해할 수 있지만, 식 (14)의 우변은 다소 지저분하고 복잡한 반면 식 (13)의 정의는 단순하고 직관적이다. 그래서 식 (13)의 이중 계승이란 개념을 써서 식 (14)와 같이 계승의 특별한 경우를 더 쉬운 방식으로 표현한다.

[참고문헌]
[1] "Stirling's formula," ProofWiki. (방문일 2020-07-13)

댓글 없음 :

댓글 쓰기

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.