Matrix Multiplication, Matrix Product   행렬 곱셈

(2020-02-11)

행렬 곱, 행렬의 곱, 행렬들의 곱, 행렬 벡터 곱

1. 행렬 곱셈

  ㅇ 두 행렬에서 좌측 행렬의 행(row)에 우측 행렬의 열(column)을 곱하는 것
      
     - 즉, 행 벡터열 벡터를 곱하는 것 (두 벡터를 곱하는 내적)

  ㅇ 행렬 곱셈의 표기
     - 두 행렬 사이에 연산자 없이, 그냥 AB 라고 나타냄

  ㅇ 행렬 곱셈의 성분 : cij
     - {# c_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} + \cdots + a_{in}b_{nj}
                 = \sum_{k=1}^n a_{ik}b_{kj} #}
        . 즉, A의 i번째 행 벡터와 B의 j번째 열 벡터내적 임

  ㅇ 행렬 곱셈의 크기
     - (m x r) 행렬 A와 (r x n) 행렬 B의 곱 => (m x n) 행렬 AB
        
[# \begin{matrix} A & B & = & C \\ (m \times r) & (r \times n) & & (m \times n) \end{matrix} #]
. 즉, A의 열의 개수 r = B의 행의 개수 r 이어야 함 ㅇ 행렬 곱셈의 존재 - 반드시, 행렬 A의 열의 갯수가 행렬 B의 행의 갯수와 같아야 함 - 만일, 곱해지는 두 행렬 크기가 다르면 행렬 곱셈은 존재하지 않음 ※ [참고] ☞ 행렬곱셈 알고리즘, 행렬 곱셈 실제 구현 참조 2. 행렬 곱셈의 성질 ㅇ 비 가환적임 (not communicative) : AB ≠ BA - 즉, 교환법칙이 성립하지 않음 (곱해지는 순서가 중요 함) ㅇ 결합법칙,분배법칙 성립함 - 곱셈 결합법칙 : A(BC) = (AB)C - 스칼라 결합 곱셈 : k(AB) = (kA)B = A(kB) - 좌 분배법칙 : A(B+C) = AB + AC - 우 분배법칙 : (A+B)C = AC + BC ㅇ 곱셈 항등원 : In A = A = A In (A의 크기는 n x n) ㅇ 행렬 지수 곱셈 : Ak = A A ... A (행렬 A가 k번 곱해짐) 3. 행렬 곱셈의 의의 ㅇ 단순히, 수(數)들을 곱하여 얻어진다는 것 그 이상으로, - 행렬 곱셈은, `일차변환(선형변환)`에 사용할 수 있게 하는 수학적 도구 임 ㅇ 즉, 행렬곱셈 (AB)가 벡터 x에 작용하는 어떤 형태의 합성함수로 볼 수 있음 4. 행렬 곱셈의 열 또는 행 표현법 ㅇ (열 관점 표현) - 만일, 행렬 A를 열벡터 {#\begin{bmatrix} \mathbf{a}_1 & \mathbf{a}_2 & \cdots & \mathbf{a}_n\end{bmatrix}#}로써 행렬 분할시키면,
[# A B = \begin{bmatrix}\mathbf{a}_1&\mathbf{a}_2&\cdots&\mathbf{a}_n\end{bmatrix}B = \mathbf{a}_1B+\mathbf{a}_2B+\cdots+\mathbf{a}_nB#]
- 만일, 행렬 B를 열벡터 {#\begin{bmatrix} \mathbf{b}_1 & \mathbf{b}_2 & \cdots & \mathbf{b}_n\end{bmatrix}#}로써 행렬 분할시키면,
[# A B = A \begin{bmatrix}\mathbf{b}_1 & \mathbf{b}_2 & \cdots & \mathbf{b}_n \end{bmatrix} = \begin{bmatrix}A\mathbf{b}_1 & A\mathbf{b}_2 & \cdots & A\mathbf{b}_n \end{bmatrix} #]
ㅇ 더욱이, 두번째 행렬이 n x 1 행렬열벡터이면, 열 관점 및 행 관점 2개로 달리 표현 가능 - 특히, n개 방정식과 n개 미지수를 갖는 선형연립방정식을 표현하기에 유용함 - (열 관점 표현) . 행렬 곱셈이, `첫째 행렬열벡터`들이 `둘째 열벡터 원소`들과 선형 결합된 형태를 갖음
[# A \mathbf{x} = \begin{bmatrix}\mathbf{a}_1 & \mathbf{a}_2 & \cdots & \mathbf{a}_n \end{bmatrix} \begin{bmatrix}x_1 \\ x_2 \\ \cdots \\ x_n \end{bmatrix} = x_1\mathbf{a}_1 + x_2\mathbf{a}_2 + \cdots + x_n\mathbf{a}_n #]
. 이를 `행렬 벡터 곱셈` 또는 `행렬 벡터 형태` 라고 함 - (행 관점 표현) . 행렬 곱셈이, 첫째 행렬의 각 행과 둘째 열벡터과의 내적으로 된 형태를 갖음
[# A \mathbf{x} = \begin{bmatrix} \mathbf{a}_1^T \\ \mathbf{a}_2^T \\ \vdots \\ \mathbf{a}_n^T \end{bmatrix} \mathbf{x} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \vdots & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix} \begin{bmatrix}x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} = \begin{bmatrix}b_1 \\ b_2 \\ \vdots \\ b_n \end{bmatrix} = \mathbf{b} #]
[# a_{11}x_{1} + a_{12}x_{2} + \cdots + a_{1n}x_{n} = b_1 \\ a_{21}x_{1} + a_{12}x_{2} + \cdots + a_{1n}x_{n} = b_2 \\ \cdots \\ a_{n1}x_{1} + a_{n2}x_{2} + \cdots + a_{nn}x_{n} = b_n #]


[행렬 연산] 1. 행렬 연산 2. 행렬 곱셈 3. 행렬 곱셈 알고리즘

 
        최근수정     요약목록     참고문헌