6.22 역행렬의 존재 조건과 계산 방법

1. 역행렬의 정의

역행렬(inverse matrix)은 행렬 곱셈에 대한 곱셈 역원으로 정의되는 개념이며, 선형 시스템의 해석적 풀이, 좌표 변환의 역변환, 미분 기구학의 역방향 매핑 등 로봇공학의 가장 기본적인 연산을 가능하게 하는 도구이다. 본 절에서는 역행렬의 형식적 정의, 존재를 보장하는 동치 조건들, 그리고 다양한 계산 방법을 체계적으로 정리한다.

정의 6.22.1 (역행렬). n \times n 정방 행렬 A에 대하여 다음을 만족하는 n \times n 행렬 B가 존재할 때, A는 가역이라 하고 BA의 역행렬이라 한다.

AB = BA = I_n

이러한 B가 존재할 때 BA^{-1}로 표기한다. 가역 행렬을 또한 비특이 행렬(nonsingular matrix), 비가역 행렬을 특이 행렬(singular matrix)이라 한다.

정리 6.22.1 (역행렬의 유일성). 정방 행렬 A의 역행렬이 존재하면 그것은 유일하다.

증명. BC가 모두 A의 역행렬이라 하자. B = BI = B(AC) = (BA)C = IC = C이다. \square

또한 정방 행렬에서 한쪽 역원만 존재해도 자동으로 양쪽 역원이 되는 것이 보장된다. 즉, AB = I이면 BA = I도 성립한다.

가역성의 동치 조건

정리 6.22.2 (가역 행렬 정리). n \times n 행렬 A에 대하여 다음 조건들은 모두 동치이다.

  1. A는 가역이다.
  2. \det(A) \neq 0이다.
  3. A의 행 사다리꼴은 I_n이다.
  4. A는 기본 행렬의 곱으로 표현된다.
  5. 동차 시스템 A\mathbf{x} = \mathbf{0}은 자명한 해 \mathbf{x} = \mathbf{0}만을 가진다.
  6. 임의의 \mathbf{b} \in \mathbb{R}^n에 대해 A\mathbf{x} = \mathbf{b}는 유일한 해를 가진다.
  7. A의 열들은 선형 독립이다.
  8. A의 행들은 선형 독립이다.
  9. A의 열들은 \mathbb{R}^n을 생성한다.
  10. A의 행들은 \mathbb{R}^n을 생성한다.
  11. \text{rank}(A) = n이다.
  12. \text{nullity}(A) = 0이다.
  13. 0A의 고유값이 아니다.
  14. A^\top A는 가역이다.
  15. A는 단사 선형 변환을 표현한다.
  16. A는 전사 선형 변환을 표현한다.

이 정리는 가역성이라는 단일 개념이 행렬, 선형 시스템, 선형 변환, 고유값 등 선형대수학의 핵심 개념들과 어떻게 통합되는지를 보여 준다.

역행렬의 기본 성질

가역 행렬 A, B와 스칼라 k \neq 0에 대하여 다음이 성립한다.

(I1) 역원의 역원: (A^{-1})^{-1} = A

(I2) 곱의 역원 (반전 법칙): (AB)^{-1} = B^{-1} A^{-1}

(I3) 스칼라 곱의 역원: (kA)^{-1} = \frac{1}{k} A^{-1}

(I4) 전치의 역원: (A^\top)^{-1} = (A^{-1})^\top

(I5) 거듭제곱의 역원: (A^k)^{-1} = (A^{-1})^k = A^{-k}

(I6) 역행렬과 행렬식: \det(A^{-1}) = 1 / \det(A)

성질 (I2)는 합성 함수의 역함수가 순서를 바꾼 합성과 같다는 점의 행렬 표현이며, 일반화하면

(A_1 A_2 \cdots A_k)^{-1} = A_k^{-1} A_{k-1}^{-1} \cdots A_1^{-1}

이다.

2. 역행렬의 계산 방법

2.1 방법 1: 수반 행렬 공식

작은 행렬에 대해 다음의 명시적 공식이 사용된다.

A^{-1} = \frac{1}{\det(A)} \text{adj}(A)

여기서 \text{adj}(A)는 여인수 행렬의 전치이다. 이 방법은 이론적 명확성과 명시적 표현의 장점이 있으나, 계산량이 O(n!) 또는 효율적 구현으로도 O(n^4)이므로 작은 행렬(n \leq 4)에서만 실용적이다.

