이번 포스팅에서는 행렬 곱셈의 다양한 해석에 대해 살펴보고, 역행렬 및 Gauss-Jordan 소거법을 다룬다.
1. 행렬 곱(Matrix Multiplication)
고교과정에서 배웠던 행렬 곱셈을 간단하게 상기해보자.
두개의 행렬 $A \in \mathbb{R}^{m \times n}$, $B \in \mathbb{R}^{n \times p}$가 있을 때, 그것들의 곱 $C=AB \in \mathbb{R}^{m \times k}$의 각 요소는 다음과 같이 계산된다.
$$\begin{align} c_{34} &= (\text{row 3 of }A) \cdot (\text{column 4 of }B) \\ &= a_{31}b_{14} + a_{32}b_{24} + \cdots = \sum^n_{k=1}a_{3k}b_{k4} \end{align} \tag{1}$$
이를 column의 관점에서 살펴보면,
$$\underbrace{\begin{bmatrix} \, & \, & \, \\ \, & \, & \, \\ \, & \, & \, \end{bmatrix}}_{A \in \mathbb{R}^{m \times n}} \underbrace{\begin{bmatrix} \, & \, & \, \\ col_1 & \cdots & col_p \\ \, & \, & \, \end{bmatrix}}_{B \in \mathbb{R}^{n \times p}} = \underbrace{\begin{bmatrix} \, & \, & \, \\ A\cdot(col_1) & \cdots & A\cdot(col_p) \\ \, & \, & \, \end{bmatrix}}_{C \in \mathbb{R}^{m \times p}} \tag{2}$$
여기서 흥미있는 특징은 다음과 같다.
- $C$의 column들은 $A$의 column들의 combinations이다.
- 마찬가지로, $C$의 row들은 $B$의 row들의 combinations이다.
※ 이러한 특징은 column들에 matrix를 곱함으로써 column vector들을 다른 공간에서 볼 수 있다는 것을 의미하며 이러한 개념은 deep learning, contrastive learning, distance metric learning 등 다양하게 사용될 수 있다.
이번에는 column vector와 row vector의 곱셈 형태를 살펴보자.
$$\underbrace{\begin{bmatrix} 2 \\ 3 \\ 4 \end{bmatrix}}_{m \times 1} \underbrace{\begin{bmatrix} 1 & 6 \end{bmatrix}}_{1 \times p} = \underbrace{\begin{bmatrix} 2 & 12 \\ 3 & 18 \\ 4 & 24 \end{bmatrix}}_{m \times p} \tag{3}$$
여기서 col2는 col1에 6을 곱한 것과 같다 → 두 컬럼은 같은 벡터이다 → 즉, column space에서 두 벡터는 intersection은 line이다.
또한 rows에 대해서도 동일한 특징을 가진다.
Eq. (3)을 토대로 $AB$는 (cols of $A$) $\times$ (rows of $B$)의 합으로 나타낼 수 있다.
$$\begin{bmatrix} 2 & 7 \\ 3 & 8 \\ 4 & 9 \end{bmatrix} \begin{bmatrix} 1 & 6 \\ 0 & 0 \end{bmatrix} = \begin{bmatrix} 2 \\ 3 \\ 4 \end{bmatrix} \begin{bmatrix} 1 & 6 \end{bmatrix} + \begin{bmatrix} 7 \\ 8 \\ 9 \end{bmatrix} \begin{bmatrix} 0 & 0 \end{bmatrix} \tag{4}$$
또한 행렬 곱은 블록 단위로 쪼개서 다음과 같이 계산하는 것도 가능하다.
$$AB=C = \begin{bmatrix} A_1 & A_2 \\ A_3 & A_4 \end{bmatrix} \begin{bmatrix} B_1 & B_2 \\ B_3 & B_4 \end{bmatrix} = \begin{bmatrix} A_1B_1+A_2B_3 & A_1B_2+A_2B_4 \\ A_3B_1+A_4B_3 & A_3B_2 + A_4B_4 \end{bmatrix} \tag{5}$$
여기서 블록들을 균등하게 쪼갤필요는 없으며 블록들끼리 계산이 가능하기만 하면 된다.
2. 역행렬 (Inverses)
어떤 정방 행렬 (square matrix) $A \in \mathbb{R}^{n \times n}$이 주어지면 그것의 역행렬 $A^{-1} \in \mathbb{R}^{n \times n}$은 다음과 같이 정의된다.
$$A^{-1}A = I = AA^{-1} \tag{6}$$
- $A$에 대한 역행렬이 존재한다면, $A$는 "invertible" 혹은 "non-singular"라고 부른다.
- $A$가 어떤 다른 공간으로의 projection을 수행한다고 하면, $A^{-1}$는 원래의 공간으로 재매핑한다.
그렇다면, 역행렬이 존재하지 않는 경우에 대해 살펴보자 (Singular case)
$$Ax= \begin{bmatrix} 1 & 3 \\ 2 & 6 \end{bmatrix} \begin{bmatrix} 3 \\ -1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} \tag{7}$$
이와 같이 $Ax=0$를 만족하는 0이 아닌 벡터 $x$가 존재한다면 $A$의 역행렬은 존재하지 않는다.
※ 선형 시스템에서 입력 $x$가 주어졌을때, $A$를 통해 그것을 0으로 만들어 버리면 다시 원래의 공간으로 재매핑할 수 있는 어떤 행렬이 존재한다는 것은 unfeasible하다.
※ 또한 column vector들의 linear combination이 0이 될 수 있다는 것을 의미하며 그것들이 같은 선상에 존재한다는 것을 나타낸다. (즉 역행렬이 존재하려면 column들이 independent해야 하는데 이는 추후 column space를 다룰 때 자세히 살펴보자)
Gauss-Jordan Elimination
마지막으로 Gauss-Jordan 소거법을 이용하여 역행렬을 구해보자.
$$\underbrace{\begin{bmatrix} 1 & 3 \\ 2 & 7 \end{bmatrix}}_{A} \underbrace{\begin{bmatrix} a & b \\ c & d \end{bmatrix}}_{A^{-1}} = \underbrace{\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}}_{I} \tag{8}$$
이것은 다음과 같이 두개의 연립 선형 방정식들로 표현할 수 있다.
$$\begin{align} \begin{bmatrix} 1 & 3 \\ 2 & 7 \end{bmatrix} \begin{bmatrix} a \\ c \end{bmatrix} &= \begin{bmatrix} 1 \\ 0 \end{bmatrix} \\ \begin{bmatrix} 1 & 3 \\ 2 & 7 \end{bmatrix} \begin{bmatrix} b \\ d \end{bmatrix} &= \begin{bmatrix} 0 \\ 1 \end{bmatrix} \end{align} \tag{9}$$
Gauss-Jordan 소거법은 동시에 여러개의 연립 선형 방정식을 풀 수 있게끔 하는 것이다.
즉,
$$\left[ \begin{array}{cc|cc} 1 & 3 & 1 & 0 \\ 2 & 7& 0 & 1 \end{array} \right] \Rightarrow \left[ \begin{array}{cc|cc} 1 & 3 & 1 & 0 \\ 0 & 1& -2 & 1 \end{array} \right] \Rightarrow \left[ \begin{array}{cc|cc} 1 & 0 & 7 & -3 \\ 0 & 1 & -2 & 1 \end{array} \right] \tag{10}$$
마지막에 도출된 행렬은 무엇을 의미하는지 알기 위해 elimination matrix를 사용하여 위의 과정을 표현해보자
$$E[A \quad I] = [I \quad ?]$$
여기서 Eq. (5)와 같이 블록 곱에 의해 $EA=I$가 된다.
즉 $E=A^{-1}$이다.
따라서, $?=EI=A^{-1}$가 되므로,
$$A^{-1} = \begin{bmatrix} 7 & -3 \\ -2 & 1 \end{bmatrix}$$
Reference
1. Deisenroth, Marc Peter, A. Aldo Faisal, and Cheng Soon Ong. Mathematics for machine learning. Cambridge University Press, 2020.
2. MIT Lecture by Gilbert Strang [Link]
'[수학] > Linear Algebra' 카테고리의 다른 글
[선형대수] 4. LU 분해 (LU Decomposition / Factorization) (0) | 2022.04.09 |
---|---|
[선형대수] 2. 행렬의 소거법 (Elimination with Matrices) (0) | 2022.03.29 |
[선형대수] 1. 연립 일차 방정식 (Systems of Linear Equations) (0) | 2022.03.29 |