[공통수학1 시리즈 25편] 행렬의 곱셈

앞선 글에서는 행렬의 뜻, 성분, 덧셈, 뺄셈, 실수배를 정리했습니다. 그 계산들은 모두 같은 위치의 성분을 맞추는 방식이었습니다.

이번 글에서는 행렬의 곱셈을 다루겠습니다. 행렬의 곱셈은 같은 위치끼리 곱하는 계산이 아닙니다. 연립방정식의 계수와 미지수를 한꺼번에 계산할 수 있도록, 앞 행렬의 행과 뒤 행렬의 열을 대응시켜 곱한 뒤 더하는 계산입니다.

행렬곱은 앞 행렬의 행과 뒤 행렬의 열을 만나게 하는 계산이며, 곱하는 순서가 중요하다.

먼저 오늘의 흐름을 잡고 시작하겠습니다.

  • 행렬곱은 같은 위치끼리 곱하는 연산이 아니다.
  • 앞 행렬의 행과 뒤 행렬의 열을 대응시켜 곱한 뒤 더한다.
  • 행렬곱이 정의되려면 앞 행렬의 열의 수와 뒤 행렬의 행의 수가 같아야 한다.
  • (m×n)(m\times n) 행렬과 (n×p)(n\times p) 행렬의 곱은 (m×p)(m\times p) 행렬이다.
  • 행렬곱에서는 일반적으로 ABBAAB\ne BA이다.
  • 단위행렬은 행렬에서의 1 역할을 한다.

1. 행렬곱은 왜 같은 위치끼리 곱하지 않을까?

행렬의 덧셈은 같은 위치끼리 더했습니다. 그래서 처음에는 곱셈도 같은 위치끼리 곱할 것처럼 느껴질 수 있습니다. 하지만 행렬의 곱셈은 그렇게 정의하지 않습니다.

행렬은 여러 값을 한꺼번에 담은 표입니다. 특히 방정식의 계수처럼 서로 다른 값들이 한 줄에 모여 있을 때, 그 줄과 변수들을 한꺼번에 계산해야 할 때가 많습니다.

예를 들어

2x+3y2x+3y

는 계수 2,32,3과 변수 x,yx,y를 각각 곱해 더한 식입니다. 이것을 행렬 모양으로 보면

(23)(xy)=2x+3y\begin{pmatrix}2 & 3\end{pmatrix} \begin{pmatrix}x\\y\end{pmatrix} =2x+3y

처럼 쓸 수 있습니다.

즉 행렬곱은 “한 줄의 계수”와 “한 열의 값”을 대응시켜 하나의 값을 만드는 방식입니다. 이 생각이 행렬곱 전체의 기본입니다.

아래 학습 컴포넌트에서 행과 열의 대응, 곱셈 가능 조건, 순서가 바뀔 때의 차이를 먼저 눈으로 확인해 보세요.

행렬곱 행과 열 대응하기

대응되는 성분을 곱하고, 그 곱들을 더해 결과의 한 칸을 만드는 과정을 확인합니다.

행렬곱

곱하고 더하기

결과의 한 칸을 고르면, 해당 행과 열에서 같은 순서의 성분을 먼저 곱하고 그 결과를 더합니다.

\begin{pmatrix}1&2\\3&4\end{pmatrix}\begin{pmatrix}5&6\\7&8\end{pmatrix}=\begin{pmatrix}19&22\\43&50\end{pmatrix} (AB)_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}\quad(2\times2\text{ 예시})
A
1234
×
B
5678
AB
19224350
대응 성분 곱하기 1 1 × 5 = 5
대응 성분 곱하기 2 2 × 7 = 14
곱한 값 더하기 5 + 14 = 19
결과 성분: (1, 1) 1\cdot5+2\cdot7=5+14=19

위 예시들의 규칙을 이제 식으로 정리해 보겠습니다. 먼저 결과 행렬의 성분 하나가 어떻게 만들어지는지 봅니다.


2. 한 성분은 행과 열을 곱해서 더한다

다음 두 행렬을 봅시다.

A=(1234),B=(5678)A=\begin{pmatrix} 1 & 2\\ 3 & 4 \end{pmatrix},\qquad B=\begin{pmatrix} 5 & 6\\ 7 & 8 \end{pmatrix}

