2012년 8월 19일 일요일

복소 함수의 다가성(多價性, Multi-valuedness of Complex Function)

[경고] 아래 글을 읽지 않고 "복소 함수의 다가성"을 보면 바보로 느껴질 수 있습니다.
1. 복소 함수론의 이해
2. 복소 함수의 표현법


[그림 1] 복소 함수의 함수론적 설명(출처: wikipedia.org)

복소 함수(complex function)가 무엇인지 수학적으로 생각해보자. 먼저 단순히 실 함수(real function)적으로 설명하면 [그림 1]과 같은 관계이다. 실 함수와 비교하여 복소 함수는 정의역(domain of definition)과 치역(range)이 모두 복소수(complex number)인 점이 다르다. 복소 함수를 [그림 1]처럼 생각한다 해서 틀린 부분은 없다. 하지만 정의역이 2차원[∵ 복소수의 실수부와 허수부가 독립적이므로], 치역이 2차원이므로 복소 함수를 그릴려면 4차원을 고려해야 한다. 현실 공간은 3차원이므로 복소 함수를 [그림 1]처럼 함수론적으로 그리기는 불가능하다. 이때 나타나는 새로운 방법이 [그림 2]처럼 기하학적으로 복소 함수 보기이다.

[그림 2] 복소 함수의 기하학적 설명(출처: wikipedia.org)

복소 함수를 [그림 2]처럼 2차원 평면의 기하학적 변형성으로 본 사람은 리만Bernhard Riemann(1826–1866)이 최초이다. 리만은 자신의 박사학위 논문[1]에서 이런 관점을 새롭게 제시했다. [그림 2]의 개념은 너무 간단해서 쉽게 볼 수도 있지만, 복소 함수의 다가성(多價性, multi-valuedness) 관점에서는 기하학적 접근법이 매우 유용하며 필수적이다. 복소 함수는 하나의 복소수 $z$에 대해 여러 개의 함수값 $f(z)$가 있을 수 있는 다가성이 있다. 함수값의 다가성이 있는 함수는 다가 함수(函數多價, multi-valued function)라 칭한다. 복소 함수의 다가성은 통상적인 함수 관점에서는 말이 되지 않는다. 실 함수의 기본 조건에 의해 [그림 1]처럼 $x$에 대해 하나의 함수값 $f(x)$만 연결되기 때문이다. 복소 함수에도 실 함수와 동일한 개념을 적용할 수 있지만, 중요한 다수의 복소 함수가 해석적이 아닌 결과가 얻어진다. 예를 들어, 함수의 다가성이 생겨서 해석 함수로 만들 필요가 있는 대표적인 복소 함수가 제곱근 함수(square root function) $\sqrt{z}$이다.

                       (1)

실 함수로 보면, 제곱근 함수는 $y$ = $x^2$의 역함수이다. 그래서 제곱근 함수는 $y$ = $\pm \sqrt{|x|}$으로 정의된다. 하지만 함수의 다가성으로 인해 $y$ = $\sqrt{|x|}$ 혹은 $y$ = $-\sqrt{|x|}$으로 택한다. 이런 선택 방식은 복소 함수에서는 통하지 않는다. 왜냐하면 복소 함수론에서는 절대값 연산 $|z|$이 코쉬–리만 방정식(Cauchy–Riemann equation)을 만족하기 않기 때문이다. 그래서 어쩔 수 없이 제곱근 함수 $\sqrt{z}$를 복소 함수론에 제외하면 현실적인 해결책이 될 수도 있다. 하지만 중요한 제곱근 함수를 복소 함수론에서 다루지 않으면 너무 아깝다. 어떻게 식 (1)을 분석하고 설명해야 제곱근 함수가 해석적이 될까? 복소 함수를 분석하기 위해 복소수의 근본을 고민해본다. 복소수는 2차원 복소 평면(complex plane)에 존재하므로, 변수 $z$를 극좌표계(polar coordinate system)로 표현할 수 있다. 이를 식 (1)에 대입하면 다음을 얻는다.

                        (2)

