27.27 역행렬(Inverse Matrix)의 정의와 존재 조건

1. 역행렬의 정의

정사각 행렬 \mathbf{A} \in \mathbb{R}^{n \times n}에 대하여, 다음 조건을 만족하는 행렬 \mathbf{B} \in \mathbb{R}^{n \times n}이 존재할 때 \mathbf{A}를 가역(invertible) 또는 정칙(nonsingular)이라 하고, \mathbf{B}\mathbf{A}의 역행렬(inverse matrix)이라 한다.

\mathbf{A}\mathbf{B} = \mathbf{B}\mathbf{A} = \mathbf{I}_n

역행렬을 \mathbf{A}^{-1}로 표기한다. 역행렬이 존재하지 않는 행렬은 비가역(noninvertible) 또는 특이(singular)하다고 한다.

역행렬의 유일성은 다음과 같이 증명된다. \mathbf{B}_1\mathbf{B}_2가 모두 \mathbf{A}의 역행렬이라 가정하면,

\mathbf{B}_1 = \mathbf{B}_1\mathbf{I} = \mathbf{B}_1(\mathbf{A}\mathbf{B}_2) = (\mathbf{B}_1\mathbf{A})\mathbf{B}_2 = \mathbf{I}\mathbf{B}_2 = \mathbf{B}_2

따라서 역행렬이 존재하면 유일하다. 또한 실제로 \mathbf{A}\mathbf{B} = \mathbf{I}만 확인하면 \mathbf{B}\mathbf{A} = \mathbf{I}도 자동으로 성립한다는 것이 알려져 있다(유한 차원의 경우).

선형 변환의 관점에서 \mathbf{A}가 나타내는 변환 T의 역행렬 \mathbf{A}^{-1}은 역변환 T^{-1}을 나타낸다. T가 공간을 특정 방식으로 변형한다면, T^{-1}은 그 변형을 정확히 되돌리는 변환이다.

2. 역행렬의 기본 성질

역행렬이 존재하는 행렬들에 대하여 다음 성질이 성립한다.

역행렬의 역행렬: (\mathbf{A}^{-1})^{-1} = \mathbf{A}이다.

곱의 역행렬: \mathbf{A}\mathbf{B}가 모두 가역이면, (\mathbf{A}\mathbf{B})^{-1} = \mathbf{B}^{-1}\mathbf{A}^{-1}이다. 순서가 뒤바뀌는 것에 주의하라. 이를 확인하면, (\mathbf{A}\mathbf{B})(\mathbf{B}^{-1}\mathbf{A}^{-1}) = \mathbf{A}(\mathbf{B}\mathbf{B}^{-1})\mathbf{A}^{-1} = \mathbf{A}\mathbf{I}\mathbf{A}^{-1} = \mathbf{I}이다. 이 성질은 k개 행렬의 곱으로 일반화되어, (\mathbf{A}_1\mathbf{A}_2\cdots\mathbf{A}_k)^{-1} = \mathbf{A}_k^{-1}\cdots\mathbf{A}_2^{-1}\mathbf{A}_1^{-1}이 성립한다.

전치의 역행렬: (\mathbf{A}^\top)^{-1} = (\mathbf{A}^{-1})^\top이다. \mathbf{A}^\top(\mathbf{A}^{-1})^\top = (\mathbf{A}^{-1}\mathbf{A})^\top = \mathbf{I}^\top = \mathbf{I}로부터 도출된다. 이를 \mathbf{A}^{-\top}으로 표기하기도 한다.

스칼라 곱의 역행렬: c \neq 0이면, (c\mathbf{A})^{-1} = \frac{1}{c}\mathbf{A}^{-1}이다.

거듭제곱의 역행렬: (\mathbf{A}^k)^{-1} = (\mathbf{A}^{-1})^k이며, 이를 \mathbf{A}^{-k}로 표기한다.

행렬식: \det(\mathbf{A}^{-1}) = \frac{1}{\det(\mathbf{A})}이다. \det(\mathbf{A})\det(\mathbf{A}^{-1}) = \det(\mathbf{A}\mathbf{A}^{-1}) = \det(\mathbf{I}) = 1로부터 도출된다.

3. 가역 행렬의 동치 조건

n \times n 정사각 행렬 \mathbf{A}에 대하여 다음 조건들은 모두 동치이다.

  1. \mathbf{A}는 가역이다.
  2. \det(\mathbf{A}) \neq 0이다.
  3. \text{rank}(\mathbf{A}) = n이다 (완전 계수).
  4. \mathbf{A}의 열벡터들이 선형 독립이다.
  5. \mathbf{A}의 행벡터들이 선형 독립이다.
  6. \mathbf{A}\mathbf{x} = \mathbf{0}의 유일한 해가 \mathbf{x} = \mathbf{0}이다 (영 공간이 \{\mathbf{0}\}).
  7. \mathbf{A}\mathbf{x} = \mathbf{b}가 모든 \mathbf{b} \in \mathbb{R}^n에 대하여 유일한 해를 가진다.
  8. \mathbf{A}의 행 사다리꼴 형식(reduced row echelon form)이 \mathbf{I}_n이다.
  9. \mathbf{A}의 모든 고유값이 0이 아니다.
  10. \mathbf{A}의 모든 특이값이 0이 아니다.

