Introduction
벡터
벡터(vector)는 덧셈과 상수배(scalar multiplication)가 의미를 갖는 대상을 말한다.
덧셈의 항등원에 해당하는 벡터를 영벡터(zero vector)라 하고 $\mathbf{0}$으로 표기한다.
더하기의 역원이 존재하면, 실수에서와 같이 (-)를 붙여 표시한다. $-\mathbf{v}$
벡터 $\mathbf{v}$에 대하여 덧셈과 상수배를 만족하는 벡터를 모아 놓은 공간을 벡터공간(vector space)라 부른다. (벡터공간에 대한 설명은 나중에)
벡터는 유한개의 숫자를 순서대로 모아놓은 배열의 한 형태가 될 수 있다.
\[ \mathbf{v} = \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_m \end{bmatrix} \]
이 벡터는 $m$차원 벡터고 $\mathbf{v} \in \mathbb{R}^m$ 으로 표시한다. 때때로 $m$-벡터 또는 $\mathbb{R}^m$-벡터 라고 부른다.
행렬
행렬은 여러가지로 정의할 수 있는데, 일반적으로 $\mathbb{R}^m$-vector를 가로방향으로 stacking하여 만들어진 2차원 배열로 정의한다. 즉 $n$개의 $\mathbb{R}^m$-vector를 가로방향으로 적층하면 아래와 같이 $m \times n$ 행렬이 정의된다.
\[ A = \begin{bmatrix} \mathbf{a}_1 | \mathbf{a}_2 | \cdots | \mathbf{a}_n \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix} \]
행렬과 벡터의 곱셈
행렬의 곱셈의 간단한 형태로 $m \times n$ 행렬과 $n \times 1$ 벡터의 곱을 벡터에 상수를 곱하는 것과 비슷하게 아래 식처럼 정의할 수 있다.
\[ A\mathbf{v} = v_1\mathbf{a}_1 + \cdots + v_n\mathbf{a}_n = \sum_{i=1}^{n}v_i\mathbf{a}_i \]
Matrix Operations
이제 행렬간의 곱셈을 정의해보자. $m \times n$ 인 $A =\begin{bmatrix} \mathbf{a}_1 | \mathbf{a}_2 | \cdots | \mathbf{a}_n \end{bmatrix}$과 $n \times l$ 행렬 $B =\begin{bmatrix} \mathbf{b}_1 | \mathbf{b}_2 | \cdots | \mathbf{b}_l \end{bmatrix}$의 곱 $AB$를
\[ AB = \begin{bmatrix} A\mathbf{b}_1 | A\mathbf{b}_2 | \cdots | A\mathbf{b}_l \end{bmatrix} \]
으로 정의하고, $AB$의 $\left( i, j \right)$ 원소는
\[ \left( AB \right)_{ij} = \sum_{k=1}^{n}a_{ik}b_{kj} = \begin{bmatrix} a_{i1}, \dots , a_{in} \end{bmatrix} \begin{bmatrix} b_{ij} \\ \vdots \\ b_{nj} \end{bmatrix} \]
로 표현할 수 있고, 벡터의 내적 $\langle \mathbf{a}_i, \mathbf{b}_j \rangle$의 형태임을 알 수 있다.
행렬 곱셈의 성질
행렬의 곱셈은 결합법칙과 분배법칙이 성립하지만, 일반적으로 교환법칙은 성립하지 않는다.
- $(AB)C = A(BC)$
- $A(B + C) = AB+AC, \ (B + C)D = BD + CD$
영행렬, 행렬 덧셈의 항등원, Zero Matrix
행렬 덧셈의 항등원은 모든 원소가 0인 영행렬이고 (벡터에서와 같이) $\mathbf{0}$으로 표기한다. 경우에 따라 $\mathbf{0}_{m \times n}$으로 표기하기도 한다.
단위행렬, 행렬 곱셈의 항등원, Identity Matrix
행렬 곱셈의 항등원은 행과 열이 같은 대각원소(diagonal entry)가 모두 $1$이고 나머지는 모두 $0$인 정사각행렬이고, 특별히 단위행렬(identity matrix)라 부른다.
\[ I = I_n = \begin{bmatrix} 1 & & \mathbf{0} \\ & \ddots & \\ \mathbf{0} & & 1 \end{bmatrix} \]
대각행렬, Diagonal matrix
행렬 곱셈에서 유용한 행렬 중 하나는 대각행렬(diagonal matrix)인데, 비대각원소가 모두 0인 행렬이다.
\[ D = \begin{bmatrix} d_1 & & \mathbf{0} \\ & \ddots & \\ \mathbf{0} & & d_n \end{bmatrix} = \mathrm{diag}(d_i) = \mathrm{diag}(d_1, \dots , d_n) \]
대각행렬 $D$와 행렬 $A$에 대하여,
- $AD$ 는 $A$의 $i$번째 행에 $d_i$를 곱하여 scaling한 행렬이다.
- $DA$ 는 $A$의 $j$번째 열에 $d_j$를 곱하여 scaling한 행렬이다.
전치행렬, Transpose
$m \times n$ 행렬 $A$의 행과 열을 바꾼 행렬을 전치행렬이라 하고 $A^\top$으로 표기한다. 이때 $A^\top$은 당연히 $n \times m$이고 $(A^\top)_{ij} = (A)_{ji}$이다.
- $(A + B)^\top = A^\top + B^\top$
- $(AB)^\top = B^\top A^\top$
대칭행렬, symmetrix matrix
$A^\top = A$인 행렬을 대칭행렬이라 한다.
Solving Simultaneous Linear Algebra
연립선형방정식(linear equation)을 푸는 것은 행렬의 연산과 관련이 많다. 아래의 연립방정식
\begin{alignat*}{4}
x & {}+{} & y {}={} & 5 \\
2x & {}-{} & y {}={} & 1 \\
\end{alignat*}
은 아래처럼 계수행렬로 표현할 수 있다.
\[ \left[ \begin{array}{cc|c} 1 & 1 & 5 \\ 2 & -1 & 1 \\ \end{array} \right] \]
중학교와 고등학교때라면 $x$를 소거하기 위해 첫행에 2배를 하고 두번째 행에서 그 값을 빼는 것을 할 것이다. 이는 정확하게 행렬 $\begin{bmatrix} 1 & 0 \\ -2 & 1 \end{bmatrix}$를 곱하는 것과 같다. 이때 곱해지는 행렬을 기본행렬(elementary matrix)라고 한다.
기본행렬, Elementary matrix
기본행렬은 단위행렬 $I_n$에서 기본행연산을 한 번 수행한 행렬이고 보통 $E$로 표기한다. 따라서 대각성분은 모두 1이고, 나머지 한 곳만 어떤 상수가 되는 형태이다.
기본행연산은 3가지가 있다.
- row addition. $R_i + kR_j \rightarrow R_i$
- row multiplication. $kR_i \rightarrow R_i$
- row exchange. $R_i \leftrightarrow R_j$
row addition($j$번째 행의 $k$배를 $i$번째 열에 더함)의 기본행렬은 $I_n$에서 $I_{ij} = k$이다.
만일 $R_2 \rightarrow R_2 - kR_3$ 연산을 했다면 기본행렬과 그 역행렬(역행렬의 정의는 나중에 다룬다)은 다음과 같이 생겼다.
\[ E = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & k \\ 0 & 0 & 1 \end{bmatrix}, \ E^{-1} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & -k \\ 0 & 0 & 1 \end{bmatrix} \]
row multiplication ($i$번째 행에 $k$배)의 기본행렬은 $I_n$에서 $I_{ii} = k$인 기본행렬이다.
만일 $R_2 \rightarrow kR_2$라면 기본행렬과 그 역행렬은 다음과 같다.
\[ E = \begin{bmatrix} 1 & 0 & 0 \\ 0 & k & 0 \\ 0 & 0 & 1 \end{bmatrix}, \ E^{-1} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1/k & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
row exchange의 기본행렬은 $I$에서 $i$번재 행과 $j$번째 행이 뒤바뀐 형태이다.
만일 $R_2 \leftrightarrow R_3$라면 기본행렬과 그 역행렬은 다음과 같다.
\[ E = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{bmatrix}, \ E^{-1} = E \]
이제 미지수가 3개인 연립선형방정식을 생각해보자.
\begin{alignat*}{4} 2x_1 & {}+{} & x_2 & {}+{} & x_3 & {}={} & 5 \\ 4x_1 & {}-{} & 6x_2 & & & {}={} & 2 \\ -2x_1 & {}+{} & 7x_2 & {}+{} & 2x_3 & {}={} & 9 \end{alignat*}
이를 행렬로 표현하면 다음과 같다.
\[ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 4 & -6 & 0 & -2 \\ -2 & 7 & 2 & 9 \end{array} \right] \]
이제 이 행렬의 왼쪽에 기본행렬을 연속해서 곱하여 상삼각행렬(upper triangular matrix) 으로 만들 것이다. (이유는 추후 서술)
순서대로 기본행연산을 하면 아래 표처럼 진행된다.
Row Operation | Elementary Matrix | Matrix |
$R_2 -2R_1 \rightarrow R_2$ | \begin{bmatrix} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} |
$ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 0 & -8 & -2 & -12 \\ -2 & 7 & 2 & 9 \end{array} \right] $ |
$R_3 + R_1 \rightarrow R_3$ | \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix} |
$ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 0 & -8 & -2 & -12 \\ 0 & 8 & 3 & 14 \end{array} \right] $ |
$R_3 + R_2 \rightarrow R_3$ | \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix} |
$ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 0 & -8 & -2 & -12 \\ 0 & 0 & 1 & 2 \end{array} \right] $ |
이렇게 계수행렬이 상삼각행렬로 바뀌면 Back-substitution(후방 대입법)을 통해 마지막 행부터 미지수의 해를 구할 수 있으므로 차례대로 $x_3=2, \ x_2 = 1, \ x_1 = 1$임을 얻을 수 있다.
연립방정식에 따라 이러한 절차가 중단될 수 있다.
(1) 소거 과정에서 너무 많은 변수가 소거되어 행의 변수 소거가 안되는 경우. 행교환 연산을 하고 다시 이어서 진행하면 된다.
(2) 어느 두 행이 상수배 관계여서 소거 과정에서 한 행이 모두 0으로 채워지는 경우. 적절히 행 교환 연산을 수행하면 상삼각행렬로 만들 수 있는데, 아래 행들이 모두 0으로 채워져 있을 것이다. 방정식의 우변에 따라서 back-substitution이 적용될 수도 있고(free variable이 있어 무한개의 해가 존재) 혹은 적용 불가능할 수 있다.(이 경우 해가 존재하지 않는다.)
Inverse of a Matrix
행렬의 곱셈에 대한 항등원은 $I_n$이다. 이제 행렬의 곱셈의 역원은 역행렬이라 한다.
$m \times n$ 행렬 $A$에 대하여 $BA = I_n$ 이고 $AB = I_m$이면 $B$가 $A$의 역행렬이다.
- 역행렬은 유일하다.
- $(AB)^{-1} = B^{-1}A^{-1}$
- $A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}$이면 $A^{-1} = \cfrac{1}{ad-bc} \begin{bmatrix}d & -b \\ -c & a \end{bmatrix}$
- $A = \mathrm{diag}(d_i)$ 이고 모든 $d_i \neq 0$이면 $A$는 invertible하고, $A^{-1} = \mathrm{diag}(d_i^{-1})$
- $(A^{-1})^\top = (A^\top)^{-1}$
- $A$가 symmetric하고 invertible하면, $A^{-1}$ 역시 symmetric하고 $(A^{-1})^\top = (A^\top)^{-1} = A^{-1}$
$LU$-decomposition
Gaussian elimination 과정에서 계수행렬의 왼쪽에 곱해지던 기본행렬들은 하삼각행렬인데 이는 우연이 아니다. 다시 그 과정을 살펴보자.
Row Operation | Elementary Matrix | Matrix |
$R_2 -2R_1 \rightarrow R_2$ | $\tilde{L}_1 = \begin{bmatrix} 1 & 0 & 0 \\ -2 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix}$ |
$ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 0 & -8 & -2 & -12 \\ -2 & 7 & 2 & 9 \end{array} \right] $ |
$R_3 + R_1 \rightarrow R_3$ | $\tilde{L}_2 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 0 & 1 \end{bmatrix}$ |
$ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 0 & -8 & -2 & -12 \\ 0 & 8 & 3 & 14 \end{array} \right] $ |
$R_3 + R_2 \rightarrow R_3$ | $\tilde{L}_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 1 \end{bmatrix}$ |
$ \left[ \begin{array}{ccc|c} 2 & 1 & 1 & 5 \\ 0 & -8 & -2 & -12 \\ 0 & 0 & 1 & 2 \end{array} \right] $ |
원래 계수 행렬을 $A$, 변경된 계수행렬을 $U$(상삼각행렬)라하자. 그러면
\[ \tilde{L}_3 \tilde{L}_2 \tilde{L}_1 A = U \]
그런데 $\tilde{L}^{-1} = L$이라 하고, 하삼각행렬의 곱은 하삼각행렬이므로
\[ A = L_1 L_2 L_3 U \]
기본행렬의 역행렬은 쉽게 구할 수 있으므로 $L_1 = \begin{bmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\0 & 0 & 1 \end{bmatrix}, \ L2 = \begin{bmatrix} 1 & 0 & 0 \\ 0& 1 & 0 \\ -1 & 0 & 1 \end{bmatrix}, \ L_3 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & -1 & 1 \end{bmatrix}$으로 $L$을 계산하면
\[ \tilde{L} = \tilde{L}_3 \tilde{L}_2 \tilde{L}_1 = \begin{bmatrix} 1 & 0 & 0 \\ -2 & 1 & 0 \\ -1 & 1 & 1 \end{bmatrix}, \ L = L_1 L_2 L_3 = \begin{bmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ -1 & -1 & 1 \end{bmatrix} \]
따라서
\[ \begin{align} A &= \begin{bmatrix} 2 & 1 & 1 \\ 4 & -6 & 0 \\ -2 & 7 & 2 \end{bmatrix} \\ &= \begin{bmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ -1 & -1 & 1 \end{bmatrix} \begin{bmatrix} 2 & 1 & 1 \\ 0 & -8 & -2 \\ 0 & 0 & 1 \end{bmatrix} \\ &= \begin{bmatrix} 1 & 0 & 0 \\ 2 & 1 & 0 \\ -1 & -1 & 1 \end{bmatrix} \begin{bmatrix} 2 & 0 & 0 \\ 0 & -8 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 1/2 & 1/2 \\ 0 & 1 & 1/4 \\ 0 & 0 & 1 \end{bmatrix} \\ &= LDU \end{align} \]
또한, LDU-분해를 이용하여 $A$의 역행렬을 구할 수 있다.
\[ A^{-1} = (LDU)^{-1} = U^{-1}D^{-1}L^{-1} \]
다만, $L, \ D , \ U$는 결국 Gaussian elimination을 통해 구해야 한다.
다시 말해, 역행렬을 구하는 것이 목적이면, 처음부터 $\begin{bmatrix} A | I \end{bmatrix}$에서 Gaussian elimination을 통해 $A$를 $I$로 만들면, 우측의 $I$는 $A^{-1}$이 되어 $\begin{bmatrix} I | A^{-1} \end{bmatrix}$ 형태가 된다.
'스터디 > 선형대수학' 카테고리의 다른 글
[선형대수학] LU-Decompositions (0) | 2023.02.07 |
---|---|
SVD (Singular Value Decomposition) (0) | 2023.01.20 |