복소수 $z$ 입장에서 보면 각도 $-3\pi, -\pi, \pi, 3\pi$ 등이 나타내는 값은 서로 같다. 하지만 식 (2)처럼 제곱근 함수 $f(z)$에 들어가면 그 결과는 몇 바퀴를 돌았는가에 따라 함수값이 달라진다. 이러한 복소 함수의 다가성을 해결하기 위해, 복소 평면에 나타나는 함수 관계 $z \to f(z)$를 아예 4차원 공간 상의 표면으로 사상(寫像, mapping)해서 동일한 복소수 $z$가 가지는 다른 함수값 $f(z)$를 표현하는 리만 표면(Riemann surface)이 매우 유용하다. 기하학적으로 리만 표면은 2차원인 정의역 $z$와 또 다른 2차원인 치역 $f(z)$로 구성한 $\mathbb{C} \times \mathbb{C}$ = $\mathbb{C}^2$의 4차원 공간에 그린 매끈한 곡면이다. 혹은 사상 관점으로 정의역 $z$에서 치역 $f(z)$로 가는 $\mathbb{C} \to \mathbb{C}$의 함수 관계가 항상 근방을 가지면 리만 표면이 된다. 더 구체적으로, 리만 표면은 서로 근접한 임의의 $z_1, z_2$를 사상한 $f(z_1), f(z_2)$가 복소 평면에서 항상 서로 가까이 있는 성질을 가진다. 예를 들면, 식 (1)의 정의역 $z$와 치역 $\sqrt{z}$의 관계는 [그림 3]과 같은 리만 표면이 명확히 보여준다. 
[그림 3] 제곱근 함수 $\sqrt{z}$를 위한 리만 표면(출처: wikipedia.org)

[그림 3]은 제곱근 함수 $f(z)$ = $\sqrt{z}$를 위한 리만 표면을 보여준다. 원래는 4차원에 그려야 하나, 우리가 사는 공간이 3차원이라서 3차원적으로 점 $(x_1, x_2, x_3)$을 찍어서 3차원 색칠하기 표현으로 그린다. 먼저 평평한 평면을 구성하는 $(x_1, x_2)$가 복소수 $z$ = $x + iy$ = $(x, y)$를 표현한다. 수직 높이에 해당하는 $x_3$는 복소 함수의 실수부 $\Re[f(z)]$가 된다. 나머지 한 차원인 복소 함수의 허수부 $\Im[f(z)]$는 색깔로 표현한다. 물론 이런 방식 외에 복소 함수의 치역을 아예 색깔[이 방식은 정의역 색칠하기(domain coloring)라 한다.]로만 나타낼 수도 있다. 이러한 멋진 상상력으로 [그림 3]을 보면, 3차원이지만 4차원적 특성을 느낄 수 있다. 리만 표면의 가시화인 [그림 3]에서 정의역 $z$의 각도는 -180˚~540˚까지 그려져 있다. 정의역 $z$ 관점에서는 두 바퀴를 돌았지만 치역 $f(z)$ 관점에서는 -90˚~270˚가 되어 한바퀴 돌기가 된다. 더 구체적으로는 $z$의 각도가 -180˚~180˚까지 돌면 원래 시작한 -180˚에서 함수값이 겹치지만 어디까지나 실수부가 같다는 뜻이다. 허수부는 색깔이라서 원래 시작한 -180˚에서는 파란색, 180˚에서는 빨간색이라서 서로 다르다. 그래서 아래쪽으로 한 바퀴를 더 돌아야 실수부와 허수부가 같아진다. 즉 $z$의 각도가 -180˚~540˚만큼 돌아야 $\sqrt{z}$의 함수값이 같아진다. 복잡한 설명 같지만 [그림 3]의 리만 표면은 엃히고설킨 복소 함수의 다가성을 한 눈에 보여준다. 리만Bernhard Riemann(1826–1866)의 천재성이 엿보이는 위대한 순간이다[1].

(a) 나무 가지
(b) 실제 가지 자르기
[그림 4] 나무로 보는 복소 함수론(출처: wikipedia.org)

