2010년 11월 2일 화요일

조화 급수(Harmonic Series)와 오일러–마스케로니 상수(Euler–Mascheroni Constant)

[경고] 아래 글을 읽지 않고 "조화 급수와 오일러마스케로니 상수"를 보면 바보로 느껴질 수 있습니다.
1. 무한 급수
2. 테일러 급수
3. 이항 정리


조화 급수(調和級數, harmonic series)는 아래처럼 표현되는 급수이다.

                           (1)

이름에서도 알 수 있듯이 조화 급수는 음악과 밀접한 연관을 가지고 있다.

[그림 1] 고조파의 생성 모습(출처: wikipedia.org)

[그림 1]과 같이 현악기에 힘을 가하면 고조파(高調波, harmonics)가 생성된다. 이 고조파는 우리가 듣기에 아름다운 소리이다. 고조파를 물리적으로 표현하면 기본 주파수(fundamental frequency)의 정수배가 되는 주파수이다. 이를 파장 관점으로 쓰면 [그림 1]과 같이 분수로 표현되는 관계를 얻을 수 있다. [그림 1]처럼 기본 주파수의 분수로 표현되는 모두 모은 수를 조화 급수로 정의한다.
조화 급수에서 더하는 항의 수를 무한대로 가져가면 어떻게 될까? $N \to \infty$로 가더라도 수열은 $1/N \to 0$에 수렴하므로 무한 급수(infinite series)는 수렴할 수도 있다. 하지만 결과는 극적이다. 우리 상식과는 다르게 아래의 무한 급수는 놀랍도록 느리게 발산한다.

                          (2)

식 (2)가 발산함은 여러 가지 방법으로 증명할 수 있다.

[증명: 비교 판정(comparison test)]
무한 급수의 수렴 판정법 중에서 비교 판정을 이용하면 손쉽게 식 (2)가 발산함을 증명할 수 있다.

                          (3)
______________________________

위의 증명법은 이미 오렘Nicole Oresme(1325–1382) 주교가 1350년대오렘 25세 무렵, 고려 공민왕 시절에, 지금으로부터 약 700년전에 제시하였다. 참 놀랄만한 일이지만, 기본 출발점은 매우 간단하다. 자연수 $n+1$과 $2n$ 사이에는 $n$개의 자연수가 있고, 이를 역수해서 합산한 값은 $n/(2n)$ = $1/2$보다 항상 크다. 따라서 이러한 묶음은 무한히 있기 때문에 조화 급수는 반드시 발산한다.

[증명: 발산 급수의 성질]
식 (2)의 무한 급수를 아래와 같이 분해해 보자.

                         (4)

식 (4)의 최종식을 보면 처음 시작한 식과 동일하다. 하지만 부등호가 있으므로 서로 같을 수 없고 서로 달라야 한다. 결국 식 (4)는 발산해야 논리가 맞다.
______________________________

발산 수열에는 식 (4)와 같이 우리 상식으로는 이해할 수 없는 성질이 출현한다. 여기서 우리가 기억할 부분은 무한대는 수가 아니고 값이 증가해가는 상태임이다. 수렴하지 않고 끝없이 증가하기 때문에 식 (4)와 같은 기묘한 특성이 얻어진다.
식 (4)를 수학적으로 생각해보자. 식 (4)가 성립하면 해당 수열은 절대 수렴하지 않는다. 절대 수렴하지 않으므로 당연히 유계도 되지 않는다. 하지만, 조화 급수는 양수를 계속 더하고 있으므로 단조 증가하고 있다. 즉, 단조 증가하면서 유계가 되지 않으므로 필연적으로 발산해야 한다.

[증명: 이항 정리]
재미있는 이항 정리(binomial theorem)를 아래처럼 고려하자.

                         (5)

식 (5)는 이항 정리의 성질에 의해 $|x| < 1$인 경우에만 성립한다. 다시 식 (5)를 적분해 보자.

                        (6a)

                        (6b)

여기서 $\log(x)$는 자연 로그(natural logarithm)이다. 식 (6)에 대해 $x \to 1$로 가는 극한을 취하자. 그러면 식 (6)의 우변은 식 (2)가 되고 식 (6)의 좌변은 무한대로 발산한다. 따라서, 식 (2)는 발산한다.
______________________________

