본문 바로가기
전공 정리/공업수학

22. 행렬 곱셈, 선형 변환, 전치 행렬

by 꼬긔 2020. 5. 10.

 앞선 포스팅에서 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에 대하여 다룰 예정입니다.

댓글