이 동치 관계는 선형대수학의 근본적 결과이며, 가역성이라는 하나의 개념이 행렬의 다양한 성질과 깊이 연결되어 있음을 보여준다.

4. 2 \times 2 행렬의 역행렬 공식

2 \times 2 행렬의 역행렬은 명시적 공식이 있다.

\mathbf{A} = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \implies \mathbf{A}^{-1} = \frac{1}{ad - bc}\begin{pmatrix} d & -b \\ -c & a \end{pmatrix}

여기서 ad - bc = \det(\mathbf{A}) \neq 0이어야 한다. 이 공식에서 주대각선 원소를 교환하고 비대각선 원소의 부호를 반전한 행렬을 \mathbf{A}의 수반 행렬(adjugate matrix)이라 한다.

5. 일반적 역행렬 공식: 수반 행렬을 이용한 표현

일반 n \times n 행렬에 대한 역행렬의 이론적 공식은 다음과 같다.

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

여기서 \text{adj}(\mathbf{A})\mathbf{A}의 수반 행렬(adjugate matrix)로서, 여인자(cofactor) 행렬의 전치이다. 원소 단위로 표현하면,

(\mathbf{A}^{-1})_{ij} = \frac{C_{ji}}{\det(\mathbf{A})}

여기서 C_{ji} = (-1)^{j+i}M_{ji}(j,i) 여인자이고, M_{ji}ji열을 제거한 소행렬(minor)의 행렬식이다.

이 공식은 이론적으로 중요하지만, 계산 복잡도가 O(n \cdot n!) 이상이므로 n이 큰 경우 실용적이지 않다. 실제 역행렬 계산에는 가우스-조르단 소거법이나 LU 분해가 사용된다.

6. 특이 행렬과 조건수

행렬이 특이에 가까운 경우, 즉 \det(\mathbf{A}) \approx 0인 경우를 악조건(ill-conditioned) 행렬이라 한다. 행렬의 조건수(condition number)는 이러한 수치적 민감도를 정량화하는 지표이다.

\kappa(\mathbf{A}) = \|\mathbf{A}\| \cdot \|\mathbf{A}^{-1}\|

2-노름을 사용하면, 조건수는 최대 특이값과 최소 특이값의 비이다.

\kappa_2(\mathbf{A}) = \frac{\sigma_{\max}(\mathbf{A})}{\sigma_{\min}(\mathbf{A})}

\kappa(\mathbf{A}) \geq 1이며, \kappa(\mathbf{A}) = 1은 직교 행렬에서만 달성된다. 조건수가 크면 입력의 미세한 변동이 해에 큰 변화를 초래하므로, 수치적으로 불안정한 계산이 된다. 특이 행렬의 조건수는 \infty이다.

7. 딥러닝에서의 역행렬과 가역성

딥러닝에서 역행렬의 개념은 여러 맥락에서 등장한다.

정규 방정식: 선형 회귀의 최소 제곱 해는 \hat{\mathbf{w}} = (\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y}로 주어진다. \mathbf{X}^\top\mathbf{X}가 특이하거나 악조건인 경우 정규화 항 \lambda\mathbf{I}를 추가하여 (\mathbf{X}^\top\mathbf{X} + \lambda\mathbf{I})^{-1}으로 안정화한다.

가역 신경망(Invertible Neural Networks): 정규화 흐름(normalizing flow)에서는 가역 변환을 연쇄적으로 적용하여 복잡한 확률 분포를 모델링한다. 변수 변환 공식 p_Y(\mathbf{y}) = p_X(f^{-1}(\mathbf{y})) \cdot \lvert\det(\mathbf{J}_{f^{-1}})\rvert에서 역함수와 야코비안 행렬식의 계산이 필수적이다.

뉴턴법과 2차 최적화: 뉴턴 갱신 \boldsymbol{\theta}_{t+1} = \boldsymbol{\theta}_t - \mathbf{H}^{-1}\nabla\mathcal{L}에서 헤시안 행렬 \mathbf{H}의 역행렬이 필요하다. 대규모 모델에서 직접적인 역행렬 계산은 O(n^3)으로 비현실적이므로, L-BFGS와 같은 준뉴턴법(quasi-Newton method)이 역행렬의 근사를 효율적으로 유지한다.

가중치 행렬의 가역성: 학습 과정에서 가중치 행렬이 특이에 가까워지면 기울기가 불안정해진다. 직교 초기화(orthogonal initialization)는 가중치 행렬의 조건수를 1로 설정하여 초기 학습의 안정성을 확보하는 전략이다. 스펙트럼 정규화(spectral normalization)는 가중치 행렬의 최대 특이값을 1로 제한하여 조건수가 지나치게 커지는 것을 방지한다.