자연 로그가 나오는 식 (6)과 같은 무한 급수는 발견자 이름을 따서 뉴턴–메르카토르 급수(Newton–Mercator series)라 명한다. 뉴턴Isaac Newton(1643–1727)과 독립적으로 1668년메르카토르 48세, 조선 현종 시절에 이 급수를 발표한 메르카토르Nicholas Mercator(1620–1687)는 지도 제작에 쓰이는 메르카토르 투영(Mercator projection)을 만든 메르카토르Gerardus Mercator(1512–1594)와는 동명이인이다. 급수 발견자답게 메르카토르는 자신의 책에 자연 로그라는 명칭을 처음 사용했다.
수렴에 대한 고찰이 없었어도 무한 급수(infinite series)를 오류 없이 자유자재로 썼던 오일러Leonhard Euler(1707–1783)의 원초적인 증명도 살펴본다.

[오일러의 증명]
식 (5)에 있는 이항 정리를 이용하면 아래가 성립한다.

                         (7)
______________________________

[그림 2] 오일러–마스케로니 상수의 의미(출처: wikipedia.org)

식 (6)의 결과로 인해 조화 급수의 발산값은 점근적으로 로그 함수(logarithm function)의 특성을 따른다. 식 (8)을 보면 분명하다.

                         (8)

식 (6)과 (8)을 이용하여 오일러–마스케로니 상수(Euler-Mascheroni constant)를 아래와 같이 정의할 수 있다.

                          (9)

오일러–마스케로니 상수의 의미는 [그림 2]에서 드러난다. 파란색의 높이는 조화 급수의 항($1/n$)을 나타내고 보라색은 함수 $1/x$(이 함수의 면적이 로그 함수)를 표현한다. 이 둘의 차이인 파란색의 합이 오일러–마스케로니 상수가 된다. 오일러–마스케로니 상수를 그리스 문자 $\gamma$(감마, gamma)로 쓰는 이유는 이 상수가 감마 함수(gamma function)의 미분과 밀접한 관계를 가지기 때문이다. 식 (9)로 정의된 오일러–마스케로니 상수 $\gamma$를 어림해 보자. 먼저 로그 함수의 미분 공식을 이용하여 정적분을 계산하자.

                         (10)

정적분의 특성에 의해 식 (10)으로 표현된 적분은 아래와 같은 한계를 가진다. 쉽게 생각하려면 [그림 2]를 참고하자.

                         (11)

식 (11)의 부등식은 $1/x$ 함수가 단조 감소한다는 성질을 이용하면 쉽게 얻을 수 있다. 식 (11)을 식 (1)의 조화 급수 관점에서 쓰고 정리하면 아래를 얻을 수 있다.

                         (12)

식 (12)의 증명처럼 모든 $n$에 대해 $H_n - \log n$은 항상 양수이다. 즉, 조화 급수는 로그 함수보다 항상 크다. 하지만 그 차이는 1보다는 작은 범위에 있다. 다음으로 $n \to \infty$로 가는 극한을 취하면 오일러–마스케로니 상수 $\gamma$의 한계를 얻을 수 있다.

                         (13)

이 상수가 수렴함을 최종적으로 증명하려면 $H_n - \log n$이 단조 증가하거나 단조 감소해야 한다. 증감 특성을 얻기 위해 아래 식을 고려하자.

                         (14)

식 (14)로부터 $H_n - \log n$은 $n$이 커짐에 따라 단조 감소한다. 따라서 오일러–마스케로니 상수 $\gamma$는 유계이며 단조 감소하므로 수렴한다. 오일러–마스케로니 상수의 정확한 값은 아래와 같다[1].

$\gamma$ = 0.57721566490153286060651209008240243104215933593992...

조화 급수와 로그 함수로 정의할 수 있는 쉬워 보이는 상수인 $\gamma$는 절대 만만하지 않다. 예를 들어, 현재까지 $\gamma$가 무리수인지 유리수인지 증명되지 않고 있다. 딱 봐도 $\gamma$는 무리수처럼 보이지만, 증명하지 못하면 단정할 수 없고 모른다고 해야 한다.

