2020년 9월 19일 토요일

리우빌의 정리(Liouville's Theorem)

[경고] 아래 글을 읽지 않고 "리우빌의 정리"를 보면 바보로 느껴질 수 있습니다.


정의된 복소 영역(complex domain)에서 항상 미분 가능한 복소 함수(complex function) $f(z)$는 정칙 함수(正則函數, holomorphic function)라 부른다. 정의역에서 다음과 같은 테일러 급수(Taylor series)가 존재해서 항상 수렴하면, $f(z)$는 해석 함수(analytic function)가 된다.

                  (1)

복소 함수 $f(z)$의 정칙성 혹은 미분 가능성은 코쉬–리만 방정식(Cauchy–Riemann equation)으로 간단하게 확인할 수 있다.

                  (2)

여기서 $f(z)$ = $u(x, y) + i v(x, y)$이다. 복소 함수의 테일러 급수(Taylor series of complex function)에 대한 성질을 이용하면, 특정 영역에서 코쉬–리만 방정식을 만족하는 정칙 함수는 당연히 해석 함수가 됨을 증명할 수 있다.
정칙 함수의 정의역을 특정 영역이 아닌 복소 평면 전체로 확장하면, 이 복소 함수는 전해석 함수(全解析 函數, entire function)가 된다. 전해석 함수는 모든 위치에서 미분 가능하지만, $z$가 무한대로 갈 때 $f(z)$가 발산할 수도 있다. 만약 전해석이면서 모든 위치에서 유계(有界, bounded)라고 복소 함수의 특성을 제한하면 어떤 결과가 얻어질까? 복잡하리라는 우리 예상과는 다르게 이 복소 함수는 간단한 상수 함수가 된다. 복소 해석 함수(complex analytic function)와 유계 특성을 연결한 결과는 리우빌의 정리(Liouville's theorem)라 한다. 복소 함수론을 여러 문제에 적용할 때, 리우빌의 정리는 매우 유용한 도구가 될 수 있다.

[리우빌의 정리]
모든 복소 영역에서 정칙(holomorphic)이며 유계(bounded)인 복소 함수는 항상 상수이다.

[증명]
정칙인 함수는 해석적이어서 복소 함수 $f(z)$를 $z$ = $0$ 근방에서 다음과 같은 테일러 급수로 표현할 수 있다.

                  (3)

식 (3)에 등장하는 계수 $a_m$은 코쉬의 미분 공식(Cauchy's differentiation formula)을 이용해서 결정한다.

                  (4)

식 (4)에 절대값을 적용해보면, $a_m$은 다음과 같은 부등식 관계를 만족해야 한다.

                  (5)

여기서 $|f(z)| \le M$, 적분 경로 $c$는 복소 평면에서 반지름이 $R$인 원이다. 전영역에서 정칙인 복소 함수 $f(z)$를 위한 적분 경로의 반지름 $R$은 계속 커질 수 있다. 그러면 $a_0$을 제외한 $a_m$은 모두 $0$으로 수렴하므로, $f(z)$는 상수 함수가 되어야 한다.
______________________________

[그림 1] 어둠을 비추는 등대(출처: wikipedia.org)

리우빌의 정리는 명제를 구성하는 단어가 단순하고 증명 자체도 매우 쉬워서 리우빌 정리의 유용성을 놓치는 경우가 많다. 하지만 복소 함수의 특성을 진지하게 고민할 때, 리우빌의 정리는 우리 마음에 높이 솟은 밝은 등대가 된다. 수학 정리는 우리 지성의 한계를 더 넓은 영역으로 인도해준다. 리우빌의 정리를 사용하는 대표적인 예는 대수학의 기본 정리(代數學 基本定理, fundamental theorem of algebra)에 대한 엄밀한 증명이 될 수 있다.

[대수학의 기본 정리]
제$n$차 방정식의 해는 복소 영역에서 $n$개 존재한다.

[증명]
제$n$차 방정식을 위한 제$n$차 다항식을 다음처럼 정의한다.

                  (6)

여기서 $a_n \ne 0$, $f(z)$ = $0$을 만족하는 $z$가 방정식의 해이다. 만약 $f(z)$가 모든 복소 영역에서 $0$이 아니라면, $f(z)$의 역수를 취한 $g(z)$[= $1/f(z)$]를 생각할 수 있다. 그러면 $g(z)$는 모든 영역에서 정칙이면서 유계이므로, 리우빌의 정리에 의해 $g(z)$는 상수 함수가 되어야 한다. 하지만 $a_n \ne 0$인 조건과 배치되는 결과라서 $f(z)$는 어떤 점에서 반드시 $0$이 되어야 한다. 어떤 점 $z_1$이 $f(z_1)$ = $0$을 만족하는 해라면, $f(z)$에서 $(z-z_1)$을 나눈 함수를 $f_1 (z)$ = $f(z)/(z-z_1)$라 둔다. 그러면 $f_1 (z)$는 제$n-1$차 다항식이 된다. 복소 함수 $f(z)$와 유사하게 $f_1 (z)$도 전영역에서 해를 가지지 않는다면, 리우빌의 정리에 의해 $f_1 (z)$는 상수가 되어야 한다. 이는 $f_1 (z)$가 제$n-1$차 다항식이라는 조건에 모순이다. 이러한 적용을 계속 반복하면, $f(z)$는 복소 영역에서 $n$개의 해를 반드시 가진다.
______________________________

방정식의 해 혹은 근은 복소 함수론에서 영점(零點, zero: 함수가 $0$으로 수렴하는 점)이라 부른다. 영점은 극점(極點, pole: 함수가 무한대로 발산하는 점)에 대비되는 개념이다. 복소 함수 $f(z)$의 역수 함수를 $g(z)$라 하면, $f(z)$의 영점은 $g(z)$의 극점 혹은 $f(z)$의 극점은 $g(z)$의 영점이다.

[다음 읽을거리]

2020년 9월 18일 금요일

사원수와 회전(Quaternion and Rotation)

[경고] 아래 글을 읽지 않고 "사원수와 회전"을 보면 바보로 느껴질 수 있습니다.


사원수(四元數, quaternion)는 물리학에 벡터(vector)란 개념을 선물해준 고마운 존재이다. 사원수가 아름답기 때문에 그동안 수많은 찬사를 받았지만, 사원수는 치명적인 약점이 존재한다. 우리 직관을 너무 벗어난 사원수의 대수적 특성은 사실 멀리하고 싶은 그리움이다. 우리만 이런 딜레마를 느낄까? 당연히 아니다. 사원수가 널리 퍼진 19세기말부터 대수 기반의 사원수가 아닌 직관적인 벡터 개념을 만들기 위한 경쟁이 시작되었다. 사원수에 벡터가 이미 포함되어 있었지만, 완벽한 사원수 대수를 버리고 어딘지 부실하게 벡터만 강조한 벡터 해석학(vector analysis)이 1881년기브스 42세, 조선 고종 시절에 출현했다[1], [2]. 벡터 해석학은 미국 최초의 공학 박사이자 예일대학교(Yale University) 교수인 기브스Josiah Willard Gibbs(1839–1903)가 만들었다. 사원수라는 엄밀한 수학 체계를 어려워하는 예일대 학생들을 위해 벡터 개념을 간단히 사용할 수 있도록 기브스 교수는 좌표계 기반 벡터에 대한 자체 교재를 만들어서 학생들을 가르쳤다. 좌표계 기반 벡터 교재는 영국에 있는 헤비사이드Oliver Heaviside(1850–1925)에게 1888년 무렵에 전달되었다. 깐깐한 헤비사이드가 기브스의 벡터 개념을 칭찬했지만, 헤비사이드는 이미 1884년헤비사이드 34세, 조선 고종 시절에 기브스와는 독립적으로 사원수로 기술된 맥스웰 방정식(Maxwell's equations)을 자신만의 벡터 기반 맥스웰 방정식으로 간략화했다. 그뒤 기브스는 너무 바빠서 새로운 벡터 개념을 다듬을 시간이 없었지만, 기브스의 제자인 윌슨이 벡터 해석학[3]이란 멋진 책을 써서 1901년에 출판했다. 이 교재로 인해 사원수라는 개념은 물리학자의 손을 떠나 원래 있어야 할 수학자에게 돌아갔다. 요즘 물리학자는 기브스와 헤비사이드가 제안한 좌표계 기반 벡터를 사용해서 사물의 움직임을 계산한다.

[그림 1] 회전축 $\hat e$에 대한 3차원 공간의 회전(출처: wikipedia.org)

[그림 2] 공간 회전의 사원수 표현식을 위한 3차원 좌표계(출처: wikipedia.org)

사원수는 수학자가 발견한 교환 법칙이 성립하지 않는 최초의 대수 체계라서 존재 가치가 분명히 있다. 하지만 사원수와 경쟁하는 벡터 개념이 너무 직관적이라서 사원수는 다수의 사랑을 다시 받기는 어렵다. 그럼에도 불구하고 3차원 회전 연산(rotation operation)만 보면, 사원수의 회전 표현식이 벡터나 행렬 공식보다 확실히 아름답다.

[3차원 공간 회전을 위한 사원수 표현식]
단위 벡터 $\hat k$를 회전축으로 놓고, 3차원 벡터 $\bar v$를 $\theta$만큼 회전시킨 벡터 $\bar v_\text{rot}$는 다음처럼 표현된다.

                  (1)

여기서 단위 벡터(unit vector)는 스칼라가 $0$인 단위 사원수(unit quaternion)이다.

[증명]
사원수 표현식을 증명하기 위한 사원수의 벡터 항등식은 다음과 같다.

                              (2)

                              (3)

회전을 표현하기 위해 사용한 사원수 $\bf q$의 크기는 $\theta$에 관계없이 항상 $1$이다.

                              (4)

그래서 식 (1)처럼 ${\bf q}^{-1}$ = ${\bf q}^*$이 성립한다. 벡터 $\bar v_\text{rot}$의 크기도 $|{\bf q} \bar v{\bf q}^*|$ = $|{\bf q}| |\bar v| |{\bf q}^*|$ = $|\bar v|$처럼 보존된다. 사원수 $\bf q$를 식 (1)에 대입한 후, 식 (2)와 (3)을 이용해 정리한다.

                              (5)

여기서 삼각 함수의 합차 공식에 의해 $\cos^2 (\theta/2) - \sin^2 (\theta/2)$ = $\cos \theta$, $2 \sin^2 (\theta/2)$ = $1 - \cos \theta$이다. 식 (5)는 로드리그의 회전 공식(Rodrigues' rotation formula)과 동일하므로, 3차원 공간의 회전 표현식이 증명된다.
______________________________

공간 회전에 대한 사원수 표현식을 증명할 때, 로드리그의 회전 공식과 비교한 부분이 약간 어색해 보일 수 있다. 하지만 역사적으로 보면, 로드리그의 회전 공식이 나온 직후에 사원수가 제안되었으므로 우리의 접근 방식은 타당하다. 

[참고문헌]
[1] M. J. Crowe, "A history of vector analysis," University of Louisville, 2002. (방문일 2020-09-18)
[2] E. B. Wilson, "Reminiscences of Gibbs by a student and colleague," Bull. Amer. Math. Soc., vol. 37, no. 6, pp. 401–416, 1931.

2020년 9월 5일 토요일

블록 행렬(Block Matrix)

[경고] 아래 글을 읽지 않고 "블록 행렬"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 행렬 원소의 정의(출처: wikipedia.org)

행렬(matrix)의 원소는 [그림 1]처럼 스칼라(scalar)로 정의함이 원칙이다. 하지만 행렬의 원소가 매우 많은 경우는 행렬 원소의 배치에 따라 구획(block)을 나누어서 부분 행렬(submatrix)로 정의하면 편리하다. 행렬의 원소를 구획으로 구분해 부분 행렬로 만든 후, 부분 행렬의 배치로 전체 행렬을 구성하는 행렬을 블록 행렬(block matrix)이라 한다. 블록 행렬의 원소는 행렬, 벡터(vector), 스칼라 등이 될 수 있다. 예를 들어, 행렬 $\bf M$을 2행 2열로 구획한 블록 행렬로 표현할 수 있다.

                  (1)

여기서 ${\bf A}, {\bf B},{\bf C},{\bf D}$는 $\bf M$의 부분 행렬이다. 혹은 $m \times n$ 형태로 구획한 블록 행렬도 다음처럼 정의할 수 있다.

                  (2)

여기서 ${\bf M}_{ij}$는 $\bf M$의 부분 행렬이다. 블록 행렬의 연산은 일반 행렬의 연산과 거의 유사하다. 다만 블록 행렬의 원소는 일반적으로 행렬이기 때문에, 각 원소를 계산할 때 교환 법칙을 쓰면 안 된다. 예를 들면, 가우스–요르단 소거법(Gauss–Jordan elimination)을 이용해 식 (1)의 역행렬을 블록 행렬 형태로 유도할 수 있다.

             (3)

따라서 식 (1)의 역행렬을 다음처럼 공식화할 수 있다.

             (4)

부분 행렬이 대각선 위치에만 있으면 블록 대각 행렬(block diagonal matrix)이라 한다.

                  (5)

역행렬 정의 ${\bf A A}^{-1}$ = $\bf I$를 이용하면 블록 대각 행렬의 역행렬은 다음과 같다.

                  (6)

블록 대각 행렬의 행렬식은 각 부분 행렬에 대한 행렬식의 곱이다.

                  (7)

식 (7)은 라플라스 전개(Laplace expansion)를 이용해 쉽게 증명할 수 있다. 블록 대각 행렬의 대각합(trace)도 각 부분 행렬에 대한 대각합의 합으로 표현할 수 있다. 

                  (8)

부분 행렬을 삼각 행렬 형태로 배치하면 블록 삼각 행렬(block triangular matrix)이 된다. 블록 삼각 행렬은 블록 상삼각 행렬(block upper triangular matrix)블록 하삼각 행렬(block lower triangular matrix)로 나눈다.

                  (9)

                  (10)

행렬 $\bf A$가 순열 행렬(permutation matrix) $\bf P$에 의해 다음처럼 블록 상삼각 행렬이 된다면, $\bf A$를 가약 행렬(可約行列, reducible matrix)이라 부른다.

                  (11)

여기서 ${\bf B},{\bf C},{\bf D}$는 $\widetilde{\bf A}$의 부분 행렬, ${\bf B}$와 ${\bf D}$는 정방 행렬(square matrix)이다. 행렬 $\bf A$의 양쪽에 순열 행렬을 곱하면, 순열(permutation)에 따라 행과 열이 동시에 바꾸어진다. 이로 인해 행이 바뀌면 열도 같은 규칙으로 바뀌어서 $\widetilde{a}_{ij}$ = $a_{\sigma_i \sigma_j}$가 성립한다. 여기서 $\sigma$는 $\bf P$를 구성하는 순열이다. 가약 행렬이 될 수 없으면 기약 행렬(旣約行列, irreducible matrix)이라 한다. 기약 행렬 개념은 프로베니우스Ferdinand Georg Frobenius(1849–1917)가 1912년프로베니우스 63세, 일제 식민지 시절에 제안했다. 가약 행렬의 개념을 이해하기 위해 변형된 연립 방정식 $\widetilde{\bf A}{\bf x}$ = $\bf k$를 부분 행렬 관점으로 써본다[1].

                  (11)

여기서 $\bf x$ = $[{\bf x}_1~{\bf x}_2]^T$, $\bf k$ = $[{\bf k}_1~{\bf k}_2]^T$이다. 가약 행렬의 조건에 의해 ${\bf B}$와 ${\bf D}$는 정방 행렬이므로, 식 (11)의 오른쪽 식은 잘 정의된다. 행렬 $\bf A$가 축약 가능[혹은 가약]이면, 처음에는 연립된 ${\bf x}_1$과 ${\bf x}_2$를 순열 행렬로 분리해서 더 풀기 쉬운 두 개의 행렬 방정식으로 간략화할 수 있다. 연립 방정식을 축약 혹은 간략화하지 못해서 ${\bf x}_1$과 ${\bf x}_2$를 있는 그대로 풀어야 한다면, ${\bf A}$는 기약이라 한다. 식 (11)을 보면 가약 행렬의 의미를 충분히 이해할 수 있다. 하지만 왜 굳이 프로베니우스는 큰 특징이 보이지 않는 기약 행렬을 정의했을까? 프로베니우스가 제안한 기약 행렬은 역행렬의 존재성을 판정하는 좋은 기준이다. 물론 행렬식을 계산하면 역행렬이 있을지 판정할 수 있지만 노력이 너무 많이 들어간다. 그래서 행렬이 대각 우세(diagonal dominance)인지 혹은 기약인지를 관찰해서 역행렬의 존재성을 판단한다.

[참고문헌]
[1] R. S. Varga, Matrix Iterative Analysis, 2nd ed., Berlin: Springer-Verlag, 1991.