행렬 곱셈·덧셈 계산기 쉽게 이해하기 — 개념과 원리
두 행렬의 곱, 합, 차와 A의 전치행렬을 한 번에 구하는 계산기입니다. 행렬의 곱은 여러 선형 변환을 이어 붙일 때 늘 등장합니다. 컴퓨터 그래픽에서 회전과 확대를 합성할 때, 마르코프 연쇄에서 전이행렬을 두 번 적용할 때, 신경망의 층을 통과시킬 때가 대표적인 예입니다. 숫자는 공백으로, 행은 세미콜론(;)으로 구분해 입력합니다.
계산 방법
- 곱: (AB)ᵢⱼ = Σₖ Aᵢₖ·Bₖⱼ입니다. (i, j) 성분은 A의 i행과 B의 j열의 내적입니다. A의 열 수와 B의 행 수가 같아야 하며, m×n 행렬과 n×p 행렬을 곱하면 m×p 행렬이 됩니다.
- 합과 차: (A ± B)ᵢⱼ = Aᵢⱼ ± Bᵢⱼ로 같은 위치끼리 계산하므로 두 행렬의 크기가 같아야 합니다.
- 전치: (Aᵀ)ᵢⱼ = Aⱼᵢ로 행과 열을 바꿉니다.
크기가 맞지 않으면 결과 대신 "columns of A ≠ rows of B" 또는 "sizes differ"가 표시됩니다.
원리
행렬은 기저벡터를 어디로 보낼지 정한 선형사상입니다. AB는 "B를 먼저, 그다음 A를 적용한다"는 뜻입니다. AB의 j열은 B의 j열에 A를 적용한 결과이고, 중간 단계의 모든 경로 k를 거친 기여를 더하므로 k에 대한 합이 나타납니다. 적용 순서가 중요하기 때문에 결합법칙 (AB)C = A(BC)는 성립하지만 교환법칙은 일반적으로 성립하지 않습니다. 반면 덧셈은 두 사상의 출력을 그대로 더하는 것이라 성분별로 계산하고 교환법칙도 성립합니다.
예제 풀이
- 기본 입력: A = [1 2; 3 4], B = [5 6; 7 8]
- A의 1행과 B의 1열: 1×5 + 2×7 = 19, B의 2열: 1×6 + 2×8 = 22
- A의 2행: 3×5 + 4×7 = 43, 3×6 + 4×8 = 50이므로 A × B = [19 22; 43 50]입니다.
- 성분별 계산: A + B = [6 8; 10 12], A − B = [−4 −4; −4 −4]
- 전치행렬: Aᵀ = [1 3; 2 4]
결과 해석
먼저 결과의 크기가 m×p인지 확인합니다. det(AB) = det(A)·det(B)도 좋은 검산 방법입니다. 예제에서 det(A) = −2, det(B) = −2이고 det(AB) = 19×50 − 22×43 = 4로 일치합니다. 순서를 바꾼 BA는 [23 34; 31 46]으로 AB와 다르므로, 문제에서 어느 변환이 먼저 적용되는지 반드시 확인하십시오.
흔한 실수
- 같은 위치 성분끼리 곱하는 경우(이것은 아다마르 곱으로, 행렬의 곱이 아닙니다)
- AB = BA라고 가정하는 경우
- 입력할 때 행과 열을 바꿔 넣어 행렬이 전치되는 경우
자주 묻는 질문
2×3 행렬과 3×2 행렬을 곱할 수 있나요?
가능합니다. 안쪽 크기 3이 같으므로 결과는 2×2이고, 순서를 바꾸면 3×3 행렬이 됩니다.
행렬과 벡터는 어떻게 곱하나요?
벡터를 한 열짜리 행렬로 입력합니다. 예를 들어 "1; 2"를 B에 넣으면 2×1 열벡터가 됩니다.
(AB)ᵀ는 어떻게 되나요?
순서가 바뀌어 BᵀAᵀ가 됩니다.
출처: Gilbert Strang, Introduction to Linear Algebra, Wellesley-Cambridge Press · David C. Lay, Linear Algebra and Its Applications, Pearson