오일러–마스케로니 상수는 아래와 같은 다양한 방식으로 정의해서 사용할 수 있다.


   1. 상수 표현식(constanst representation)   

[베르누이 수(Bernoulli number)]

                          (1.1)

여기서 $B_m$은 제$m$번 베르누이 수(Bernoulli number)이다.

[증명]
무한 급수 계산에 매우 유용한 오일러–매클로린 공식(Euler–Maclaurin formula)에서 시작하자. 식 (10)에 기반하여 $f(x) = 1/x$라 놓고 오일러–매클로린 공식을 적용하면 다음과 같다.

                         (1.2)

다음으로 함수 $f(x)$의 $m$번 미분식을 구한다.

                         (1.3)

식 (1.3)을 식 (1.2)에 대입해서 오일러–마스케로니 상수 형태로 만든다.

                         (1.4)

식 (1.4)에서 $n$을 무한대로 보내면 식 (1.1)을 얻을 수 있다.
______________________________

식 (1.1)을 실제 계산에 적용할 때는 주의할 점이 있다. 지표 $m$이 커지면 베르누이 수는 발산하기 때문에, 식 (1.1)에 있는 무한 급수의 부분 합은 수렴하지 않고 진동하면서 발산한다. 따라서 식 (1.1)의 우변은 수렴하지 않으므로 오일러–마스케로니 상수에 대한 적절한 표현식이 아니다. 이로 인해 식 (1.1)은 무한 급수 대신 적절한 유한 합을 이용해 계산한다. 예를 들어 다음처럼 오일러–마스케로니 상수를 어림할 수 있다.

                         (1.5)

[다이감마 함수(digamma function)]

                         (1.6)

[증명]
다이감마 함수를 이용하면 오일러–마스케로니 상수를 적분형으로 다음처럼 표현할 수 있다.

                         (1.7)
______________________________

식 (1.7)에 부분 적분(部分積分, integration by parts)을 적용하면 다음 극한을 오일러–마스케로니 상수로 정의할 수 있다.

                          (1.8)

여기서 $E_1(x)$는 지수 적분(exponential integral)이다.


[참고문헌]

