2011년 2월 6일 일요일

로그 함수(Logarithmic Function)의 기원

 [경고] 아래 글을 읽지 않고 "로그 함수의 기원"을 보면 바보로 느껴질 수 있습니다.


Animation of the log function, thinked as the ...[그림 1] 지수 함수와 로그 함수(출처: Wikipedia)

처음 수학을 공부하게 되면 하품 나는 함수를 여럿 만나게 된다. 특히 지수 함수(exponential function)로그 함수(logarithmic function)는 참 재미없다. 그런데 로그 함수의 기원을 추적하여 이해하게 되면 이 로그 함수에 경의를 표하게 된다. 로그 함수를 발명한 네이피어John Napier(1550–1617)에게 반드시 감사해야 한다. 로그 함수는 산수를 빠르게 하기 위해 고안된 개념이다. 로그 함수가 존재하기 이전에는 어떻게 계산을 빠르게 했을까? 고대로부터 삼각 함수는 잘 알려져 왔음을 기억한다. 고대에 제안된 삼각 함수를 잘 이해하지 못하는 현대의 고등학생들은 뭐지? 어쨌든 삼각 함수의 합차 공식에서 증명한 아래 공식을 눈여겨본다.

                        (1)

식 (1)을 보면 곱셈을 덧셈으로 바꾸는 관계를 파악할 수 있다. 즉, 코사인 계산표가 있으면 곱셈을 덧셈으로 계산할 수 있다. 이 개념이 후일 로그 함수의 중요 개념이 된다. 예를 들어, $123 \times 456$을 식 (2)를 이용해 계산한다.

                        (2)

식 (2)에서 $X$ = $123$, $Y$ = $456$, $R$ = $1000$으로 두면

     (3)

