행렬 곱셈 (matrix multiplication )은 두 개의 행렬 에서 한 개의 행렬을 만들어내는 이항연산 이다. 이 때 첫째 행렬의 열 개수와 둘째 행렬의 행 개수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 행렬곱 (matrix product)라 하며, 첫째 행렬의 행 개수와 둘째 행렬의 열 개수를 가진다. 행렬
A
{\displaystyle A}
와
B
{\displaystyle B}
의 곱은 간단히
A
B
{\displaystyle AB}
로 나타낸다.[1] [2]
행렬 곱셈을 위해선 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 첫째 행렬의 행 갯수와 둘째 행렬의 열 갯수를 가진다.
벡터의 선형결합 또는 선형사상 의 합성 등의 의미를 부여할 수 있다.
행렬 곱셈은 1812년 프랑스의 수학자 자크 비네 가 선형 변환 의 합성 을 표현하고자 처음으로 사용하였다.[3] 이후 행렬 곱셈은 선형대수학 의 기초가 되어 수학 , 통계학 , 물리학 , 경제학 , 공학 , 컴퓨터 프로그래밍 등의 분야에서 다양하게 응용되고 있다.[4] [5]
이 문서에서는 행렬을 굵은 대문자로(A ), 벡터 를 굵은 소문자로(a ), 벡터와 행렬의 성분, 또는 요소로 번역되는 entry는 기울임체로(A , a ) 표기한다. 첨자표기법 은 가장 일반적인 방식을 따라 행렬 A 의 i 열 j 행 성분은 (A )ij , A ij , a ij 등으로 표시한다. 반면 행렬 성분의 집합은 A 1 , A 2 등으로 표시한다.
행렬 곱하기 행렬
A , B 를 각각 m × n , n × p 행렬이라고 하자.
A
=
(
a
11
a
12
⋯
a
1
n
a
21
a
22
⋯
a
2
n
⋮
⋮
⋱
⋮
a
m
1
a
m
2
⋯
a
m
n
)
,
B
=
(
b
11
b
12
⋯
b
1
p
b
21
b
22
⋯
b
2
p
⋮
⋮
⋱
⋮
b
n
1
b
n
2
⋯
b
n
p
)
{\displaystyle \mathbf {A} ={\begin{pmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{m1}&a_{m2}&\cdots &a_{mn}\\\end{pmatrix}},\quad \mathbf {B} ={\begin{pmatrix}b_{11}&b_{12}&\cdots &b_{1p}\\b_{21}&b_{22}&\cdots &b_{2p}\\\vdots &\vdots &\ddots &\vdots \\b_{n1}&b_{n2}&\cdots &b_{np}\\\end{pmatrix}}}
행렬곱 C = AB 은 다음의 m × p 행렬로 정의된다. 단 이때, 곱셈 기호는 따로 쓰지 않는다.[6] [7] [8] [9]
C
=
(
c
11
c
12
⋯
c
1
p
c
21
c
22
⋯
c
2
p
⋮
⋮
⋱
⋮
c
m
1
c
m
2
⋯
c
m
p
)
{\displaystyle \mathbf {C} ={\begin{pmatrix}c_{11}&c_{12}&\cdots &c_{1p}\\c_{21}&c_{22}&\cdots &c_{2p}\\\vdots &\vdots &\ddots &\vdots \\c_{m1}&c_{m2}&\cdots &c_{mp}\\\end{pmatrix}}}
이 때 i = 1, ..., m , j = 1, ..., p 에 대해 C 의 성분은 다음과 같이 정의된다.
c
i
j
=
a
i
1
b
1
j
+
a
i
2
b
2
j
+
⋯
+
a
i
n
b
n
j
=
∑
k
=
1
n
a
i
k
b
k
j
,
{\displaystyle c_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots +a_{in}b_{nj}=\sum _{k=1}^{n}a_{ik}b_{kj},}
이는 곧 A 의 i 번째 행과 B 의 j 번째 열의 성분들을 각각 곱해 더한 것과 같은데, 달리 말하면 A 의 i 번째 행과 B 의 j 번째 열의 스칼라곱 인 것이다.[10]
그런고로 AB 는 다음과 같이 쓸 수도 있다.
C
=
(
a
11
b
11
+
⋯
+
a
1
n
b
n
1
a
11
b
12
+
⋯
+
a
1
n
b
n
2
⋯
a
11
b
1
p
+
⋯
+
a
1
n
b
n
p
a
21
b
11
+
⋯
+
a
2
n
b
n
1
a
21
b
12
+
⋯
+
a
2
n
b
n
2
⋯
a
21
b
1
p
+
⋯
+
a
2
n
b
n
p
⋮
⋮
⋱
⋮
a
m
1
b
11
+
⋯
+
a
m
n
b
n
1
a
m
1
b
12
+
⋯
+
a
m
n
b
n
2
⋯
a
m
1
b
1
p
+
⋯
+
a
m
n
b
n
p
)
{\displaystyle \mathbf {C} ={\begin{pmatrix}a_{11}b_{11}+\cdots +a_{1n}b_{n1}&a_{11}b_{12}+\cdots +a_{1n}b_{n2}&\cdots &a_{11}b_{1p}+\cdots +a_{1n}b_{np}\\a_{21}b_{11}+\cdots +a_{2n}b_{n1}&a_{21}b_{12}+\cdots +a_{2n}b_{n2}&\cdots &a_{21}b_{1p}+\cdots +a_{2n}b_{np}\\\vdots &\vdots &\ddots &\vdots \\a_{m1}b_{11}+\cdots +a_{mn}b_{n1}&a_{m1}b_{12}+\cdots +a_{mn}b_{n2}&\cdots &a_{m1}b_{1p}+\cdots +a_{mn}b_{np}\\\end{pmatrix}}}
이러한 이유로 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야 행렬곱이 정의될 수 있는 것이다.[11]
대부분의 경우 행렬의 성분은 숫자이지만, 덧셈 과 곱셈 이 정의되고, 곱셈의 결합법칙 과 덧셈의 교환법칙 이 성립하여 곱셈의 분배법칙 이 성립하게 되는 다른 수학적 대상 들도 성분이 될 수 있다. 가장 대표적인 예시로 성분이 행렬인 블록 행렬 을 생각할 수 있다.
도해
첫째 행렬의 행과 둘째 행렬의 열이 만나 행렬곱의 성분이 형성된다.
오른쪽 그림은 두 행렬 A 와 B 의 곱을 도표로 나타낸 것으로, 곱 행렬의 각 교집합이 A 의 행과 B 의 열에 어떻게 해당하는지 보여준다.
[
a
11
a
12
⋅
⋅
a
31
a
32
⋅
⋅
]
4
×
2
matrix
[
⋅
b
12
b
13
⋅
b
22
b
23
]
2
×
3
matrix
=
[
⋅
c
12
⋅
⋅
⋅
⋅
⋅
⋅
c
33
⋅
⋅
⋅
]
4
×
3
matrix
{\displaystyle {\overset {4\times 2{\text{ matrix}}}{\begin{bmatrix}a_{11}&a_{12}\\\cdot &\cdot \\a_{31}&a_{32}\\\cdot &\cdot \\\end{bmatrix}}}{\overset {2\times 3{\text{ matrix}}}{\begin{bmatrix}\cdot &b_{12}&b_{13}\\\cdot &b_{22}&b_{23}\\\end{bmatrix}}}={\overset {4\times 3{\text{ matrix}}}{\begin{bmatrix}\cdot &c_{12}&\cdot \\\cdot &\cdot &\cdot \\\cdot &\cdot &c_{33}\\\cdot &\cdot &\cdot \\\end{bmatrix}}}}
오른쪽 그림에서 원으로 표시된 교차점의 값은 다음과 같다:
c
12
=
a
11
b
12
+
a
12
b
22
c
33
=
a
31
b
13
+
a
32
b
23
.
{\displaystyle {\begin{aligned}c_{12}&=a_{11}b_{12}+a_{12}b_{22}\\c_{33}&=a_{31}b_{13}+a_{32}b_{23}.\end{aligned}}}
선형대수학 적 계산을 행렬 곱셈을 통해 더욱 간단하게 할 수 있는데, 물리학 , 공학 , 컴퓨터 과학 분야에서 특히 빛을 발한다.
연립 일차 방정식
연립 일차 방정식 의 일반항은 다음과 같이 쓸 수 있다.
a
11
x
1
+
⋯
+
a
1
n
x
n
=
b
1
a
21
x
1
+
⋯
+
a
2
n
x
n
=
b
2
⋮
a
m
1
x
1
+
⋯
+
a
m
n
x
n
=
b
m
{\displaystyle {\begin{matrix}a_{11}x_{1}+\cdots +a_{1n}x_{n}=b_{1}\\a_{21}x_{1}+\cdots +a_{2n}x_{n}=b_{2}\\\vdots \\a_{m1}x_{1}+\cdots +a_{mn}x_{n}=b_{m}\end{matrix}}}
위의 여러 방정식들을 행렬을 사용하면 다음과 같이 방정식 한 개로 간단히 나타낼 수 있다.
A
x
=
b
{\displaystyle \mathbf {Ax} =\mathbf {b} }
행렬 곱셈은 일반적인 산술적 곱셈 과 비슷한 성질을 가지지만, 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일할 때에만 정의된다는 특징이 있다. 또한 행렬 곱셈이 정의될 때에도 교환법칙 이 항상 성립하는 것은 아니라는 점에서 차이가 있다.[12] [13] [14]
A
B
≠
B
A
{\displaystyle {AB}\neq {BA}}
하지만 특수한 조건을 만족하는 경우에는 교환법칙이 성립한다. 다음과 같은 조건을 만족할 때 행과 열의 개수가 같은 정사각행렬 A와 B에 대해 곱셈의 교환법칙이 성립한다.
A
+
B
=
A
B
{\displaystyle A+B=AB}
이면,
A
B
=
B
A
{\displaystyle AB=BA}
이다.
행렬 곱셈은 결합법칙 이 성립한다:
(
A
B
)
C
=
A
(
B
C
)
{\displaystyle (\mathbf {AB} )\mathbf {C} =\mathbf {A} (\mathbf {BC} )}
[증명 1]
증명주
각각 m × n , n × p , p × q 행렬이라고 하자. 곱은 결합 방식에 상관없이 m × q 행렬이며,
(
(
A
B
)
C
)
i
j
=
∑
r
=
1
p
(
∑
s
=
1
n
A
i
s
B
s
r
)
C
r
j
=
∑
s
=
1
n
A
i
s
(
∑
r
=
1
p
B
s
r
C
r
j
)
=
(
A
(
B
C
)
)
i
j
{\displaystyle \scriptstyle ((\mathbf {AB} )\mathbf {C} )_{ij}=\sum _{r=1}^{p}\left(\sum _{s=1}^{n}A_{is}B_{sr}\right)C_{rj}=\sum _{s=1}^{n}A_{is}\left(\sum _{r=1}^{p}B_{sr}C_{rj}\right)=(A(BC))_{ij}}
참조주
Lerner, R. G.; Trigg, G. L. (1991). 《 Encyclopaedia of Physics》 2판. VHC publishers. ISBN 978-3-527-26954-9 .
Lipschutz, S.; Lipson, M. (2009). 《 Linear Algebra》 . Schaum's Outlines 4판. McGraw Hill (USA). 30–31쪽. ISBN 978-0-07-154352-1 .
Adams, R. A. (1995). 《 Calculus, A Complete Course》 3판. Addison Wesley. 627쪽. ISBN 0-201-82823-5 .
Lipcshutz, S.; Lipson, M. (2009). 〈 2〉 . 《 Linear Algebra》 . Schaum's Outlines 4판. McGraw Hill (USA). ISBN 978-0-07-154352-1 .