6.118 행렬 지수 함수의 정의와 수렴성
1. 개요
행렬 지수 함수(matrix exponential)는 로봇공학에서 회전과 강체 운동의 수학적 표현, 선형 상미분 방정식의 해, 그리고 리 군(Lie group)과 리 대수(Lie algebra) 사이의 사상(mapping)을 기술하는 데 핵심적인 역할을 한다. 스칼라 지수 함수 e^x의 자연스러운 확장인 행렬 지수 함수는 정방 행렬에 대해 정의되며, 그 수렴성은 엄밀하게 증명할 수 있다. 본 절에서는 행렬 지수 함수의 정의, 수렴성 증명, 기본 성질, 그리고 로봇공학에서의 의미를 다룬다.
2. 행렬 지수 함수의 정의
2.1 급수 정의
정방 행렬 \mathbf{A} \in \mathbb{R}^{n \times n} (또는 \mathbb{C}^{n \times n})에 대해, 행렬 지수 함수 e^{\mathbf{A}}는 다음과 같은 멱급수(power series)로 정의한다.
e^{\mathbf{A}} = \sum_{k=0}^{\infty} \frac{\mathbf{A}^k}{k!} = \mathbf{I} + \mathbf{A} + \frac{\mathbf{A}^2}{2!} + \frac{\mathbf{A}^3}{3!} + \cdots
여기서 \mathbf{A}^0 = \mathbf{I}는 단위 행렬이고, \mathbf{A}^k는 \mathbf{A}의 k번째 거듭제곱이다.
매개변수가 포함된 형태로는, 스칼라 t \in \mathbb{R}에 대해 다음과 같이 정의한다.
e^{t\mathbf{A}} = \sum_{k=0}^{\infty} \frac{(t\mathbf{A})^k}{k!} = \sum_{k=0}^{\infty} \frac{t^k \mathbf{A}^k}{k!}
2.2 극한 정의
스칼라 지수 함수의 극한 정의 e^x = \lim_{n \to \infty}(1 + x/n)^n와 유사하게, 행렬 지수 함수도 다음과 같이 극한으로 정의할 수 있다.
e^{\mathbf{A}} = \lim_{m \to \infty} \left(\mathbf{I} + \frac{\mathbf{A}}{m}\right)^m
이 정의는 수치 계산에서 스케일링-제곱(scaling and squaring) 알고리즘의 이론적 기초가 된다.
3. 수렴성 증명
3.1 행렬 노름의 준비
수렴성 증명을 위해 행렬 노름의 성질을 이용한다. 임의의 호환 행렬 노름(compatible matrix norm) \|\cdot\|에 대해 다음이 성립한다.
- \|\mathbf{A}\mathbf{B}\| \leq \|\mathbf{A}\| \cdot \|\mathbf{B}\| (부분곱 부등식)
- \|\mathbf{A}^k\| \leq \|\mathbf{A}\|^k
특히 자주 사용되는 노름은 다음과 같다.
| 노름 | 정의 | 표기 |
|---|---|---|
| 프로베니우스 노름 | \sqrt{\sum_{i,j} \vert a_{ij}\vert^2} | \lVert\mathbf{A}\rVert_F |
| 스펙트럼 노름 | \sigma_{\max}(\mathbf{A}) | \lVert\mathbf{A}\rVert_2 |
| 1-노름 | \max_j \sum_i \vert a_{ij}\vert | \lVert\mathbf{A}\rVert_1 |
| 무한대 노름 | \max_i \sum_j \vert a_{ij}\vert | \lVert\mathbf{A}\rVert_\infty |
3.2 절대 수렴 증명
정리: 임의의 정방 행렬 \mathbf{A} \in \mathbb{C}^{n \times n}에 대해, 급수 \sum_{k=0}^{\infty} \frac{\mathbf{A}^k}{k!}는 절대 수렴한다.
증명: 임의의 호환 행렬 노름 \|\cdot\|에 대해 다음이 성립한다.
\sum_{k=0}^{\infty} \left\|\frac{\mathbf{A}^k}{k!}\right\| \leq \sum_{k=0}^{\infty} \frac{\|\mathbf{A}\|^k}{k!} = e^{\|\mathbf{A}\|}
우변은 스칼라 \|\mathbf{A}\| \geq 0에 대한 지수 함수이므로 유한하다. 따라서 급수는 절대 수렴한다.
좀 더 상세하게, 부분합 \mathbf{S}_N = \sum_{k=0}^{N} \frac{\mathbf{A}^k}{k!}이 코시 수열(Cauchy sequence)임을 보인다. M > N일 때,
\|\mathbf{S}_M - \mathbf{S}_N\| = \left\|\sum_{k=N+1}^{M} \frac{\mathbf{A}^k}{k!}\right\| \leq \sum_{k=N+1}^{M} \frac{\|\mathbf{A}\|^k}{k!}
스칼라 급수 \sum_{k=0}^{\infty} \frac{\|\mathbf{A}\|^k}{k!}가 수렴하므로, 그 나머지(tail)는 0에 수렴한다. 즉 임의의 \epsilon > 0에 대해, 충분히 큰 N_0가 존재하여 N > N_0이면 \sum_{k=N+1}^{\infty} \frac{\|\mathbf{A}\|^k}{k!} < \epsilon이다.
따라서 \{\mathbf{S}_N\}은 \mathbb{C}^{n \times n}에서 코시 수열이며, \mathbb{C}^{n \times n}은 완비 노름 공간(Banach space)이므로 극한이 존재한다. \blacksquare
3.3 수렴 속도
부분합 \mathbf{S}_N과 행렬 지수의 오차는 다음과 같이 한정된다.
\|e^{\mathbf{A}} - \mathbf{S}_N\| \leq \sum_{k=N+1}^{\infty} \frac{\|\mathbf{A}\|^k}{k!} = e^{\|\mathbf{A}\|} - \sum_{k=0}^{N} \frac{\|\mathbf{A}\|^k}{k!}
\|\mathbf{A}\|가 작을수록 급수는 빠르게 수렴한다. \|\mathbf{A}\| \leq 1이면 N = 20 정도에서 배정밀도 수준의 정밀도를 얻을 수 있다. 반면 \|\mathbf{A}\|가 크면 수렴이 느리므로, 실용적인 계산에서는 스케일링 기법을 사용한다.
4. 행렬 지수 함수의 기본 성질
4.1 대수적 성질
행렬 지수 함수는 다음과 같은 성질을 갖는다.
성질 1 (영행렬): e^{\mathbf{0}} = \mathbf{I}
성질 2 (역행렬): e^{\mathbf{A}}는 항상 가역(invertible)이며, (e^{\mathbf{A}})^{-1} = e^{-\mathbf{A}}
증명: e^{\mathbf{A}} \cdot e^{-\mathbf{A}} = e^{\mathbf{A} + (-\mathbf{A})} = e^{\mathbf{0}} = \mathbf{I} (단, \mathbf{A}와 -\mathbf{A}는 당연히 교환 가능하다.)
성질 3 (교환 가능한 행렬의 곱): \mathbf{A}\mathbf{B} = \mathbf{B}\mathbf{A}이면, e^{\mathbf{A}+\mathbf{B}} = e^{\mathbf{A}} e^{\mathbf{B}}
주의: 일반적으로 \mathbf{A}\mathbf{B} \neq \mathbf{B}\mathbf{A}이면 e^{\mathbf{A}+\mathbf{B}} \neq e^{\mathbf{A}} e^{\mathbf{B}}이다. 이 비가환성(non-commutativity)은 로봇공학에서 회전의 순서 의존성과 직접적으로 관련된다.
성질 4 (행렬식): \det(e^{\mathbf{A}}) = e^{\text{tr}(\mathbf{A})}
여기서 \text{tr}(\mathbf{A})는 \mathbf{A}의 대각합(trace)이다. 이 성질은 야코비 공식(Jacobi’s formula)로부터 유도된다.
성질 5 (전치): (e^{\mathbf{A}})^T = e^{\mathbf{A}^T}
성질 6 (유사 변환): e^{\mathbf{P}\mathbf{A}\mathbf{P}^{-1}} = \mathbf{P} e^{\mathbf{A}} \mathbf{P}^{-1}
4.2 미분 성질
행렬 지수 함수의 가장 중요한 미분 성질은 다음과 같다.
\frac{d}{dt} e^{t\mathbf{A}} = \mathbf{A}\, e^{t\mathbf{A}} = e^{t\mathbf{A}}\, \mathbf{A}
이 성질은 e^{t\mathbf{A}}가 선형 상미분 방정식 \dot{\mathbf{X}}(t) = \mathbf{A}\mathbf{X}(t), \mathbf{X}(0) = \mathbf{I}의 해임을 보여준다.
증명: 급수 정의에서 항별 미분을 수행한다.
\frac{d}{dt} e^{t\mathbf{A}} = \frac{d}{dt} \sum_{k=0}^{\infty} \frac{t^k \mathbf{A}^k}{k!} = \sum_{k=1}^{\infty} \frac{k t^{k-1} \mathbf{A}^k}{k!} = \sum_{k=1}^{\infty} \frac{t^{k-1} \mathbf{A}^k}{(k-1)!} = \mathbf{A} \sum_{j=0}^{\infty} \frac{t^j \mathbf{A}^j}{j!} = \mathbf{A}\, e^{t\mathbf{A}}
항별 미분의 정당성은 급수의 균등 수렴(uniform convergence)에 의해 보장된다. \blacksquare
5. 특수 행렬에 대한 행렬 지수
5.1 대각 행렬
\mathbf{A} = \text{diag}(\lambda_1, \lambda_2, \ldots, \lambda_n)이면 다음과 같다.
e^{\mathbf{A}} = \text{diag}(e^{\lambda_1}, e^{\lambda_2}, \ldots, e^{\lambda_n})
5.2 대각화 가능 행렬
\mathbf{A} = \mathbf{P}\boldsymbol{\Lambda}\mathbf{P}^{-1}이면 성질 6에 의해 다음과 같다.
e^{\mathbf{A}} = \mathbf{P}\, e^{\boldsymbol{\Lambda}}\, \mathbf{P}^{-1} = \mathbf{P}\, \text{diag}(e^{\lambda_1}, \ldots, e^{\lambda_n})\, \mathbf{P}^{-1}
5.3 멱영 행렬
\mathbf{N}^m = \mathbf{0}인 멱영 행렬(nilpotent matrix) \mathbf{N}에 대해, 급수는 유한합으로 축소된다.
e^{\mathbf{N}} = \mathbf{I} + \mathbf{N} + \frac{\mathbf{N}^2}{2!} + \cdots + \frac{\mathbf{N}^{m-1}}{(m-1)!}
5.4 반대칭 행렬과 직교 행렬
\mathbf{A}가 반대칭 행렬(skew-symmetric matrix), 즉 \mathbf{A}^T = -\mathbf{A}이면, e^{\mathbf{A}}는 직교 행렬(orthogonal matrix)이다.
증명:
(e^{\mathbf{A}})^T e^{\mathbf{A}} = e^{\mathbf{A}^T} e^{\mathbf{A}} = e^{-\mathbf{A}} e^{\mathbf{A}} = e^{-\mathbf{A}+\mathbf{A}} = e^{\mathbf{0}} = \mathbf{I}
여기서 -\mathbf{A}와 \mathbf{A}는 교환 가능하므로 성질 3을 적용하였다. 또한 성질 4에 의해 \det(e^{\mathbf{A}}) = e^{\text{tr}(\mathbf{A})} = e^0 = 1이므로 적절한 직교 행렬, 즉 회전 행렬이다. \blacksquare
이 결과는 로봇공학에서 매우 중요하다. 3차원 반대칭 행렬 [\boldsymbol{\omega}]_\times의 행렬 지수가 회전 행렬 \mathbf{R} \in SO(3)을 생성함을 의미하기 때문이다.
6. 로봇공학에서의 의미
6.1 리 군과 리 대수
3차원 회전 행렬의 집합 SO(3) = \{\mathbf{R} \in \mathbb{R}^{3 \times 3} : \mathbf{R}^T\mathbf{R} = \mathbf{I}, \det(\mathbf{R}) = 1\}은 리 군이다. 이에 대응하는 리 대수 \mathfrak{so}(3)는 3 \times 3 반대칭 행렬의 집합이다.
행렬 지수 함수는 리 대수에서 리 군으로의 사상을 제공한다.
\exp: \mathfrak{so}(3) \to SO(3), \quad [\boldsymbol{\omega}]_\times \mapsto e^{[\boldsymbol{\omega}]_\times}
여기서 벡터 \boldsymbol{\omega} = \theta\hat{\boldsymbol{\omega}}에 대해, [\boldsymbol{\omega}]_\times는 다음과 같은 반대칭 행렬이다.
[\boldsymbol{\omega}]_\times = \begin{bmatrix} 0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{bmatrix}
유사하게, 강체 운동의 집합 SE(3)와 그 리 대수 \mathfrak{se}(3) 사이에서도 행렬 지수 함수가 동일한 역할을 수행한다.
6.2 속도와 변위의 관계
로봇 매니퓰레이터의 관절이 일정한 속도로 운동할 때, 말단 장치의 변위는 행렬 지수로 표현된다. 트위스트(twist) \boldsymbol{\xi}에 대응하는 운동은 다음과 같다.
\mathbf{T}(t) = e^{[\boldsymbol{\xi}]t}\, \mathbf{T}(0)
여기서 [\boldsymbol{\xi}] \in \mathfrak{se}(3)는 트위스트의 행렬 표현이고, \mathbf{T} \in SE(3)는 동차 변환 행렬이다.
7. 수렴 반경과 실용적 고려사항
행렬 지수의 급수는 모든 정방 행렬에 대해 수렴하므로, 수렴 반경은 무한대이다. 그러나 실용적인 수치 계산에서는 \|\mathbf{A}\|가 클 때 직접 급수 합산이 비효율적이다. 이를 해결하기 위한 스케일링-제곱 방법은 다음과 같다.
- 정수 s를 선택하여 \|\mathbf{A}/2^s\|가 충분히 작도록 한다 (보통 \leq 1).
- e^{\mathbf{A}/2^s}를 급수 또는 파데 근사(Pade approximation)로 계산한다.
- e^{\mathbf{A}} = (e^{\mathbf{A}/2^s})^{2^s}를 반복 제곱으로 계산한다.
이 방법은 수렴 속도와 수치 안정성 모두를 확보하며, 현대 수치 라이브러리에서 표준적으로 사용된다.
8. 참고 문헌
- Murray, R. M., Li, Z., & Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manipulation. CRC Press.
- Moler, C., & Van Loan, C. (2003). “Nineteen Dubious Ways to Compute the Exponential of a Matrix, Twenty-Five Years Later.” SIAM Review, 45(1), 3–49.
- Higham, N. J. (2008). Functions of Matrices: Theory and Computation. SIAM.
- Lynch, K. M., & Park, F. C. (2017). Modern Robotics: Mechanics, Planning, and Control. Cambridge University Press.
- Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
- Hall, B. C. (2015). Lie Groups, Lie Algebras, and Representations (2nd ed.). Springer.
v 0.1