행렬곱이란?
우선 행렬은 숫자(꼭 숫자가 아닐 수도 있음)들이 행(가로)과 열(세로)로 배열된 구조다. 간단한 예를 들어, 두 학생의 국어와 수학 점수를 행렬로 나타내면 다음과 같다.

첫 번째 행은 학생 A의 점수 (국어 80, 수학 90)을,
두 번째 행은 학생 B의 점수 (국어 70, 수학 60)을 의미한다.
행렬곱의 기본 원리와 조건
행렬곱을 수행하려면 두 행렬의 크기가 호환되어야 한다. 구체적으로, 첫 번째 행렬(행렬 A)의 열 개수가 두 번째 행렬(행렬 B)의 행 개수와 같아야 한다.
- A가 m×n (m행 n열)이라면,
- B는 n×p (n행 p열)이어야 한다.
- 크기 규칙: AxB 행렬곱의 결과로 생성된 행렬의 크기는 m×p가 된다.
이는 행렬곱이 첫 번째 행렬의 각 행과 두 번째 행렬의 각 열을 짝지어 계산하는 방식이기 때문이다. 즉, A의 열 개수와 B의 행 개수만 일치하면 A의 행 개수와 B의 열 개수가 달라도 곱셈이 가능하다.
이 과정을 수학적으로 “내적(dot product, inner product)”이라고 부르기도 한다.
행렬곱 계산 방법
구체적인 예시를 가지고 행렬곱의 계산 과정을 살펴보자. 다음 두 행렬을 곱한다고 하면,

- A는 2×3 행렬(2행 3열), B는 3×2 행렬(3행 2열)이다.
- A의 열 개수(3)와 B의 행 개수(3)가 일치하므로 곱셈이 가능하다.
- 계산 결과 행렬의 크기는 A의 행 개수(2) × B의 열 개수(2) = 2×2가 된다.
계산 과정
A의 행과 B의 열을 순차적으로 결합해서 결과 행렬의 각 원소를 얻어낸다.
A x B = C 라고 할 때,

C11 :

- A의 1행 [1 2 3]과 B의 1열 [4 6 8]을 결합
- 계산: (1x4) + (2x6) + (3x8) = 4 + 12 + 24 = 40
C12:

- A의 1행 [1 2 3]과 B의 2열 [5 7 9]을 결합
- 계산: (1x5) + (2x7) + (3x9) = 5 + 14 + 27 = 46
C21:

- A의 2행 [6 7 8]과 B의 1열 [4 6 8]을 결합
- 계산: (6x4) + (7x6) + (8x8) = 24 + 42 + 64 = 130
C22:

- A의 2행 [6 7 8]과 B의 2열 [5 7 9]을 결합
- 계산: (6x5) + (7x7) + (8x9) = 30 + 49 + 72 = 151
따라서 A와 B의 행렬곱 C는 다음과 같다.

행렬곱의 비가환성 (Non-commutative)
행렬곱은 순서가 중요하다. A×B 와 는 결과가 다를 수 있고, 경우에 따라 곱셈 자체가 불가능할 수 있다. 예를 들어, A가 (4x2), B가 (2x3) 크기의 행렬이라면 A의 열의 수가 2, B의 행의 수가 2로 일치하여 AxB 곱은 가능하지만, 반대 BxA의 곱은 B의 열의 수가 3, A의 행의 수가 4로 일치하지 않아 계산을 할 수 없다.
행렬곱의 응용 예시
그래픽 좌표 변환
행렬곱은 컴퓨터 그래픽에서 객체의 위치나 모양을 변환하는 데 사용된다.
다음의 2D 펭귄 캐릭터를 반시계방향으로 90도 회전시키는 상황을 예로 들어보자.

펭귄의 좌표가 [x,y]로 주어졌다고 할 때, 이를 행렬로 표현하면:
- 좌표 행렬 = [x y]
-
반시계 방향으로 90도 회전시키는 회전 행렬은 다음과 같다.

행렬곱을 수행하면:
- 새로운 좌표 = [x y] × [0 −1] = [ (x×0)+(y×1), (x×−1)+(y×0) ] = [y −x]


결과적으로 [x,y]가 [로 변환되어 펭귄이 반시계 방향 90도 회전한다.
이 방식은 3D 그래픽에서도 확장되어 객체의 이동, 회전, 크기 조정을 처리하며, 영화 CGI나 게임 엔진에서 필수적인 연산이다.
'Journey to CS > KNOU CS' 카테고리의 다른 글
| [운영체제] 병행 프로세스 - 세마포어 완벽 정리 Part 3 - 판독기-기록기 문제 (0) | 2025.03.19 |
|---|---|
| [운영체제] 병행 프로세스 - 세마포어 완벽 정리 Part 2 - 생산자-소비자 문제 (0) | 2025.03.18 |
| [운영체제] 병행 프로세스 - 세마포어 완벽 정리 Part 1 - 상호배제, 동기화 (feat. 비행기 화장실) (1) | 2025.03.12 |
| [이산수학] 조합이론 - Part 1. 순열과 조합의 차이 (feat. 팩토리얼) (2) | 2025.03.05 |
| 방송통신대학교 컴퓨터과학과 OT 후기 (4) | 2025.02.21 |