ABAB의 첫째 행, 첫째 열 성분을 구하려면

  • AA의 첫째 행 (1,2)(1,2),
  • BB의 첫째 열 (57)\begin{pmatrix}5\\7\end{pmatrix}

을 대응시킵니다.

따라서

15+27=191\cdot5+2\cdot7=19

입니다.

ABAB의 첫째 행, 둘째 열 성분은 AA의 첫째 행과 BB의 둘째 열을 대응시켜

16+28=221\cdot6+2\cdot8=22

입니다.

같은 방식으로 전체를 계산하면

AB=(15+2716+2835+4736+48)=(19224350)AB= \begin{pmatrix} 1\cdot5+2\cdot7 & 1\cdot6+2\cdot8\\ 3\cdot5+4\cdot7 & 3\cdot6+4\cdot8 \end{pmatrix} = \begin{pmatrix} 19 & 22\\ 43 & 50 \end{pmatrix}

입니다.


3. 행렬곱이 정의되는 조건

행렬곱이 항상 가능한 것은 아닙니다. 앞 행렬의 행에 들어 있는 성분 개수와 뒤 행렬의 열에 들어 있는 성분 개수가 같아야 서로 짝을 지어 곱한 뒤 더할 수 있습니다.

따라서 앞 행렬의 열의 수와 뒤 행렬의 행의 수가 같아야 합니다.

(m×n) 행렬×(n×p) 행렬(m\times n)\text{ 행렬}\times(n\times p)\text{ 행렬}

은 곱할 수 있고, 결과는

(m×p) 행렬(m\times p)\text{ 행렬}

입니다.

가운데에 있는 nn이 서로 같아야 곱셈이 가능하고, 바깥쪽의 m,pm,p가 결과 행렬의 크기를 정합니다.

예를 들어

(2×3) 행렬×(3×2) 행렬(2\times3)\text{ 행렬}\times(3\times2)\text{ 행렬}

은 곱할 수 있고 결과는 2×22\times2 행렬입니다. 하지만

(2×3) 행렬×(2×2) 행렬(2\times3)\text{ 행렬}\times(2\times2)\text{ 행렬}

은 곱할 수 없습니다. 앞 행렬의 열의 수 3과 뒤 행렬의 행의 수 2가 맞지 않기 때문입니다.


4. 직사각형 행렬의 곱셈 예시

다음 곱을 계산해 보겠습니다.

A=(102131),B=(210143)A=\begin{pmatrix} 1 & 0 & 2\\ -1 & 3 & 1 \end{pmatrix},\qquad B=\begin{pmatrix} 2 & 1\\ 0 & -1\\ 4 & 3 \end{pmatrix}

AA2×32\times3 행렬이고, BB3×23\times2 행렬입니다. 따라서 ABAB2×22\times2 행렬입니다.

각 성분을 계산하면

AB=(12+00+2411+0(1)+23(1)2+30+14(1)1+3(1)+13)AB= \begin{pmatrix} 1\cdot2+0\cdot0+2\cdot4 & 1\cdot1+0\cdot(-1)+2\cdot3\\ (-1)\cdot2+3\cdot0+1\cdot4 & (-1)\cdot1+3\cdot(-1)+1\cdot3 \end{pmatrix}

입니다. 따라서

AB=(10721)AB= \begin{pmatrix} 10 & 7\\ 2 & -1 \end{pmatrix}

입니다.

이 예시에서 볼 수 있듯이 행렬곱은 계산량이 조금 많습니다. 그래서 먼저 결과 행렬의 크기를 정해 놓고, 각 위치의 성분을 하나씩 채우는 방식으로 계산하는 것이 좋습니다.


5. 행렬곱에서는 순서가 중요하다

수에서는 보통

ab=baab=ba

입니다. 하지만 행렬에서는 일반적으로

ABBAAB\ne BA

입니다.

예를 들어

A=(1201),B=(1031)A=\begin{pmatrix} 1 & 2\\ 0 & 1 \end{pmatrix},\qquad B=\begin{pmatrix} 1 & 0\\ 3 & 1 \end{pmatrix}

