앞선 포스팅에서 Matrix의 합과 Scalar multiplication에 대하여 알아보았습니다. 이번에는 다른 연산인 Matrix의 곱에 대하여 알아보겠습니다.
22.1. Matrix Multiplication.
크기가 $m \times n$인 Matrix $\mathbf{A} = [a_{jk}]$와 크기가 $r \times p$인 Matrix $\mathbf {B} = [b_{jk}]$가 있다고 합시다. 그리고 두 Matrix의 곱을 $\mathbf {AB} = \mathbf {C}$라 합시다. 이때 $\mathbf {C}$가 존재하기 위해서는, $n = r$이어야 합니다. 즉 $\mathbf {A}$의 column과 $\mathbf {B}$의 row의 수가 같아야 Matrix의 곱 $\mathbf {AB}$가 정의됩니다. 이제 이 $\mathbf {C}$는 크기가 $m \times p$인 Matrix이고, $\mathbf {C}=[c_{jk}]$의 원소 $c_{jk}$는 $c_{jk} = \sum_{l=1}^{n} a_{jl} b_{lk}$로 정의됩니다.
$\mathbf {AB} = \mathbf {C} = [c_{jk}] = [\sum_{l=1}^{n} a_{jl} b_{lk}]$ (1)
(1) 수식을 이해하기 위해서 예제를 풀어봅시다. 가장 간단한 Vector 형태를 먼저 계산해봅시다.
Ex) 1. $\begin{bmatrix} 3&6&1\end {bmatrix}\begin {bmatrix}1\\2\\4\\\end {bmatrix}$
$\mathbf {A} = [a_{jk}] = \begin {bmatrix} 3&6&1\end {bmatrix}$, $\mathbf {B} = [b_{jk}] = \begin {bmatrix}1\\2\\4\\\end {bmatrix}$라 합시다.
주어진 Matrix $\mathbf {A}$는 크기가 $1 \times 3$ Matrix이고, $\mathbf {B}$의 크기는 $3 \times 1$인 Matrix입니다. 그렇기 때문에 이 둘의 곱 $\mathbf {AB}$ 또한 존재하고, 그 크기는 앞서 설명한 것에 따라 $1 \times 1$ Matrix가 됩니다.
(1)에서 $c_{jk} = \sum_{l=1}^{n} a_{jl} b_{lk}$이었습니다. 이를 풀어 써보면 다음과 같습니다.
$c_{jk} = \sum_{l=1}^{n} a_{jl}b_{lk} = a_{j1} b_{1k} + a_{j2} b_{2k} + a_{j3} b_{3k} + \cdots$ (2)
$\mathbf {C}$의 크기는 $1 \times 1$이므로, 오로지 $c_{jk} = c_{11}$만 존재합니다. $j$, $k$에 $1$을 대입합니다.
$c_{11} = a_{11} b_{11} + a_{12} b_{21} + a_{13} b_{31}$ (3)
(3)을 토대로 주어진 값을 대입하여 $c_{11}$을 구합니다.
$c_{11} = 3\cdot1 + 6\cdot2 + 1\cdot4 = 19$ (4)
(4)의 결과로 $\mathbf {C}$를 구합니다.
$\mathbf{C} = \begin {bmatrix} 19\end {bmatrix}$
sol) $\begin {bmatrix} 3&6&1\end{bmatrix}\begin{bmatrix}1\\2\\4\\\end{bmatrix} = \begin{bmatrix} 19\end {bmatrix}$
Ex) 2. $\begin {bmatrix}1\\2\\4\\\end {bmatrix}\begin {bmatrix} 3&6&1\end {bmatrix}$
앞선 예제의 표기를 빌려오면 주어진 예제는 $\mathbf {BA}$라 표기할 수 있습니다. $\mathbf {B}$의 크기가 $3 \times 1$이고, $\mathbf {A}$의 크기는 $1 \times 3$입니다. 곱이 존재할 전제조건을 만족하고, 이 곱을 $\mathbf {C}$라 합시다. 그렇다면 $\mathbf {C}$의 크기는 $3 \times 3$가 됩니다.
(2)를 참고하여 $c_{jk}$를 구해봅시다.
$\begin {cases} c_{11} = b_{11} a_{11} = 1\cdot3 = 3\\c_{12} = b_{11} a_{12} = 1\cdot6 = 6\\c_{13} = b_{11} a_{13} = 1\cdot1 = 1\\c_{21} = b_{21} a_{11} = 2\cdot3 = 6\\c_{22} = b_{21} a_{12} = 2\cdot6 = 12\\c_{23} = b_{21} a_{13} = 2\cdot1 = 2\\c_{31} = b_{31} a_{13} = 4\cdot3 = 12\\c_{32} = b_{31}a_{12} = 4\cdot6 = 24\\c_{33} = b_{31}a_{13} = 4\cdot1 = 4\end {cases}$ (5)
(5)의 결과를 Matrix로 써봅시다.
$\mathbf {C} = [c_{jk}] = \begin {bmatrix} 3&6&1\\6&12&2\\12&24&4\end {bmatrix}$ (6)
(6)에따라, 구하는 Matrix는 다음과 같습니다.
sol) $\begin {bmatrix}1\\2\\4\\\end{bmatrix}\begin{bmatrix} 3&6&1\end{bmatrix} = \begin{bmatrix} 3&6&1\\6&12&2\\12&24&4\end {bmatrix}$
Ex 1, 2를 통해 하나의 결론을 내릴 수 있습니다. 결과를 비교해보면 $\mathbf {AB} \neq \mathbf {BA}$ 인 것을 알 수 있었는데요, 흔히 말하는 '교환 법칙'이 Matrix의 곱에서는 성립하지 않는다는 것을 알 수 있습니다. Matrix 곱에서 성립하는 간단한 법칙들을 살펴보겠습니다.
$(k\mathbf {A})\mathbf {B} = \mathbf {A}(k\mathbf {B})$ (7)
$\mathbf {A}(\mathbf {BC}) = (\mathbf {AB})\mathbf {C} = \mathbf {ABC}$ (8)
$(\mathbf {A}+\mathbf {B})\mathbf {C} = \mathbf {AC} + \mathbf {BC}$ (9)
$\mathbf {C}(\mathbf {A}+\mathbf {B}) = \mathbf {CA} + \mathbf {CB}$ (10)
Ex 1의 풀이 방식으로 Matrix 곱을 다른 방식으로 생각해 볼 수도 있습니다. Ex 1처럼 row vector와 column vector의 곱(교환 법칙이 성립하지 않으므로 당연히 row vector가 앞에 옵니다.)은 원소가 하나인 $1 \times 1$ Matrix가 나옵니다. 이를 이용해봅시다.
row matrix를 $\mathbf {a}_j = \begin {bmatrix} a_{j1}&a_{j2}&\cdots&a_{jn}\end{bmatrix}$라 하고, column matrix를 $\mathbf{b}_k = \begin{bmatrix} b_{1k} \\ b_{2k} \\ \cdots \\ b_{nk}\end {bmatrix}$라 합시다. 두 Matrix의 곱 $\mathbf {a}_j\mathbf {b}_k$는 다음과 같습니다.
$\mathbf{a}_j\mathbf{b}_k = a_{j1} b_{1k} + a_{j2} b_{2k} + a_{j3} b_{3k} + \cdots + a_{jn} b_{nk}$ (11)
(11)은 다음과 같이 쓸 수 있습니다.
$a_{j1} b_{1k} + a_{j2} b_{2k} + a_{j3} b_{3k} + \cdots + a_{jn} b_{nk} = \sum_{l=1}^{n} a_{jl} b_{lk} = c_{jk}$ (12)
(11)과 (12)의 결과를 통해 다시 식을 써서 결론을 지어봅시다.
$\mathbf {a}_j\mathbf {b}_k = c_{jk}$ (13)
(13)에서, 우리는 Matrix의 곱 $\mathbf {AB} = \mathbf{C} = [c_{jk}]$에서 $c_{jk}$를 $\mathbf{A}$의 $j$번째 row vector와 $\mathbf{B}$의 $k$번째 column vector의 곱으로 알 수 있습니다. 이를 통해 $\mathbf{AB}$를 다음과 같이 쓸 수 있습니다.
$\mathbf{AB} = \begin {bmatrix} \mathbf {a}_1\mathbf {b}_1&\mathbf {a}_1\mathbf {b}_2&\cdots&\mathbf {a}_1\mathbf {b}_n \\ \mathbf {a}_2\mathbf {b}_1&\mathbf {a}_2\mathbf {b}_2&\cdots&\mathbf {a}_2\mathbf {b}_n\\ \vdots&\vdots&\ddots&\vdots\\ \mathbf {a}_m\mathbf {b}_1&\mathbf {a}_m\mathbf {b}_2&\cdots&\mathbf {a}_m\mathbf {b}_n\end {bmatrix}$ (14)
22. 2. Linear Transformation.
앞서 정리한 Matrix의 곱으로 연립방정식을 간단하게 나타낼 수 있습니다. 다음과 같은 연립방정식이 있다고 합시다.
$\begin {cases} y_1 = a_{11} x_1 + a_{12}x_2 \\ y_2 = a_{21}x_1 + a_{22}x_2\end{cases}$ (15)
(15)의 첫 번째 연립방정식만 가져와봅시다. $y_1 = a_{11}x_1 + a_{12} x_2$은 (12)를 이용해 Matrix의 계산으로 바꾸어주면 다음과 같습니다.
$\begin {bmatrix} y_1 \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}$ (16)
(15)의 두 번째 연립방정식 또한 같은 방식으로 나타내면 다음과 같습니다.
$\begin{bmatrix} y_2 \end{bmatrix} = \begin{bmatrix} a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}$ (17)
(16)과 (17)을 조합하면 주어진 연립방정식을 다음과 같이 쓸 수 있습니다.
$\begin {bmatrix} y_1 \\ y_2\end {bmatrix} = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix}$ (18)
$\begin {bmatrix} y_1 \\ y_2\end{bmatrix} = \mathbf{y}$, $\begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22}\end{bmatrix} = \mathbf{A}$, $\begin{bmatrix} x_1 \\ x_2\end {bmatrix} = \mathbf {x}$라 하면 (18)을 다음과 같이 쓸 수도 있습니다.
$\mathbf {y} = \mathbf {Ax}$ (19)
22. 3. Transposition.
크기가 $m \times n$인 matrix $\mathbf {A} = [a_{jk}]$가 있다고 합시다. $\mathbf {A}$의 첫 번째 row를 첫 번째 column으로, 두 번째 row를 두 번째 column으로 바꾸고, 이런 식으로 $n$ 번째 row를 $n$ 번째 column으로 바꾼 matrix를 $\mathbf {A^{\top}}$이라 정의합니다. 즉, $\mathbf {a}^{\top} = [a_{kj}]$와 같습니다. 이 Matrix를 풀어서 써 보면 다음과 같습니다.
$\mathbf {A}^{\top} = [a_{kj}] = \begin {bmatrix} a_{11}&a_{21}&\cdots&a_{m1}\\a_{12}&a_{22}&\cdots&a_{m2}\\ \vdots&\vdots&\ddots&\vdots \\ a_{1n}&a_{2n}&\cdots&a_{mn}\end {bmatrix}$ (20)
이를 토대로 크기가 $m \times n$인 Matrix를 transpose 한 Matrix는 크기가 $n \times m$이 된다는 것을 짐작할 수 있습니다. Transposition에서 성립하는 주요 법칙들은 다음과 같습니다.
$(\mathbf {A}^{\top})^{\top} = \mathbf{A}$ (21)
$(\mathbf{A} + \mathbf {B})^{\top} = \mathbf {A}^{\top} + \mathbf {B}^{\top}$ (22)
$(c\mathbf {A})^{\top} = c\mathbf {A}^{\top}$ (23)
$(\mathbf {AB})^{\top} = \mathbf {B}^{\top}\mathbf {A}^{\top}$ (24)
Transposition을 이용한 특수한 Matrix에 대하여 소개해보겠습니다.
1) Symmetric Matrix
Symmetric matrix는 $\mathbf {A} = \mathbf {A}^{\top}$를 만족하는 Matrix입니다. 예를 들어 다음과 같은 Matrix가 있습니다.
$\begin {bmatrix} 20 & 120 & -200 \\ 120 & 10 & 150 \\ -200 & 150 & 30 \end {bmatrix}$ (25)
2) Skew-symmetric Matrix
Skew-symmetric matrix는 $\mathbf {A} = - \mathbf {A}^{\top}$를 만족하는 Matrix입니다. 앞서 Symmetic matrix와 거의 유사합니다. Skew-symmetric matrix의 예로 다음과 같은 Matrix가 있습니다.
$\begin {bmatrix} 0&1&-3\\-1&0&-2\\3&2&0\end {bmatrix}$ (26)
3) Diagonal matrix
Diagonal matrix는 $\mathbf {A} = [a_{jk}]$인 matrix $\mathbf {A}$에서 $j=k$인 원소를 제외한 모든 원소가 0인 Matrix입니다. $j=k$인 원소가 0이어도 Diagonal matrix에 해당합니다. 예를 들어 다음과 같은 Matrix가 있습니다.
$\begin {bmatrix} 1&0&0\\0&2&0\\0&0&3\end{bmatrix}$ (27)
$\begin{bmatrix} 2&0&0\\0&3&0\\0&0&0\end {bmatrix}$ (28)
4) Scalar Matrix
Scalar matrix는 Diagonal matrix의 0이 아닌 모든 원소가 같은 Matrix입니다. 그 값을 $c$라 하고, Scalar matrix를 $\mathbf {S}$라 하면 다음을 만족합니다.
$\mathbf {SA} = \mathbf {AS} = c\mathbf {A}$ (29)
즉, Scalar multiplication과 같은 효과를 내는 Matrix라고도 볼 수 있겠습니다. $\mathbf {S}$를 풀어서 써보면 다음과 같습니다.
$\mathbf{S} = \begin {bmatrix} c&0&\cdots&0\\0&c&\cdots&0\\\vdots&\vdots&\ddots&\vdots\\0&0&\cdots&c\end {bmatrix}$ (30)
5) Unit Matrix
Unit matrix는 Scalat matrix의 c의 값이 1인 matrix입니다. Unit matrix를 $\mathbf {I}$라 합시다. Unit matrix는 다음을 만족합니다.
$\mathbf {IA} = \mathbf {AI} = \mathbf {A}$ (31)
(31)에서 보듯, Unit matrix를 곱하게 되면 곱하기 전 matrix와 같은 결과가 나오게 됩니다. $\mathbf {I}$를 풀어서 써보면 다음과 같습니다.
$\mathbf{I} = \begin {bmatrix} 1&0&\cdots&0\\0&1&\cdots&0\\\vdots&\vdots&\ddots&\vdots\\0&0&\cdots&1\end {bmatrix}$ (32)
오늘의 포스팅은 여기서 마치겠습니다. 상당히 많은 양을 담았네요. 다음 포스팅에서는 Gauss Elimination에 대하여 다룰 예정입니다.
'전공 정리 > 공업수학' 카테고리의 다른 글
24. 벡터 공간(Vector Space) (0) | 2020.05.17 |
---|---|
23. 연립 일차 방정식과 가우스 소거법 (0) | 2020.05.15 |
21. 선형 대수학 : 행렬, 벡터 (0) | 2020.05.07 |
20. 라플라스 변환 형태의 미분과 적분 (0) | 2020.05.06 |
19. 합성곱(Convolution) (0) | 2020.05.03 |
댓글