logo

[선형 대수학] 행렬의 곱셈

 

행렬의 곱셈

행렬 곱셈은 두 행렬 AABB의 곱으로 새로운 행렬 CC를 생성하는 과정입니다. 이 연산의 결과로 나타나는 행렬 CC의 각 원소는 AA의 행과 BB의 열 사이의 점곱(dot product)으로 계산됩니다.

 

행 벡터와 열 벡터의 곱

가장 간단한 형태의 행렬 곱셈은 1행 짜리 행 벡터와 1열 짜리 열 벡터를 곱하는 것입니다. 예를 들어, 행 벡터 A=[a1a2]A = \begin{bmatrix}a_1 & a_2\end{bmatrix}와 열 벡터 B=[b1b2]B = \begin{bmatrix} b_1 \\ b_2 \end{bmatrix}를 곱한다고 해보겠습니다.

C=AB=[a1,a2][b1b2]=a1b1+a2b2 C = A \cdot B = [a_1, a_2] \cdot \begin{bmatrix} b_1 \\ b_2 \end{bmatrix} = a_1 \cdot b_1 + a_2 \cdot b_2

다음의 예를 살펴봅시다.

[12][34]=13+24=11 \begin{align*} &\begin{bmatrix} 1 & 2 \end{bmatrix} \cdot \begin{bmatrix} 3 \\ 4 \end{bmatrix} \\ =& 1 \cdot 3 + 2 \cdot 4 \\ =& 11 \end{align*}

퀴즈

다음 두 행렬을 곱한 결과는 무엇일까요?

[24][13] \begin{bmatrix} 2 & 4 \end{bmatrix} \cdot \begin{bmatrix} 1 \\ 3 \end{bmatrix}
 

행렬의 곱셈

행렬 AABB의 곱셈은 다음과 같이 정의됩니다.

C=AB=[A1B1A1B2A1BpA2B1A2B2A2BpAmB1AmB2AmBp] C = A \cdot B = \begin{bmatrix} A_{1\bullet}\cdot B_{\bullet 1} & A_{1\bullet}\cdot B_{\bullet 2} & \cdots & A_{1\bullet}\cdot B_{\bullet p} \\ A_{2\bullet}\cdot B_{\bullet 1} & A_{2\bullet}\cdot B_{\bullet 2} & \cdots & A_{2\bullet}\cdot B_{\bullet p} \\ \vdots & \vdots & \ddots & \vdots \\ A_{m\bullet}\cdot B_{\bullet 1} & A_{m\bullet}\cdot B_{\bullet 2} & \cdots & A_{m\bullet}\cdot B_{\bullet p} \end{bmatrix}

따라서 m×nm \times n 행렬과 n×pn \times p 행렬을 곱하면 m×pm \times p 행렬이 생성됩니다. 즉, 첫 번째 행렬의 열 수와 두 번째 행렬의 행 수가 같아야 합니다.

각 원소 cijc_{ij}AAii번째 행과 BBjj번째 열의 점곱입니다.

cij=AiBj=k=1naikbkj c_{ij} = A_{i\bullet} \cdot B_{\bullet j} = \sum_{k=1}^{n} a_{ik} \cdot b_{kj}

2x2 행렬의 곱셈을 예시로 살펴보겠습니다.

A=[a11a12a21a22],B=[b11b12b21b22] A = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix}, \quad B = \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix}

이 두 행렬을 곱하면,

C=AB=[a11b11+a12b21a11b12+a12b22a21b11+a22b21a21b12+a22b22] C = AB = \begin{bmatrix} a_{11}b_{11} + a_{12}b_{21} & a_{11}b_{12} + a_{12}b_{22} \\ a_{21}b_{11} + a_{22}b_{21} & a_{21}b_{12} + a_{22}b_{22} \end{bmatrix}

퀴즈

다음 두 행렬을 곱한 결과는 무엇일까요?

A=[1234],B=[5678] A = \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix}, \quad B = \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix}
 

행렬 곱셈의 성질

 

결합 법칙

행렬 곱셈에서 결합 법칙은 성립합니다. 즉, 세 행렬 AA, BB, CC에 대해 다음이 항상 참입니다:

(AB)C=A(BC) (A \cdot B) \cdot C = A \cdot (B \cdot C)

이는 행렬 곱셈의 순서를 변경해도 결과 행렬이 동일함을 의미합니다. 이 성질은 복잡한 행렬 연산을 단순화하는 데 유용하게 사용됩니다.

 

분배 법칙

행렬 곱셈은 또한 분배 법칙을 만족합니다. 즉, 행렬 AA, BB, CC에 대해 다음이 성립합니다:

A(B+C)=AB+AC A \cdot (B + C) = A \cdot B + A \cdot C
(B+C)A=BA+CA (B + C) \cdot A = B \cdot A + C \cdot A

이는 한 행렬을 다른 두 행렬의 합과 곱할 때, 각각을 따로 곱한 후 결과를 더하는 것과 같다는 것을 의미합니다.

 

교환 법칙의 불성립

행렬 곱셈에서는 교환 법칙이 일반적으로 성립하지 않습니다. 즉, 대부분의 경우 다음이 참입니다:

ABBA A \cdot B \neq B \cdot A

이는 행렬 AABB의 곱셈 결과가 BBAA를 곱한 결과와 다를 수 있음을 의미합니다. 때때로 교환 법칙이 성립하는 특별한 경우도 있지만, 그것은 예외적인 상황입니다.

 

응용 사례

 

컴퓨터 그래픽스

컴퓨터 그래픽스에서 행렬 곱셈은 객체의 회전, 크기 조정, 이동 등을 계산하는 데 핵심적으로 사용됩니다. 예를 들어, 3D 공간에서 객체를 회전시키기 위해 회전 행렬을 객체의 좌표에 적용하는 방식으로 작동합니다.

 

회귀 분석

통계학의 회귀분석은 독립변수의 행렬 XX와 종속변수의 행렬 YY의 관계를 다음과 같이 행렬의 곱셈 형태로 나타낼 수 있습니다.

Y=Xβ Y = X \cdot \beta
Previous
NumPy를 이용한 행렬 만들기 및 다루기