2024년 1월 27일 토요일

람베르트 W 함수(Lambert W Function)

[경고] 아래 글을 읽지 않고 "람베르트 W 함수"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 람베르트 W 함수의 변화 특성(출처: wikipedia.org)

우리가 쓰는 대부분의 함수는 이미 오래전에 정립되어 대부분의 성질이 잘 규명되어 있다. 반면 람베르트 W 함수(Lambert W function)는 람베르트Johann Heinrich Lambert(1728–1777)가 1758년람베르트 30세, 조선 영조 시절에 시작했지만 1996년김영삼 정부 시절에 와서야 수학 함수로 명확히 인정받았다[1]. 람베르트 W 함수 W(x)지수 함수 ey를 이용해서 정의한다.

                          (1)

여기서 y = W(x)이다. 람베르트 함수에 알파벳 W를 쓴 이유는 기호 계산(symbolic computation) 프로그램인 메이플(Maple)에서 W를 쓰기 때문이다.[메이플에서 W를 쓴 이유는 불분명하다. 아마도 W는 잘 쓰지 않는 알파벳인 이유가 클 것이다. 혹은 이 함수에 기여한 라이트(Edward Maitland Wright) 교수[2]의 첫자를 따서 W라는 설도 있다.]

[그림 2] 가지 자름(branch cut)으로 표현한 람베르트 W 함수의 다가성(출처: wikipedia.org)

람베르트 W 함수는 주어진 x에 대해 답이 여러 개인 다가 함수(multi-valued function)이다. 이 개념을 이해하기 위해 식 (1)에 자연 로그 함수 log(x)를 취한다.

                  (2a)

                  (2b)

여기서 x = x0e2nπi, x0편각(偏角, argument)π<arg(x0)π, n = 0,±1,±2,, n은 가지를 구별하는 가지 번호(branch number)이다. 변수 x가 같더라도 편각은 2π의 정수배만큼 달라질 수 있어서 y는 하나가 아니고 무한 개의 답이 나온다. 변수 x처럼 ylogy = logy0+2mπi로 만들면, 식 (2b)에 따라 n = m이다. 여기서 logy0+y0logx0 = 0이다. 그래서 람베르트 W 함수의 정확한 표기는 [그림 1]에 나온 Wn(x)이다. 여기서 n은 [그림 2]와 같은 가지 자름(branch cut)을 가리키는 정수이다. 또한 식 (2)처럼 람베르트 W 함수는 y 기준으로 logx와 관계되고 곱 연산도 있어서 곱 로그(product logarithm)로 부를 수 있다.

[그림 3] 람베르트 W 함수의 등각 사상(출처: wikipedia.org)

등각 사상(conformal mapping) 관점에서 [그림 3]에 보인 람베르트 W 함수와 가지 자름의 특성을 고찰한다. 실수 영역에서 정의한 식 (1)을 복소수 영역으로 확장한다.

                  (3a)

여기서 w = u+iv, z = x+iy이다. 람베르트 W 함수에는 식 (2)처럼 로그 특성이 있어서 z가지 자름은 음의 실수축으로 선택한다. 등각 사상에 따라 z에 대한 음의 실수축[x<0, y = 0]w 영역에서 다음과 같이 사상된다.

                  (3b)

식 (3b)에서 vkπ로 놓고 등식과 부등식을 푼다.

                  (3c)

여기서 y = 0, k = 0,±1,±2,이다. 그러면 z평면에서 음의 실수축[x<0, y = 0]에 정의한 가지 자름이 w평면으로 넘어가 형성한 곡선을 [그림 3]처럼 그릴 수 있다. 이 곡선은 v에 대해 우함수(even function)라서 v축에 대칭이다. 먼저 표본화 함수(sampling function) Sa(v)가 0보다 큰 범위인 2nπ<v<(2n+1)π를 시작으로 u의 범위를 결정한다. 여기서 가지 번호 nn0으로 제한한다.
  • 2nπ<v<(2n+0.5)π: cosv>0이라서 u는 0보다 작음
  • (2n+0.5)πv<(2n+1)π: cosv0으로 인해 u는 0과 같거나 큼
이 결과를 이해하면서 [그림 3]을 보면, 가지 번호 n에 대해 v = 2nπu는 음의 무한대에서 출발해 v = (2n+0.5)π에서 u = 0 되며, v = (2n+1)πu가 무한대로 점근하는 방식으로 곡선이 끝난다. 가지 번호 n = 0 혹은 v = 0인 경우는 가지 자름을 특별하게 선정한다. 왜냐하면 v/sinv = 1/Sa(v)v = 0에서 잘 정의되기 때문이다. 식 (3b)에 v = 0을 넣으면, u<0인 모든 값이 가능하다. 다만 u = 1 혹은 x = e1에서 기울기가 무한대로 가서 함수의 다가성이 생긴다. 그래서 [그림 3]과 같이 v = 0u = 1에서 가지 자름을 다시 만들게 되어, (u,v) = (1,0)가지점(branch point)이 된다. 이를 이해하기 위해 W(x)의 미분을 구한다.

                  (4)