우리가 화가 수준의 그리기 능력이 있어서 모든 복소 함수에 대해 [그림 3]처럼 멋지게 리만 표면을 묘사할 수 있다면 좋겠다. 하지만 현실은 대부분 저주받은 망손(?)이다. 그래서 그리기 능력과 복소 함수론 이해력을 분리시키려면 복소수를 2차원에 그리면 된다. 정의역과 치역 중에서 주로 선 적분에 사용되는 정의역 $z$를 중심으로 복소수를 그린다. 이 경우에 다시 문제가 되는 부분은 정의역 $z$이다. 정의역 $z$의 치역 $f(z)$가 다가성을 가져서 [그림 3]의 리만 표면을 도입했다. 그런데 돌고 돌아서 다시 정의역만 단순히 그리면 같은 문제가 반복된다. 어떻게 할까? 우리 문제의 해답은 분명히 [그림 3]과 같은 리만 표면이다. 리만 표면을 평면에 적절히 사영해서 복소 함수의 다가성을 쉽게 다룰 수 있다. 리만 표면이 정의역 $z$에 따라 뻗어가는 모양은 [그림 4(a)]와 같은 나무 가지 모양이라서, 하나의 2차원 복소 평면 $z$를 기준으로 분리한 리만 표면을 가지(branch)라고 부른다. 예를 들어 [그림 3]은 2개의 가지를 가지고 있다. 복소수 $z$의 각도 -180˚~180˚와 180˚~540˚에 대응하는 두 개의 잘린 리만 표면이 가지가 되기 때문이다. 그래서 가지 중 하나에 대응하는 정의역 $z$를 그린 그리면 [그림 5]처럼 된다. 다만 하나의 정의역으로 두 바퀴 회전을 표현해야 하므로, [그림 4(b)]에 있는 가지 자르기처럼 현재 가지의 정의역[혹은 복소 평면]을 싹둑 잘라서 다른 가지의 정의역으로 들어가는 입구를 표시한다. 이때 복소 평면을 자른 흔적을 가지 자름(branch cut)이라 부른다. 제곱근 함수의 경우 복소 평면을 두 번만 돌면 모든 값을 표현할 수 있기 때문에 가지 자름은 어디에 만들어도 된다. 예를 들어, 식 (2)의 복소수 $z$ 정의[= $-\pi < \phi \le \pi$ 혹은 $-\pi \le \phi < \pi$]를 도입해서 [그림 5]처럼 $\phi = \pi$ 지점에 가지 자름을 만들 수 있다. 제곱근 함수 $\sqrt{z}$의 경우는 $\sqrt{-1}$ = $(e^{i \pi})^{1/2}$ = $i$가 되도록 편각 범위를 $-\pi < \phi \le \pi$로 한정한다.

[그림 5] 위상 $\phi = \pi$에 생긴 제곱근 함수를 위한 가지 자름

가지 자름을 기하학적으로 이해하려면 [그림 3]과 [그림 5]를 같이 보면 된다. 복소 평면은 360˚만 돌 수 있어서 두 바퀴에 해당하는 720˚를 돌리려면, 복소 평면을 가지처럼 잘라서 복소 곡면[정확히는 리만 표면] 두 개를 [그림 3]처럼 이어 붙여야 한다. 이때 잘린 복소 곡면의 시작과 끝을 서로 붙인 정의역의 흔적이 [그림 5]에 표시한 가지 자름이다. 식 (2)와는 다르게 각도 $\phi$의 범위를 0에서 $2\pi$로 잡으면 가지 자름은 $\phi$ = $0$이 된다. 가지 자름의 끝은 가지점(branch point)이라 부른다. 가지점 주위로 $z$가 한 바퀴를 돌면, 다른 정의역의 입구인 가지 자름으로 인해 항상 함수값이 불연속인 점이 생긴다. 돌리는 원의 반지름을 아무리 작게 해도 가지점에서는 불연속이 계속 생긴다. 그래서 가지 자름에 의해 필연적으로 생기는 가지점은 해석 함수 관점에서 특이점이 된다. 다만 조금 세련된 용어인 리만 표면, 가지 자름 등을 어려운 개념이라 생각할 필요는 없다.  리만 표면은 실 함수의 적분에 쓰는 변수 변환(change of variables) 혹은 변수 치환(variable substitution)과 매우 비슷하다. 실 함수는 변수를 바꾸더라도 1차원적인 적분 경로를 사용해서 시작점과 끝점만 잘 보면 된다. 하지만 복소 함수의 변수는 2차원 복소 평면에서 자유롭게 변형될 수 있어서 전체 경로를 해석적으로 일관되게 처리해야 한다. 변수 변환에 따라 결과가 바뀔 수 있는 복소 적분을 제대로 계산하려면, 리만 표면과 같은 아름다운 생각의 틀이 꼭 필요하다.

