들어가며

행렬 곱셈을 처음 배울 때 이런 의문이 생깁니다.

"왜 행렬을 곱할 때 첫 번째 행렬의 과 두 번째 행렬의 을 꺼내 점곱하는 거지? 원소끼리 그냥 곱하면 안 되나?"

결론부터 말하면 — 행렬은 공간 변환(이동·회전·늘리기)이고, 두 변환을 차례로 적용한 결과를 하나의 변환으로 합친 것이 행렬 곱셈이기 때문입니다. "행 × 열" 계산 규칙은 이 합성을 정확히 표현하기 위한 필연적인 모양입니다.

행렬은 변환이다

2×2 행렬

$$A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$$

을 벡터 \(\mathbf{v} = (x, y)\)에 곱하면:

$$A\mathbf{v} = \begin{pmatrix} ax + by \\ cx + dy \end{pmatrix}$$

이 연산은 평면 위의 모든 점 \((x, y)\)를 새 위치 \((ax+by,\; cx+dy)\)로 옮기는 변환입니다. 예를 들어:

행렬변환 내용
\(\begin{pmatrix}2&0\\0&2\end{pmatrix}\)원점 기준 2배 확대
\(\begin{pmatrix}0&-1\\1&0\end{pmatrix}\)반시계 방향 90° 회전
\(\begin{pmatrix}1&0\\0&-1\end{pmatrix}\)x축 대칭 반사

행렬의 두 열 \((a,c)\)와 \((b,d)\)는 각각 표준 기저벡터 \(\mathbf{e}_1=(1,0)\)과 \(\mathbf{e}_2=(0,1)\)이 어디로 이동하는지를 나타냅니다. 기저벡터 두 개의 행선지를 알면 나머지 모든 점의 행선지가 정해집니다 — 선형이기 때문입니다.

두 변환을 이어 적용하면?

이번에는 변환 A를 먼저 적용하고, 그 결과에 변환 B를 이어 적용한다고 합시다.

$$\mathbf{v} \xrightarrow{A} A\mathbf{v} \xrightarrow{B} B(A\mathbf{v})$$

수식을 정리하면:

$$B(A\mathbf{v}) = (BA)\mathbf{v}$$

괄호를 붙이는 순서가 바뀌어도 결과는 같습니다(행렬 곱의 결합법칙). 즉, "A 적용 후 B 적용"은 합성 행렬 \(BA\)를 한 번 적용하는 것과 완전히 같습니다.

합성 행렬의 원소는 어디서 오나

\(BA\)의 (1행 1열) 원소를 직접 구해 봅시다. \(A\)의 1열 \((a_{11}, a_{21})\)에 \(B\)를 적용하면 새 1열이 나옵니다.

$$B\begin{pmatrix}a_{11}\\a_{21}\end{pmatrix} = \begin{pmatrix}b_{11}a_{11}+b_{12}a_{21}\\ b_{21}a_{11}+b_{22}a_{21}\end{pmatrix}$$

이것이 바로 \(B\)의 각 행과 \(A\)의 열을 점곱하는 규칙입니다. "이상한" 계산법이 아니라, A가 기저벡터를 옮기고 B가 그 결과를 또 옮기는 과정을 한 번에 압축한 결과입니다.

일반 공식으로 쓰면:

$$(BA)_{ij} = \sum_{k} b_{ik}\, a_{kj}$$

이 합계 하나하나가 "A의 j번째 기저벡터 행선지를 B가 어디로 보내는가"를 계산하고 있습니다.

구체적 예 — 2배 확대 후 90° 회전

$$A = \begin{pmatrix}2&0\\0&2\end{pmatrix}, \quad B = \begin{pmatrix}0&-1\\1&0\end{pmatrix}$$

\(BA\) 계산:

$$BA = \begin{pmatrix}0\cdot2+(-1)\cdot0 & 0\cdot0+(-1)\cdot2 \\ 1\cdot2+0\cdot0 & 1\cdot0+0\cdot2\end{pmatrix} = \begin{pmatrix}0&-2\\2&0\end{pmatrix}$$