댓글 22개 :

  1. 최고에요! 저도 마침 log3의 값을 어림하는 방법을 사고해보고 있었는데요. 많은 도움이 되었습니다.

    답글삭제
  2. 10, 11 식에서만 그런가 log가 아니라 ln으로 써야 합니다. 적분하면 ln이 나오지 log가 나오진 않잖아요. 네이버 백과사전이나 다른 블로그나 로그 급수 찾아보아도 ln을 log로 잘못쓰던데 제가 잘못된 건가요. n에 3을 집어넣으면 0.8333..< 0.4772라는 이상한 식이 나옵니다.

    답글삭제
    답글
    1. 저도 학교에서 밑이 e인 로그는 ln으로, 밑이 10인 로그는 상용로그라 해서 log로 배웠는데요. 그런데 실제로는 밑이 e인 로그를 log라 쓰는 경우가 있다고 하더군요

      삭제
    2. 이런게 인터넷의 강점 같습니다. 우리 분야 이외의 다른 사람들 의견을 볼 수 있으니까요!

      물리학 기반의 전자파를 하는 곳에서 $\log (x)$는 자연 로그입니다. 미분적분하는 곳에서는 $\log_{10} (x)$를 거의 사용하지 않습니다. 미분하면 군더더기가 붙어요.
      물론 $\ln (x)$라 쓰면 자연 로그라 알아 먹지만 제 입장에서 어색하기는 합니다.

      삭제
  3. log(3)을 어림하려면 식 (6)에서 x = 2/3을 대입하면 됩니다.

    자연로그(natural logarithm)의 영문첫자들을 모아 ln으로 쓰기도 하는데요, 보통은 log_e(X) = log(X)로 아래첨자 e(오일러 수)를 생략해서 씁니다. ln과 e를 생략한 log는 같은 함수입니다.

    식 (11)에 3을 대입하면 1/2+1/3 < log(3) < 1+1/2 → 0.83333 < 1.0986 < 1.5가 되어 문제가 없습니다.

    답글삭제
  4. 일반적으로 log(x)는 log_10(x)를 의미합니다.

    답글삭제
  5. 어떤 전공에서 log(x)를 상용로그로 쓰는 지 궁금하군요.

    공학이나 수학분야에서 log(x)는 자연로그입니다. 아직까지 예외가 되는 경우는 보지 못했습니다.
    C언어나 MATLAB 같은 프로그래밍 언어 관점으로 봐도 log(x)는 자연로그를 계산합니다.

    답글삭제
    답글
    1. 전기화학에서 수소이온농도인 pH를 계산할 때 상용로그로 쓰는 것으로 알고 있습니다.

      삭제
  6. 보통 고등학교 수학에서는 log(x)를 상용로그로 표현해서 고등학생은 log(x)를 상용로그로 알고 있는 사람이 많습니다..

    답글삭제
    답글
    1. 아, 몰랐던 사실이군요. 감사합니다. log(x)를 쓸 때는 분명히 밝혀야 오해가 줄어들겠네요.

      삭제
  7. 보통 자연로그를 log(x)로 쓰지요.

    저도 공학전공자로써 log(x)를 자연로그로 알고 씁니다.

    답글삭제
    답글
    1. 저도 동의합니다.

      그런데 윗분 말대로 고등학교 수학책을 찾아보니 log(x)를 상용로그로 쓰고 있더군요. 같은 이름의 함수인데 고등학교와 대학 이상에서 의미가 다르다는 것은 문제네요.

      삭제
    2. 그러면,'lnx'라는 표현은 공학에서는 사용하지 않는것인가요?

      삭제
    3. log(x)와 ln(x)는 혼용해서 쓰는 것 같습니다. 글쓴이 마음이겠지요...

      삭제
    4. 고등학교의 수학의 경우 십진법을 많이 사용하기도 하기 때문에 그런 듯합니다 수학관련 서적
      을 조금만 읽어본다면 lnx보다는 logx를 log e X로 많이 사용한다는 것을 알텐데 말입니다.

      삭제
    5. 늦은 나이에 수학과에 입문했는데 여기에서 많은 도움을 받고 갑니다 감사합니다.

      삭제
    6. 자주 놀러와서 조언해주세요, 익명님. ^^

      삭제
  8. 오일러 증명에서 첫식 다음에 두번쨰식은 어떻게 변화 하죠? 궁금합니다.

    답글삭제
    답글
    1. 식 (5)에 있는 이항 정리를 이용했습니다. ^^

      삭제
  9. 유익한글 감사합니다

    보통 대학교 레벨 이상의 공학수학 이상을 들은 사람이라면 log(x) ln(x) 에 대해 혼동할 일이 없겠죠

    답글삭제
  10. 조화급수의 발산은 정말 재미있는 성질임은 확실한 것 같습니다. 그런데 한가지 궁금한점은 조화급수가 발산한다는 성질이 공학적으로는 얼마나 의미가 있는지 여쭐 수 있겠습니까?

    당장 WolframAlpha에 조화급수를 10^50까지 계산시켜보아도(https://www.wolframalpha.com/input/?i=sum+1%2Fn+fom+1+to+10%5E50)그 값이 115정도밖에 되지 않으니 공학적 관점에서는 근사적으로 발산하지 않는다고 보아도 무방하련지요?

    답글삭제
    답글
    1. 그렇게 생각하면 안 됩니다, 익명님. ^^ $n$이 크더라도 조화 급수가 작게 나오는 이유는 로그 함수 특성을 가지기 때문입니다. 어쨌건 $n$이 커지면 한계를 가지지 않고 발산하는 것은 사실입니다.

      정밀도 제한으로 인해 공학적으로 계산할 수 없는 값을 근사적으로 어림할 수 있기 때문에 수학이 대단한 것입니다. 예로 든 $n = 10^{50}$까지 모든 항을 더하는 조화 급수값을 컴퓨터로 계산하려면 무척 복잡한 과정(보통 임의 정밀도 산술(arbitary-precision arithmetic) 사용; 매쓰매티카도 이걸 사용함)을 거쳐야 합니다. 하지만 수학을 사용하면 근사적으로 $50 \log(10) + \gamma \approx 115.71$을 쉽게 계산할 수 있습니다.

      삭제

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