6.20 여인수 전개를 이용한 행렬식 계산

6.20 여인수 전개를 이용한 행렬식 계산

1. 여인수 전개의 개요

여인수 전개(cofactor expansion), 또는 라플라스 전개(Laplace expansion)는 n \times n 행렬의 행렬식을 (n-1) \times (n-1) 부분 행렬의 행렬식의 가중합으로 환원하는 재귀적 계산 방법이다. 이 방법은 행렬식의 명시적 계산뿐 아니라, 행렬식의 이론적 성질을 증명하고, 수반 행렬과 역행렬의 명시적 공식을 유도하는 데 본질적으로 사용된다. 본 절에서는 여인수 전개의 정의, 원리, 계산 절차, 그리고 그 활용을 체계적으로 정리한다.

2. 소행렬과 소행렬식

정의 6.20.1 (소행렬). n \times n 행렬 A(i, j) 소행렬(minor matrix) M_{ij}A에서 i번째 행과 j번째 열을 제거하여 얻은 (n-1) \times (n-1) 행렬이다.

정의 6.20.2 (소행렬식). 소행렬 M_{ij}의 행렬식 \det(M_{ij})A(i, j) 소행렬식(minor)이라 한다. 본 서적에서는 |M_{ij}|로도 표기한다.

3. 여인수의 정의

정의 6.20.3 (여인수). n \times n 행렬 A(i, j) 여인수(cofactor) C_{ij}는 부호를 반영한 소행렬식이다.

C_{ij} = (-1)^{i+j} \det(M_{ij})

부호 인자 (-1)^{i+j}는 다음과 같은 체스판 패턴을 만든다.

\begin{bmatrix} + & - & + & - & \cdots \\ - & + & - & + & \cdots \\ + & - & + & - & \cdots \\ - & + & - & + & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix}

4. 여인수 전개 정리

정리 6.20.1 (라플라스 전개 정리). n \times n 행렬 A의 행렬식은 임의의 행 또는 임의의 열에 대한 여인수 전개로 계산할 수 있다.

(행에 대한 전개) 임의의 행 i에 대하여

\det(A) = \sum_{j=1}^{n} a_{ij} C_{ij} = \sum_{j=1}^{n} (-1)^{i+j} a_{ij} \det(M_{ij})

(열에 대한 전개) 임의의 열 j에 대하여

\det(A) = \sum_{i=1}^{n} a_{ij} C_{ij} = \sum_{i=1}^{n} (-1)^{i+j} a_{ij} \det(M_{ij})

이 정리의 핵심은 어떤 행이나 열을 선택하든 동일한 결과를 얻는다는 것이며, 이는 행렬식의 다중 선형성과 교대성으로부터 유도된다.

5. 여인수 전개의 직관

행렬식의 라이프니츠 공식에서 a_{i, \sigma(i)}를 첫 번째 인수로 분리하면, 나머지 항은 i번째 행과 \sigma(i)번째 열을 제외한 부분 행렬의 행렬식에 부호를 곱한 것이다. 부호는 순열의 부호 변화를 추적하여 (-1)^{i+j}로 정리된다.

6. 계산 예시

6.1 \times2 행렬

A = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix}

첫 번째 행에 대해 전개하면

\det(A) = a_{11} C_{11} + a_{12} C_{12} = a_{11} a_{22} - a_{12} a_{21}

6.2 \times3 행렬

A = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix}

첫 번째 행에 대한 전개는 다음과 같다.

\det(A) = a_{11} \det \begin{bmatrix} a_{22} & a_{23} \\ a_{32} & a_{33} \end{bmatrix} - a_{12} \det \begin{bmatrix} a_{21} & a_{23} \\ a_{31} & a_{33} \end{bmatrix} + a_{13} \det \begin{bmatrix} a_{21} & a_{22} \\ a_{31} & a_{32} \end{bmatrix}

전개식을 풀어 쓰면

\det(A) = a_{11}(a_{22}a_{33} - a_{23}a_{32}) - a_{12}(a_{21}a_{33} - a_{23}a_{31}) + a_{13}(a_{21}a_{32} - a_{22}a_{31})

4\times4 행렬

4\times4 행렬의 전개는 4개의 3\times3 행렬식을 요구하며, 각 3\times3 행렬식은 다시 3개의 2\times2 행렬식을 요구한다. 총 4 \cdot 3 \cdot 2 = 24개의 항이 발생한다.

효율적 전개 전략

여인수 전개의 직접 적용은 n!에 비례하는 연산량을 요구하므로 큰 행렬에는 비효율적이다. 그러나 행렬에 0이 많은 행이나 열이 있다면, 그 행이나 열에 대해 전개함으로써 0이 곱해지는 항을 모두 생략할 수 있다.

0이 많은 행/열 선택

A = \begin{bmatrix} 2 & 0 & 5 & 0 \\ 1 & 3 & 0 & 0 \\ 0 & 4 & -1 & 0 \\ 6 & 0 & 7 & 2 \end{bmatrix}

이 행렬에서는 4번째 열에 0이 가장 많으므로 4번째 열에 대해 전개하는 것이 효율적이다.

\det(A) = (-1)^{4+4} \cdot 2 \cdot \det \begin{bmatrix} 2 & 0 & 5 \\ 1 & 3 & 0 \\ 0 & 4 & -1 \end{bmatrix}

이러한 단순화는 행렬식 계산량을 크게 줄여 준다.