식 (4)에서 분모가 0이 되는 경우는 w = 1이 유일하다. 함수 W(x)의 다가성을 해석적으로 만들려고 검정색 곡선은 n = 0에 넣고, 파란색 곡선은 n을 하나 더 낮추어 n = 1로 배정한다. [그림 1]의 제시처럼 x = e1을 기준으로 해 W0(x)W1(x)를 각각 정의한다. 이로 인해 n<0인 경우에 대한 가지 자름을 만드는 기준은 n0 조건과 약간 달라진다.
  • (2n+1.5)π<v<(2n+2)π: cosv>0이라서 u는 0보다 작음
  • (2n+1)π<v(2n+1.5)π: cosv0으로 인해 u는 0과 같거나 큼
가지 번호가 n = 0W0(x)는 실수 범위의 정의역이 넓어서, n = 0주요 가지(principal branch)가 된다. 이상에 나온 논의를 바탕으로 [그림 3]에 나온 굵은 선 모양의 가지 자름은 v를 변화시키면서 (u,v) = (vcosv/sinv,v)인 궤적으로 그린다.
람베르트 W 함수는 고차 방정식의 해법을 찾는 과정에서 우연히 발견되었다[1]. 람베르트는 1758년에 xmx+q = 0의 답을 멱급수의 반전(inversion of power series)으로 찾았다. 여기서 m은 자연수, q는 상수이다. 요즘은 라그랑주 반전 정리(Lagrange inversion theorem)로 편하게 이 방정식을 풀 수 있다. 그 후 1783년오일러 76세, 조선 정조 시절에 오일러Leonhard Euler(1707–1783)는 변수 치환을 통해 더 쉽게 답을 얻는 방법을 제시했다. 오일러의 생각을 따라가려고 원래 고차 방정식에서 m = α/β, q = (αβ)c로 놓고 x = uβ로 치환한다.

                  (5a)

식 (5a)에 대해 βα로 가는 극한을 적용해서 정리한다.

                  (5b)

람베르트 W 함수 형태로 만들기 위해 α = 1로 두고 간략화한다.

                  (5c)

만약 α1이 아니면 식 (5b)의 양변에 α를 곱해서 αlogu = loguα = αcuα로 만든다. 그러면 t = uα인 치환을 통해 다시 식 (5b)와 같은 형태가 될 수 있다. 이 모두를 종합한 결과식을 보면 신기하게도 고차 방정식 xmx+q = 0은 람베르트 W 함수 W(x)를 내재하고 있다.
람베르트 W 함수가 도입됨으로 인해 지수와 일차 함수, 로그와 일차 함수, 밑수와 지수가 함께 변하는 방정식 등을 손쉽게 해결할 수 있다. 예를 들어, eax = bx+c를 식 (5c)와 같은 방식으로 풀어본다.

                  (6a)

지수 관계인 24 = 42처럼 밑수와 지수가 서로 바뀌는 방정식의 결과도 람베르트 W 함수로 공식화된다.

                  (6b)

마찬가지로 밑수와 지수가 같은 지수 함수의 역함수도 람베르트 W 함수에 속한다.

   
               (6c)

람베르트 W 함수의 급수해는 라그랑주 반전 정리(Lagrange inversion theorem)로 손쉽게 획득한다. 식 (1)에 따라 x = f(y) = yey로 놓고 역함수를 써서 y = g(x) = f1(x)를 계산한다.

                          (7a)

                  (7b)

식 (7b)에 나온 무한 급수의 수렴 구간은 비율 판정(ratio test)으로 결정한다.

                  (7c)

따라서 |x|<e1라면 식 (7b)는 절대 수렴한다.

[참고문헌]
[1] R. M. Corless, G. H. Gonnet, D. E. G. Hare, D. J. Jeffrey, and D. E. Knuth, "On the Lambert W function," Adv. Comput. Math., vol. 5, pp. 329–359, Dec. 1996.
[2] E. M. Wright, "Solution of the equation zez = a", Proceedings of the Royal Society of Edinburgh Section A: Mathematics, vol. 65, no. 2, pp. 193–203, 1959.

[다음 읽을거리]

댓글 없음 :

댓글 쓰기

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