[그림 6] 세제곱근 함수 $\sqrt[3]{z}$를 위한 리만 표면(출처: wikipedia.org)

[그림 7] 네제곱근 함수 $\sqrt[4]{z}$를 위한 리만 표면(출처: wikipedia.org)

세제곱근(cube root)과 네제곱근(4th root) 함수는 정의역 $z$가 세 바퀴와 네 바퀴를 돌아야 해서 [그림 6]과 [그림 7]처럼 각각 리만 표면을 정의하면 된다. 세제곱근과 네제곱근 함수의 가지 개수는 각각 $3$과 $4$이다. [그림 6, 7]에서 현재 가지의 정의역과 다른 가지의 정의역을 잇기 위해 현재 정의역을 자른 가지 자름은 [그림 5]처럼 보통 음의 실수축인 $\phi$ = $\pi$에 만든다. 또한 다른 제곱근 함수 혹은 분수 멱함수의 가지 자름도 어느 곳이든 설정할 수 있지만, 통상적으로 [그림 5]처럼 가지 자름을 설정한다.
제곱근 함수 다음으로 다가성을 가진 유명한 복소 함수는 로그 함수(logarithmic function)이다. 정의역을 식 (2)처럼 정의해 로그 함수를 구해보자.

                       (3)

제곱근 함수와는 다르게 로그 함수는 정의역 $z$의 각도에 따라 무한개의 다른 값을 가진다.[∵ $m$은 임의의 정수일 수 있으므로] 당연히 로그 함수의 가지 개수도 무한개이다. 그래서 리만 표면의 기하학적 구조는 아래 그림처럼 생각해야 한다. 

[그림 8] 로그 함수 $\log(z)$를 위한 리만 표면(출처: wikipedia.org)

동일한 $z$에 대해 무한개의 함수값이 존재하므로, 정의역도 [그림 8]처럼 무한번 회전이 허용되어야 한다. 가지 자름은 식 (3)의 정의에 따라 [그림 5]와 동일하게 정의한다. 식 (3)에서 $z$가 주어진 경우 $f(z)$는 무한개의 다른 값을 가질 수 있다. 그래서 각 가지를 구별하기 위해 가지 번호(branch number)를 식 (3)에 나온 $m$으로 선택한다. 만약 가지 자름이 표현하는 복소 평면을 $m$ = $0$로 제한하면, 로그 함수는 복소 영역에서 단 하나의 값으로 표현된다. 해석 함수로 인해 자연스럽게 생긴 다가성을 일가성(single-valuedness)으로 제한하기 위한 가지는 주요 가지(principal branch)라고 부른다. 원래는 하나 이상의 값을 가진 다가성이 있지만 주요 가지만 택해서 단 하나의 값만 가지도록 만든 경우는 주치(主値, principal value)라고 한다. 예를 들어 식 (3)의 로그 함수를 주치만 가지도록 만든 함수는 대문자를 이용해 아래처럼 표현한다.

                       (4)

즉 식 (3)에서 $m$ = $0$을 대입한 경우가 주치만 가진 식 (4)이다. 일반적으로는 $z$가 고정되더라도 $m$은 여러 값이 가능해서 식 (3)은 다가성에 의해 무한히 많은 함수값을 나타낸다. 반면에 식 (4)는 딱 주치만 택해서 다가성 없이 단 하나의 함수값만 표현한다.

[참고문헌]
[1] B. Riemann, Grundlagen für eine allgemeine Theorie der Functionen einer veränderlichen complexen Grösse (Foundations for a General Theory of Functions of One Variable Size Complex Number), Inaugural Dissertation, Göttingen, Dec. 1851.
[2] C. Teleman, Riemann Surfaces, The Cambridge Riemann Surfaces course, 2003. (방문일 2020-10-17)