검증: 점 \((1, 0)\)에 적용하면 \((0,2)\). 즉, x 방향 단위벡터가 2배 늘어나면서 90° 돌아 y방향으로 올라갑니다.

  • A 먼저: \((1,0) \to (2, 0)\)
  • B 이어서: \((2,0) \to (0, 2)\)
  • BA 한 번: \((1,0) \to (0, 2)\) ← 동일

순서가 바뀌면?

$$AB = \begin{pmatrix}0&-2\\2&0\end{pmatrix}$$

이 경우는 우연히 \(BA = AB\)이지만, 아래 프리셋 "x축 반사 → 45° 회전"처럼 일반적으로 \(AB \neq BA\)입니다. 변환의 순서가 결과를 바꾸기 때문입니다 — 옷을 입고 나서 샤워하는 것과 샤워하고 나서 옷을 입는 것이 다른 것과 같습니다.

직접 체험하기

아래 인터랙티브에서 프리셋을 선택하면 세 단계가 나란히 보입니다.

  • 왼쪽(파랑): 원래 단위 정사각형
  • 가운데(주황): A 변환 적용 후
  • 오른쪽(보라): B 변환까지 적용 후 → 이것이 합성 행렬 BA를 한 번 적용한 것과 같습니다
행렬 곱셈 — 변환의 합성
프리셋을 바꾸면 A·B·BA 행렬과 도형 변화가 함께 갱신됩니다. 가운데 도형에 B를 한 번 더 적용하면 오른쪽 도형이 되고, 이는 BA를 원래 도형에 바로 적용한 것과 같습니다.

"2배 확대 → 90° 회전"과 "90° 회전 → 2배 확대"를 번갈아 눌러 보면 BA가 서로 같게 나옵니다 — 2배 확대(2I)는 어떤 변환과도 순서를 바꿀 수 있는 특수한 경우이기 때문입니다. 반면 "x축 반사 → 45° 회전"이나 "x방향 늘리기 → 기울이기"처럼 회전·반사·기울이기가 섞이면, A만 적용한 가운데 도형과 BA를 적용한 오른쪽 도형이 확연히 달라집니다 — 순서를 바꾸면 결과가 달라지는, 일반적인 BA ≠ AB의 경우죠.

핵심 정리

질문
행렬이란?공간 변환 — 벡터를 새 위치로 옮기는 함수
왜 행 × 열인가?A 변환 후 B 변환을 합치면 자연스럽게 그 계산이 나옴
BA의 의미는?A를 먼저 적용하고 B를 이어 적용한 합성 변환
AB ≠ BA인 이유는?변환 순서가 결과를 바꾸기 때문
열 벡터의 의미는?기저벡터 e₁, e₂가 변환 후 어디로 가는지

AI로 이런 걸 공부할 때

행렬 계산 자체는 AI가 빠르게 처리합니다. 왜 그렇게 계산되는지 물어보면 좋습니다.

유용한 질문 예시:

  • "회전 행렬과 반사 행렬을 곱하면 어떤 변환이 되나? 순서를 바꾸면 달라지나?"
  • "3×3 행렬을 2×3 행렬에 곱할 수 있는 조건은 뭐야? 왜 그 조건인가?"
  • "단위 행렬 I를 곱하면 변환이 없는 이유를 설명해줘."

마치며

행렬 곱셈의 "행 × 열" 규칙은 임의로 정해진 것이 아닙니다. 두 변환을 차례로 적용하면 자동으로 그 계산이 나옵니다. 행렬을 수의 배열이 아니라 공간 변환으로 보는 순간, 곱셈 규칙이 왜 그 모양인지, 왜 순서를 바꾸면 달라지는지가 한꺼번에 이해됩니다.

함께 보면 좋은 글 — 먼저 읽으면 좋은 글: 크라메르 공식은 왜 그 모양일까 → 이어서: 행렬식은 왜 '넓이/부피'인가 (곧 공개) · 직접 계산해 보기: Wolfram Alpha · Desmos 행렬 계산기