2\times2 역행렬

A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, \quad A^{-1} = \frac{1}{ad - bc} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix}

이는 컴퓨터 비전, 작은 칼만 필터, 평면 매니퓰레이터의 해석적 풀이 등에 빈번히 사용된다.

2.1.1 \times3 역행렬

3\times3 행렬의 역행렬은 9개의 2\times2 소행렬식과 행렬식의 결합으로 표현되며, 일반적으로 코드에서 명시적으로 펼쳐 구현된다.

2.2 방법 2: 가우스-조르단 소거법

확장 행렬 [A \mid I]를 행 환원하여 [I \mid A^{-1}]로 만드는 방법이다. 가우스-조르단 소거법의 표준 절차를 따르며, O(n^3)의 계산량으로 모든 차수의 행렬에 적용 가능하다.

2.3 방법 3: LU 분해를 통한 계산

행렬 AA = LU (또는 부분 피벗팅을 포함한 PA = LU)로 분해한 뒤, A A^{-1} = I의 각 열을 차례로 풀어 A^{-1}의 각 열을 구한다. 즉, A \mathbf{x}_j = \mathbf{e}_j를 LU 분해로 풀어 \mathbf{x}_jA^{-1}j번째 열로 사용한다.

이 방법의 총 계산량 또한 O(n^3)이지만, LU 분해를 한 번만 수행하고 여러 우변에 대해 재사용할 수 있다는 장점이 있다.

2.4 방법 4: QR 분해를 통한 계산

직교 행렬 Q와 상삼각 행렬 R로 분해 A = QR을 얻은 뒤

A^{-1} = R^{-1} Q^\top

으로 계산한다. Q의 역은 전치와 같으므로 추가 비용이 없으며, R^{-1}은 후진 대입으로 효율적으로 계산된다. QR 분해는 수치적으로 안정적이며, 병조건 행렬에 대해서도 가우스 소거법보다 더 신뢰할 만한 결과를 제공한다.

방법 5: 분해 기반의 특수 사례

특수 구조의 행렬에 대해서는 다음과 같은 효율적 방법이 사용된다.

  • 대각 행렬: D^{-1} = \text{diag}(1/d_1, \ldots, 1/d_n)
  • 삼각 행렬: 후진 또는 전진 대입으로 O(n^2)
  • 직교 행렬: Q^{-1} = Q^\top
  • 양정치 대칭 행렬: 촐레스키 분해 A = LL^\topA^{-1} = L^{-\top} L^{-1}

실제 계산에서의 권고

역행렬을 직접 계산하지 않는 것이 권장된다. 선형 시스템 A\mathbf{x} = \mathbf{b}를 풀 때 일반적으로 A^{-1}을 명시적으로 구한 뒤 A^{-1}\mathbf{b}를 곱하는 것보다, 분해를 통해 \mathbf{x}를 직접 풀이하는 것이 다음 측면에서 우수하다.

  1. 수치 안정성: 명시적 역행렬 계산은 수치 오차를 증폭시킨다.
  2. 연산량: 역행렬 계산 후 곱셈은 약 \frac{1}{3}만큼 더 많은 연산을 요구한다.
  3. 희소성 보존: 희소 행렬의 역행렬은 일반적으로 밀집한다.

따라서 실용적 코드에서 A^{-1} \mathbf{b} 대신 A \backslash \mathbf{b} (분해 기반 풀이)를 사용한다.

일반화: 의사 역행렬

정방이 아니거나 특이한 행렬에 대해서는 일반적인 의미의 역행렬이 정의되지 않지만, 무어-펜로즈 의사 역행렬(Moore-Penrose pseudo-inverse) A^+가 그 일반화로 정의된다. 이는 SVD를 통해 다음과 같이 구성된다.

A = U \Sigma V^\top \implies A^+ = V \Sigma^+ U^\top

여기서 \Sigma^+는 비0 특이값을 역수로 바꾸고 0인 값은 그대로 두며 전치한 행렬이다.

3. 셔먼-모리슨-우드버리 공식

기존 행렬에 저랭크 갱신이 더해진 경우의 역행렬은 다음의 공식으로 효율적으로 계산된다.