[다음 읽을거리]

댓글 15개 :

  1. 전파거북이님 혹시 고려대 김영욱 교수님 아시나요? 수학에 대한 접근 방법이나 쉽게 이해시켜 주시려는 방식이 이 교수님을 생각나게 하네요.... http://elie.korea.ac.kr/~ywkim/mawiki/wiki.php 여기가 홈페이지인데 정말 좋은글이 많고 특히 http://elie.korea.ac.kr/~ywkim/mawiki/wiki.php?MyMisc 여기에 있는 다양한 글들이 인상적이에요... 대학 신입을 위하 미적분학의 의의를 설명한 기초미적분학 교재나 현대 수학 입문... 그리고 일본의 수학교수가 쓴 수필을 직접 번역하신 글도 있는 이 수학 에세이가 상당히 깊이가 있고 많은 생각을 하게 만듭니다. 전파거북이님도 에세이는 꼭 읽어보셨으면 좋겠네요... 도움을 넘 많이 얻고 가서 조금이라도 도움이 될까하여 길게 적어봤습니다.

    답글삭제
    답글
    1. 좋은 정보 감사합니다. ^^
      김영욱 교수님은 잘 모르는 분이지만 지식을 적극적으로 공유하는 모습이 너무 좋습니다.

      삭제
  2. 복소함수의 그래프에서 x, y, z축은 각각 어떤 것을 의미하나요?

    답글삭제
    답글
    1. 복소 함수는 3차원 좌표축으로 처리가 곤란합니다. 그래서 영역이 바뀌는 [그림 2]처럼 생각합니다.

      삭제
  3. 여기에 블로그포스팅 내용은 아니지만 포스팅내용과 관련된 내용 질문해도 답변해주시나요?

    답글삭제
  4. 글 잘 봤습니다!
    혹시 음의 실수축에서 로그함수가 해석적이지 않은 이유가 단지 branch cut으로 잘려서 그런것 뿐인가요?

    답글삭제
    답글
    1. 질문에서 설명한 내용은 원인과 결과가 바뀌어 있는 것 같습니다. 로그 함수는 다가성이 있어서, 이를 극복해 해석적으로 만들기 위해 가지 자름을 도입한 것입니다. 즉 가지 자름을 사용하면 로그 함수는 해석적이 됩니다.

      삭제
  5. 공부하다 보고서 감탄하고 갑니다. 복소평면이 바퀴수를 구분 못하니 한바퀴 돌때마다 branch cut으로 평면을 추가해 정의역을 넓혀버린 거였네요. 로그함수의 다가성이 이해가 안가서 끙끙대고 있었는데 기하적으로 보니 정말 명쾌해졌습니다. 감사합니다!

    답글삭제
    답글
    1. 안준명님, 가지 자름(branch cut)은 멋진 개념이죠! 이런 개념을 선물한 리만에게 감사해야죠. ^^

      삭제
  6. 좋은글 정말 감사합니다....

    답글삭제
    답글
    1. 칭찬 감사합니다, 변상빈님. ^^ 주말에도 함께 열공. :)

      삭제
  7. 감사합니다. 항상 공짜로 뭘 얻어가는거 같아서 자주 방문하게 되네요:)
    complex line integral을 공부하다가, 관련 정보가 여기 있을까 싶었는데 아직은 없네요..
    질문 하나만 드려도 될까요?
    f(z) = (z-0.5)^-1를 unit circle로 integral하면 2*pi*i가 나옵니다.
    그림8로 이해할 방법이 있을까요?


    한바퀴 휘어올라가면 색깔이 바뀌는데, 그 색깔 차이를 2*pi정도로 생각하면 되는걸까요?
    언제나 친절한 답변 미리 감사말씀드립니다.

    답글삭제
    답글
    1. 아닙니다, 이준화님.
      복소 함수론의 기본인 유수 정리로 설명해야 합니다. 아래 링크 참고하세요.

      https://ghebook.blogspot.kr/2012/08/complex-analysis.html

      삭제

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