라고 합시다.

먼저 ABAB를 계산하면

AB=(7231)AB= \begin{pmatrix} 7 & 2\\ 3 & 1 \end{pmatrix}

입니다. 반대로 BABA를 계산하면

BA=(1237)BA= \begin{pmatrix} 1 & 2\\ 3 & 7 \end{pmatrix}

입니다. 따라서

ABBAAB\ne BA

입니다.

행렬에서는 곱하는 순서가 계산 결과를 바꿀 수 있습니다. 또 어떤 경우에는 ABAB는 정의되지만 BABA는 정의되지 않을 수도 있습니다. 따라서 행렬곱을 다룰 때는 순서를 그대로 유지해야 합니다.


6. 단위행렬은 곱해도 바꾸지 않는 행렬이다

수에서 1은 곱해도 값을 바꾸지 않습니다.

1a=a,a1=a1\cdot a=a,\qquad a\cdot1=a

행렬에도 1과 비슷한 역할을 하는 행렬이 있습니다. 이를 단위행렬이라고 합니다.

2×22\times2 단위행렬은

I=(1001)I=\begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix}

입니다.

예를 들어

A=(2314)A=\begin{pmatrix} 2 & 3\\ 1 & 4 \end{pmatrix}

이면

AI=A,IA=AAI=A,\qquad IA=A

입니다.

직접 확인해 보면

AI=(2314)(1001)=(2314)AI= \begin{pmatrix} 2 & 3\\ 1 & 4 \end{pmatrix} \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 2 & 3\\ 1 & 4 \end{pmatrix}

입니다.

단위행렬은 대각선에는 1이 있고 나머지 성분은 0인 정사각행렬입니다. 다음 글에서 역행렬을 이야기할 때 이 단위행렬이 중요한 기준이 됩니다.


7. 자주 하는 실수

7-1. 같은 위치끼리 곱한다

행렬곱은 같은 위치끼리 곱하는 연산이 아닙니다. 앞 행렬의 행과 뒤 행렬의 열을 대응시켜 곱하고 더합니다.

7-2. 곱셈 가능 조건을 확인하지 않는다

AAm×nm\times n 행렬이고 BBp×qp\times q 행렬일 때, ABAB가 정의되려면 n=pn=p이어야 합니다.

7-3. 순서를 마음대로 바꾼다

행렬곱에서는 일반적으로 ABBAAB\ne BA입니다. 계산 중에 순서를 바꾸면 다른 식이 됩니다.


8. 연습 문제

아래 점검 퀴즈에서 행렬곱의 조건, 행과 열의 대응, 순서의 중요성을 확인해 보세요.

25장 점검 문제

행렬곱의 조건, 행과 열의 대응, 순서의 중요성을 확인합니다.

QUIZ
문제 1 / 10 풀이 완료 0 / 10
풀이 진행 0 / 10 0%
현재 문제 정답 오답 미풀이
문제 1 5지선다 미풀이
[쉬움] 행렬곱의 한 성분을 구할 때 사용하는 방식은?
현재 점수 0점 · 정답 수 0/10

9. 핵심 정리

  • 행렬곱은 같은 위치끼리 곱하는 계산이 아니다.
  • 앞 행렬의 행과 뒤 행렬의 열을 대응시켜 곱한 뒤 더한다.
  • (m×n)(m\times n) 행렬과 (n×p)(n\times p) 행렬의 곱은 정의되고, 결과는 (m×p)(m\times p) 행렬이다.
  • 행렬곱에서는 일반적으로 ABBAAB\ne BA이다.
  • 단위행렬은 행렬에서의 1 역할을 한다.

다음 글에서는 행렬의 “나눗셈에 가까운 역할”을 하는 역행렬을 다루겠습니다. 역행렬을 구하는 과정과 케일리-해밀턴 정리는 공통수학1 기본 범위를 넘어서는 심화 내용으로 따로 정리하겠습니다.

한 줄 결론:

행렬곱은 행과 열을 대응시키는 계산이므로, 곱할 수 있는 크기와 곱하는 순서를 반드시 확인해야 합니다.

💬 댓글

이 글에 대한 의견을 남겨주세요