행 연산을 통한 0 생성

기본 행 연산 중 “한 행에 다른 행의 배수를 더함“은 행렬식을 변화시키지 않는다. 이를 이용하여 특정 행이나 열에 0을 만든 뒤 여인수 전개를 적용하면 효율이 크게 개선된다. 이 전략은 가우스 소거법과 본질적으로 동일하다.

여인수 전개의 계산 복잡도

n \times n 행렬의 직접적 여인수 전개는 점화식 T(n) = n \cdot T(n-1) + O(n)을 만족하며, 그 해는 T(n) = O(n!)이다. 이는 n이 커질수록 급격히 증가하므로, 큰 행렬에는 가우스 소거법(O(n^3))이 훨씬 효율적이다.

그러나 여인수 전개는 다음의 경우에 여전히 유용하다.

  • 작은 행렬(n \leq 4 정도)의 명시적 계산
  • 기호 계산(symbolic computation)에서 명시적 다항식 표현이 필요한 경우
  • 수반 행렬을 통한 역행렬의 명시적 공식 유도
  • 특정 부분 행렬의 구조를 활용한 이론적 분석

수반 행렬과 역행렬

여인수 전개는 수반 행렬(adjugate)과 역행렬의 명시적 공식을 유도한다.

정의 6.20.4 (수반 행렬). n \times n 행렬 A의 수반 행렬 \text{adj}(A)는 여인수 행렬 C = [C_{ij}]의 전치이다.

\text{adj}(A) = C^\top, \quad (\text{adj}(A))_{ij} = C_{ji}

정리 6.20.2. 임의의 정방 행렬 A에 대하여

A \cdot \text{adj}(A) = \text{adj}(A) \cdot A = \det(A) \cdot I

특히 \det(A) \neq 0인 경우 역행렬은 다음과 같이 표현된다.

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

이 공식은 행렬식과 여인수 전개를 통해 작은 행렬의 역행렬을 명시적으로 계산할 수 있게 한다.

7. 일반화된 라플라스 전개

여인수 전개는 단일 행이나 열뿐 아니라 여러 행이나 여러 열에 대해 일반화될 수 있다. k개의 행을 동시에 선택하면 k \times k 부분 행렬식과 (n-k) \times (n-k) 부분 행렬식의 곱으로 표현되는 전개식을 얻는다. 이를 일반화된 라플라스 전개라 하며, 블록 행렬의 행렬식 공식의 기초가 된다.

8. 로봇공학에서의 응용

8.1 차원 외적과 여인수 전개

3차원 벡터 \mathbf{a}, \mathbf{b}, \mathbf{c} \in \mathbb{R}^3의 삼중적은 다음의 행렬식과 같다.

\mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) = \det \begin{bmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{bmatrix}

벡터 외적 \mathbf{b} \times \mathbf{c} 자체는 형식적 행렬식

\mathbf{b} \times \mathbf{c} = \det \begin{bmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{bmatrix}

으로 표현되며, 첫 번째 행에 대한 여인수 전개로 계산된다. 이는 외적 계산의 표준적 기법이다.

8.2 자코비안 행렬식의 명시적 표현

3자유도 평면 매니퓰레이터나 단순한 6자유도 매니퓰레이터의 자코비안 행렬식은 여인수 전개를 통해 관절 변수에 대한 명시적 다항식으로 표현된다. 이를 통해 특이점의 해석적 조건을 도출할 수 있다.

예를 들어 평면 2링크 매니퓰레이터의 자코비안

J = \begin{bmatrix} -l_1 \sin\theta_1 - l_2 \sin(\theta_1 + \theta_2) & -l_2 \sin(\theta_1 + \theta_2) \\ l_1 \cos\theta_1 + l_2 \cos(\theta_1 + \theta_2) & l_2 \cos(\theta_1 + \theta_2) \end{bmatrix}

의 행렬식은 직접 계산을 통해

\det(J) = l_1 l_2 \sin\theta_2

로 정리되며, \theta_2 = 0, \pi가 특이점임을 명시적으로 보여 준다.

8.3 회전 행렬의 명시적 역행렬

3\times3 회전 행렬은 \det(R) = 1이고 직교성에 의해 R^{-1} = R^\top이다. 그러나 일반적인 비특이 변환의 역행렬을 구할 때 수반 행렬 공식이 명시적으로 유도되며, 작은 시스템의 해석적 풀이에 사용된다.

8.4 컴퓨터 비전에서의 작은 행렬식

다시점 기하학의 본질 행렬, 기본 행렬, 호모그래피 행렬은 모두 3\times3 행렬이며, 이들의 행렬식과 여인수는 명시적 공식으로 자주 사용된다. 카메라 자세 분해, 평면 가설 검증, RANSAC의 가설 평가 등에 활용된다.

8.5 작은 칼만 필터 시스템의 명시적 풀이

저차원 상태 공간(예: 2차원 또는 3차원 상태)을 가지는 단순한 추정 문제에서는 칼만 게인과 공분산 갱신을 여인수 전개에 기반한 명시적 공식으로 표현할 수 있어, 임베디드 시스템에서의 효율적 구현에 활용된다.


참고문헌

  • Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Wellesley-Cambridge Press.
  • Axler, S. (2024). Linear Algebra Done Right (4th ed.). Springer.
  • Horn, R. A., & Johnson, C. R. (2012). Matrix Analysis (2nd ed.). Cambridge University Press.
  • Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.

Version: 1.0