cs
Mathematics/Linear Algebra

[Linear Algebra] Matrix Multiplication의 이해

Matrix Multiplication

두 matrix $A$, $B$를 곱하는 상황을 생각해 보자. 이때 matrix $A$는 $2 \times 2$ 인 square matrix이고, $B$는 $2 \times 3$인 rectangular matrix이라고 하자. 즉, 다음과 같다.

 

$$ A = \begin{bmatrix}  2 & 3 \\ 4 & 0 \end{bmatrix} \text {, }  B = \begin{bmatrix}  1 & 2 & 0 \\ 5 & 1 & 0 \end{bmatrix}$$

 

이때 두 matrix의 multiplication은 다음과 같이 될 것이다. 

 

$$ AB = \begin{bmatrix}  2 & 3 \\ 4 & 0 \end{bmatrix} \begin{bmatrix}  1 & 2 & 0 \\ 5 & 1 & 0 \end{bmatrix} $$

 

그럼 $AB$는 어떻게 구할 수 있을까? 네 가지 방법으로 이해할 수 있다.

 

 


 

1. A의 row와 B의 column의 곱

가장 일반적으로 사용되는 방법이다. 

$$ (AB)_{ij} = \text{row } i \text{ of } A \times \text{column } j \text{ of } B$$

 

matrix $A$의 row와 matrix $B$의 column을 내적한 값이 각 entry의 값이 되는 것이다.

 

즉, 각 entry의 값은, 

 

$$ (AB)_{ij} = \sum _{k} a_{ik}b_{kj}$$

 

가 된다.

 

이 방법에 따라서 AB를 구하면, 

 

$$ AB = \begin{bmatrix}  17& 1 & 0 \\ 4 & 8 & 0 \end{bmatrix} $$

 

이 된다.


2. matrix A의 column들의 combination

matrix $AB$의 각 column들은 $A$의 column들의 linear combination으로 이루어져 있다.

 

예를 들어, 위에서 구한 $AB$의 첫 번째 column은 

 

$$col^{AB}_1 = (17, 4)$$

 

인데, 이는

 

$$ \begin{align} &col^{A}_1 \times b_{11} + col^A_2 \times b_{21} \\ &= (2,4) \times 1 + (3,0) \times 5 \\
&=(17,4)\end{align} $$

 

이다. 

 

즉, $A$의 column들의 linear combination이 $AB$의 column이다. 이때 coefficient는 $B$의 column의 값이다.

 

이는 즉, 다음과 같다.

 

$$ \text{column }k\text{ of }AB = A \times \text{column }k\text{ of }B$$

 


3. matrix B의 row들의 combination

matrix $AB$의 각 row들은 $B$의 row들의 linear combination으로 이루어져 있다.

 

예를 들어, 위에서 구한 $AB$의 첫 번째 row은 

 

$$row^{AB}_1 = (17, 1, 0)$$

 

인데, 이는

 

$$ \begin{align} &row^{B}_1 \times a_{11} + row^B_2 \times a_{12} \\ &= (1,2,0) \times 2 + (5,-1,0) \times 3 \\ &=(17,-1,0)\end{align} $$

 

이다.

 

즉, $B$의 row들의 linear combination이 $AB$의 row이다. 이때 coefficient는 $A$의 row의 값이다.

 

이는 즉, 다음과 같다.

 

$$ \text{row }k\text{ of }AB = B \times \text{row }k\text{ of }A$$

 


4. A의 column과 B의 row의 곱의 합

만약 matrix A(n by k)의 각 column(k by m)과 B의 각 row를 곱하면 답과 같은 크기의 matrix(n by m)를 얻게 된다. 만약 $i$번째 column of A와 row of B를 곱한다면, 이러한 matrix는 총 $k$개가 만들어진다. 이 값들을 모두 합하면 두 matrix의 multiplication 값을 알 수 있다.

 

위의 matrix로 확인해 보자.

 

$$ \begin{align} & \text{columns of } A \times \text{ rows of }B \\&= \sum_k col^A_k \times row^B_k \\&= \begin{bmatrix}2 \\4  \end{bmatrix} \begin{bmatrix}1 & 2 &0  \end{bmatrix} + \begin{bmatrix}3 \\ 0  \end{bmatrix} \begin{bmatrix}5 & -1 & 0 \end{bmatrix} \\&= \begin{bmatrix} 2 &4 &0 \\ 4 & 8 & 0  \end{bmatrix} + \begin{bmatrix} 15 & -3 & 0 \\ 0 & 0 & 0  \end{bmatrix} \\&=\begin{bmatrix} 17& 1 & 0 \\ 4 & 8 & 0  \end{bmatrix} \end{align}$$ 

 

역시 동일한 값이 나오는 것을 확인할 수 있다. 

 

 


References

  • Gilbert Strang. 18.06 Linear Algebra. Spring 2010. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.
  • Strang, G. (2012). Linear algebra and its applications. Thomson Brooks/Cole.