정리 6.22.3 (셔먼-모리슨 공식). 가역 행렬 A와 벡터 \mathbf{u}, \mathbf{v}에 대하여 1 + \mathbf{v}^\top A^{-1} \mathbf{u} \neq 0이면

(A + \mathbf{u} \mathbf{v}^\top)^{-1} = A^{-1} - \frac{A^{-1} \mathbf{u} \mathbf{v}^\top A^{-1}}{1 + \mathbf{v}^\top A^{-1} \mathbf{u}}

정리 6.22.4 (우드버리 항등식). 호환되는 크기의 행렬 A, U, C, V에 대하여

(A + UCV)^{-1} = A^{-1} - A^{-1} U (C^{-1} + V A^{-1} U)^{-1} V A^{-1}

이 두 공식은 칼만 필터의 갱신 단계, 재귀적 최소 제곱법, 정보 행렬 갱신 등에 본질적으로 사용된다.

4. 로봇공학에서의 응용

4.1 동차 변환 행렬의 역변환

3차원 강체의 동차 변환 행렬

T = \begin{bmatrix} R & \mathbf{p} \\ \mathbf{0}^\top & 1 \end{bmatrix}

의 역행렬은 일반적인 4\times4 역행렬 계산이 아니라 다음의 닫힌 형식으로 효율적으로 계산된다.

T^{-1} = \begin{bmatrix} R^\top & -R^\top \mathbf{p} \\ \mathbf{0}^\top & 1 \end{bmatrix}

이는 회전 행렬의 직교성 R^{-1} = R^\top을 활용하며, 일반 역행렬 알고리즘 대비 수십 배 빠르다.

4.2 정방 자코비안의 역행렬과 분해 속도 제어

작업 공간 자유도와 관절 자유도가 같은 경우, 분해 속도 제어(resolved-rate control)는 다음의 식을 사용한다.

\dot{\mathbf{q}} = J(\mathbf{q})^{-1} \dot{\mathbf{x}}

이 식은 자코비안이 비특이일 때만 유효하며, 특이점 근방에서는 댐핑 최소 제곱법 등의 정규화 기법이 필요하다.

관성 행렬의 역과 가속도 계산

라그랑주 동역학의 정방향 동역학(forward dynamics)은 다음과 같이 가속도를 계산한다.

\ddot{\mathbf{q}} = M(\mathbf{q})^{-1} (\boldsymbol{\tau} - \mathbf{h}(\mathbf{q}, \dot{\mathbf{q}}))

관성 행렬은 양정치이므로 항상 가역이며, 촐레스키 분해를 통해 효율적으로 풀이된다. 실시간 시뮬레이션에서는 명시적 역행렬을 구하지 않고 분해 기반 풀이를 직접 수행한다.

4.3 칼만 필터의 갱신

표준 칼만 필터의 갱신 단계에서 칼만 게인은 다음과 같이 계산된다.

K = P^- H^\top (H P^- H^\top + R)^{-1}

여기서 H P^- H^\top + R이 측정 차원의 행렬이므로, 측정 차원이 작을 때 이 역행렬은 효율적으로 계산된다. 정보 형식의 칼만 필터는 우드버리 항등식을 통해 동일한 갱신을 정보 행렬 영역에서 수행한다.

강성 행렬의 역과 컴플라이언스

작업 공간 강성 행렬 K_x의 역행렬은 컴플라이언스 행렬(compliance matrix) C_x = K_x^{-1}이며, 외력에 대한 변위 응답을 표현한다. 이 변환은 임피던스 제어와 어드미턴스 제어의 쌍대 관계를 형성한다.

카메라 보정에서의 내부 파라미터 역행렬

카메라 내부 파라미터 행렬 K는 일반적으로 상삼각 형태이며, 그 역행렬 K^{-1}은 픽셀 좌표를 정규화 영상 좌표로 변환하는 데 사용된다. 상삼각 구조를 활용하면 계산이 단순화된다.


참고문헌

  • Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
  • Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations (4th ed.). Johns Hopkins University Press.
  • Horn, R. A., & Johnson, C. R. (2012). Matrix Analysis (2nd ed.). Cambridge University Press.
  • Trefethen, L. N., & Bau, D. (1997). Numerical Linear Algebra. SIAM.

Version: 1.0