신기하게도 곱셈 연산없이 덧셈만 했지만 답은 정확하게 맞다. 그러면 로그 함수를 발명할 필요는 없었을 터인데 어떻게 된 일일까? 식 (2)의 연산법은 문제가 있다. $X, Y$가 너무 크거나 작으면 결과가 부정확해지며 삼각 함수를 이용해 나눗셈과 지수 연산을 하기는 너무 불편하다. 이런 관점을 이해해서 새로운 연산법을 개발하기로 마음 먹은 최초의 수학자가 네이피어이다. 로그 함수 발견에는 아름다운 우연이 하나 있다[1]. 덴마크 천문학자인 튀코 브라헤Tycho Brahe(1546–1601)는 식 (2)와 같은 삼각 함수 연산법을 잘 했다. 폭풍우 때문에 어쩔 수 없이 천문대에 묵게 된 영국의 왕자에게 브라헤는 이 계산법을 소개해 주었다. 이를 눈여겨 본 사람은 왕자가 아니라 왕자의 주치의인 존 크레이그John Craig(?–1620)였다. 존 크레이그는 이 새로운 개념을 그의 친구인 네이피어에게 알려주었다. 그후 네이피어는 20년을 연구하여 새로운 단어인 로그[logarithm = logos(비례) + arithmos(숫자)]를 제안하고 식 (2)를 대체할 수 있는 로그 함수 개념과 계산표를 제시하였다.
지수 함수와 로그 함수는 역함수 관계이므로, 지수 함수부터 이해하면 로그 함수로 더 쉽게 다가갈 수 있다. 신기하게도 네이피어가 1614년네이피어 61세, 조선 광해군 시절에 로그 함수를 제안한 후에 오일러Leonhard Euler(1707–1783)가 1745년오일러 38세, 조선 영조 시절에 로그 함수를 기반으로 지수 함수를 다시 제안했다[3], [4]. 우리 교과서에는 지수 함수, 로그 함수 순으로 나오지만, 상식과 다르게 발견 순서는 거꾸로인 사실이 재미있다. 사실 수학 교과서에 나오는 개념의 발견 순서는 책을 뒷장부터 거꾸로 보는 순서와 거의 동일하다. 다만 대수학자 오일러는 지수와 로그의 함수 관계를 넘어서는 고민을 계속 했다. 그는 로그 함수의 정의역으로 음수가 가능한지, 가능하다면 어떤 방식으로 로그 함수를 정의해야 하는지를 끊임없이 생각했다. 결국 오일러는 로그 함수의 정의역 문제를 깔끔하게 해결했고, 고민과 노력을 통해 가장 아름다운 수학 공식 중 하나인 오일러의 공식(Euler's formula)까지 찾아냈다.
지수 함수와 로그 함수의 가장 중요한 성질은 아래 식이다.

                        (4)

                            (5)

                        (6)

여기서 $a$는 밑수(base), $x$는 지수(指數, exponent), $X$는 진수(眞數, argument) 혹은 역로그(antilogarithm)라고 부른다. 식 (5), (6)은 곱셈을 덧셈으로 혹은 등비 수열(等比數列, geometric series)을 등차 수열(等差數列, arithmetic series)로 바꾸는 관계를 의미한다. 식 (5) 혹은 (6)이 증명되면, 모든 지수와 로그 함수의 성질을 증명할 수 있다. 먼저 오일러의 수를 이용하여 지수 함수를 극한으로 정의한다.

                        (7)

다음 단계로 식 (7)을 식 (5)에 대입하여 지수 함수의 극한이 나오도록 모은다.

        (8)

식 (7)을 변형하여 로그 함수도 아래와 같은 극한 형태로 표현할 수 있다.

                        (9)

여기서 $\log(X)$는 자연 로그(natural logarithm)이다. 식 (9)는 오일러가 로그 함수를 엄밀하게 정의하기 위해 사용한 극한이다. 식 (9)를 식 (6)에 대입하여 식 (6)을 증명한다.

     (10)

로그 함수는 오일러 수(Euler's number)의 정의를 이용해 아래와 같이 미분할 수 있다.

             (11)

로그 함수의 적분은 부분 적분법을 이용하면 된다.

                       (12)

자연 로그는 $\ln x$로 쓸 수도 있다. 함수 $\ln x$를 자연 로그로 사용한 최초의 문헌은 1893년조선 고종 시절에 등장한다[2]. 이후 수학 문헌에는 $\log x$와 $\ln x$가 혼재되면서 사용되고 있다. 미분 방정식이 아니라 계산 자체를 많이 하는 공학 분야에서는 $\log x$를 밑수(base)가 10인 상용 로그(common logarithm)로 간주한다. 상용 로그는 많이 쓰이기 때문에 로그의 계산 결과를 나타내는 각 항에는 이름이 붙어 있다. 예를 들어, 진수(眞數, argument) $X$의 상용 로그는 $\log X$ = $n + a$가 되며, $n$은 지표(指標, index), $a$는 가수(加數, addend)라 부른다. 여기서 $n$은 정수이고, 실수 $a$는 $0 \le a < 1$ 범위를 만족한다. 이진수(binary number)를 다루는 컴퓨터 분야에서는 밑수가 2인 로그를 $\log x$로 표기하기도 한다.

식 (5)를 일반적인 형태인 함수(函數, function) 형태로 쓰면 다음과 같다.

                       (13)

여기서 $f(0) = 1$이다. 식 (13)을 만족하는 함수는 식 (5)와 같은 지수 함수뿐일까? 이 예상을 증명하기 위해 식 (13)을 $y$에 대해 미분한 후 $y = 0$을 대입한다.

                       (14)

식 (14)에 의해 식 (13)의 함수 관계를 만족하는 함수는 지수 함수가 유일하다.

[참고문헌]
[1] 줄리언 해빌, 오일러 상수 감마, 승산, 2008.
[2] I. Stringham, Uniplanar Algebra, Berkeley Press, 1893.
[3] F. Cajori, "History of the exponential and logarithmic concepts," The American Mathematical Monthly, vol. 20, no. 2, pp. 35–47, Feb. 1913.
[4] D. Bal, "Leibniz, Bernoulli and the logarithms of negative numbers," Montclair State University. (방문일 2019-10-16)

[다음 읽을거리]
1. 감마 함수
2. 데시벨과 로그 함수
3. 복소수

2011년 1월 30일 일요일

삼각 함수의 합차 공식(合差公式, Angle Sum and Difference Identity)

[경고] 아래 글을 읽지 않고 "삼각 함수의 합차 공식"을 보면 바보로 느껴질 수 있습니다.
1. 삼각 함수


삼각 함수의 합차 공식(angle sum and difference identity)은 예전 이과반 고등학생을 괴롭히는 매우 복잡한 공식이다. 이 공식을 굳이 배우는 이유는 삼각 함수를 미분하기 위해서이다. 먼저 삼각 함수의 합차 공식을 외울 수 있는 쉬운 방법을 생각해 보자. 아래 오일러의 공식(Euler's formula)을 이용하면 삼각 함수 합차 공식을 잊지 않고 계속 기억할 수 있다.

                         (1)

식 (1)의 오일러 공식을 이용하면 아래식이 얻어진다.

                       (2)

식 (2)의 실수부와 허수부를 각각 비교하면 아래의 삼각 함수 합차 공식을 쉽게 암기할 수 있다.

                        (3)

여기서 조심할 부분이 있다. 식 (2)는 삼각 함수 합차 공식의 증명이 아니다. 쉽게 외우기 위한 수단일 뿐이다. 오일러 공식을 증명할 때 삼각 함수의 미분을 썼고 삼각 함수의 미분은 삼각 함수 합차 공식을 필요로 하기 때문에 식 (2)를 이용해 식 (3)을 증명하기는 동어 반복이다. 따라서 식 (3)의 증명은 다음처럼 해야 한다.

[증명: 기하학]
[그림 1] 합차 공식 증명을 위한 사각형

삼각 함수 정의를 활용하면 [그림 1]을 통해 합차 공식을 쉽게 증명할 수 있다. [그림 1]에 표시한 길이를 $x$축과 $y$축 관점으로 합하면 아래식을 얻는다.

                       (4)

[증명: 벡터 내적]
2차원 벡터의 내적(內積, inner product)을 이용해서도 합차 공식을 쉽게 증명할 수 있다[1]. 임의의 2차원 벡터를 $\bar a, \bar b$라 하자.

                          (5)

식 (5)를 이용해서 내적을 계산하면 아래식을 얻는다.

                       (6)

[그림 2] 사각형으로 합차 공식을 증명(출처: wikipedia.org)

[증명: 사각형]
[그림 1]에 있는 직사각형을 아예 큰 직사각형 안으로 넣으면 [그림 2]가 된다. 두 삼각형의 각을 $\alpha, \beta$라 한 후, 유클리드 기하학(Euclidean geometry)을 이용해 직사각형 안에 있는 네 직각 삼각형의 변 길이를 결정한다. 직사각형에서 좌변과 우변의 길이가 같으므로, $\sin (\alpha + \beta)$ 공식을 증명할 수 있다. 또한 위변과 아래변의 길이가 같아서 $\cos (\alpha + \beta)$ 공식도 얻을 수 있다. 
______________________________

삼각 함수의 합차 공식을 이용하면 삼각 함수의 미분을 쉽게 구할 수 있다.

[사인 함수의 미분]

                          (7)

[증명]

                          (8)

여기서 삼각 함수 항등식(trigonometric identity)에 의해 $1-\cos h = 2 \sin^2 (h/2)$, $\lim_{h \to 0} 2 \sin^2 (h/2)/h$ = $\lim_{h \to 0} \sin (h/2)$ $\lim_{h \to 0} \sin (h/2)/(h/2)$ = $0$이다.
______________________________

[코사인 함수의 미분]

                          (9)

[증명]
식 (7)에서 $x \to x + \pi /2$를 하면 식 (9)가 증명된다.
______________________________

식 (8)의 증명에서 모호한 부분이 하나 있다. 함수 $\sin h/h$의 극한이 1임을 어떻게 알 수 있나? 사실 라디안(radian)을 사용하는 이유가 여기에 있다.

[$\sin h/h$의 극한]

                          (10)

[증명]

                        (11)

여기서 원의 반지름 $r = 1$이라 단순화했다. 또한 라디안 정의는 아래와 같다.

                        (12)

여기서 $l$은 호의 길이(arc length), $r$은 반지름(radius), $\theta$는 라디안으로 정의한 각도, $\vartheta$는 $360^\circ$ 기준 각도이다. 정성적으로 식 (11)을 이해하기는 쉽다. 식 (11)의 의미는 $x = 1$ 근방으로 계속 접근하면 호 길이는 접선 길이와 일치함이다.[혹은 돋보기로  $x = 1$ 근방을 계속 확대한다고 가정해보라. 그러면 호는 직선으로 보이며 결국은 접선과 같아진다.] 이를 더 구체적으로 알아보기 위해 각도[= $\theta$]가 $0$으로 가는 지점의 접선 방정식을 구해보자.

                          (13)

즉 $\theta = 0$ 근방에서는 $y$축에 평행한 선이 접선이며 호의 길이 $l$은 $y$와 동일하게 변하게 된다. 이 개념을 수학적으로 더 다듬어 보자. $\theta = 0$[$y = 0$ 혹은 $x = 1$] 근방의 호 길이를 의미하는 길이 미분소(length differential) $ds$[선적분(line integral)에 쓰는 바로 그 $ds$]는 식 (13)을 이용하여 아래와 같이 유도한다. 먼저 피타고라스 정리(Pythagorean theorem)를 이용하면 2차원 평면에 있는 선분의 길이는 다음과 같은 차분[= $\Delta s$]으로 근사 가능하다. 차분 $\Delta s$에 극한(limit)을 취하면 다음과 같은 미분 결과를 얻을 수 있다.

                       (14)

여기서 $t$는 2차원 평면의 선분 궤적 $(x, y)$을 표현하는 매개변수(parameter)이며 $x, y$는 서로 직교하므로 $t$에서 $t + \Delta t$로 변할 때 얻어지는 선분 길이[= $\Delta s$]는 피타고라스 정리로 구할 수 있다. 그러면 원의 특성을 이용해 다음을 유도할 수 있다.

                       (15)

여기서 단위원 상에 있는 점 $(x, y)$는 $x^2 + y^2$ = $1$을 만족하고 미분 관계인 $x dx + y dy$ = $0$도 성립한다. 또한 식 (15)에서 $x = 1$이라 두면 $ds = dy$가 되므로 식 (11)이 증명된다. 혹은 $\theta = 0$ 근방에서는 호의 길이를 식 (15) 처럼 직선으로 간주할 수 있으므로 아래 관계를 통해 증명할 수도 있다.

                       (16)

여기서 $l$은 $(x, y)$와 (1, 0)와의 직선 거리로 정의했으며 $(x, y)$는 반지름이 $1$인 원 위에 있는 점이다.
______________________________

정석대로 해석학의 도움을 받으면 조임 정리(squeeze theorem)를 이용해 식 (10)을 쉽게 증명할 수도 있다. 하지만 우리 목표는 아주 초보적인 개념을 이용해 수학 기초를 이해하기이므로 의도적으로 조임 정리를 사용하지 않았다. 이런 의문도 가져볼 만 하다. 식 (10) 증명을 왜 이렇게 어렵게 할까? 테일러 급수로피탈의 정리(L'Hopital's rule)를 쓰면 쉽지 않을까? 다시 말하지만 우리는 삼각 함수의 미분을 하고 있다. 테일러 급수와 로피탈의 정리는 삼각 함수 미분을 포함하고 있으므로 식 (10)의 증명에 사용할 수 없다.

[참고문헌]
[1] BARK, "삼각함수의 합차공식에 대한 증명", 평범한 학생의 공부방, 2010. (방문일 2011-01-30)

[다음 읽을거리]
1. 로그 함수의 기원