행렬 곱셈

행렬 곱셈을 위해선 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 첫째 행렬의 행 갯수와 둘째 행렬의 열 갯수를 가진다. **행렬 곱셈**(matrix multiplication)은 두 개의 행렬에서 한 개의 행렬을 만들어내는 이항연산이다. 이 때 첫째 행렬의 열 개수와 둘째 행렬의 행 개수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 **행렬곱**(matrix product)라 하며, 첫째 행렬의 행 개수와 둘째 행렬의 열 개수를 가진다. 행렬 A와 B의 곱은 간단히 AB로 나타낸다.access-date=2020-09-06access-date=September 6, 2020 벡터의 선형결합 또는 선형사상의 합성 등의 의미를 부여할 수 있다. 행렬 곱셈은 1812년 프랑스의 수학자 자크 비네가 선형 변환의 합성을 표현하고자 처음으로 사용하였다.title=Jacques Philippe Marie Binet 이후 행렬 곱셈은 선형대수학의 기초가 되어 수학, 통계학, 물리학, 경제학, 공학, 컴퓨터 프로그래밍 등의 분야에서 다양하게 응용되고 있다.isbn=978-3-527-26954-9url-access=registration
# 표기
이 문서에서는 행렬을 굵은 대문자로(**A**), 벡터를 굵은 소문자로(**a**), 벡터와 행렬의 성분, 또는 요소로 번역되는 entry는 기울임체로(*A*, *a*) 표기한다. 첨자표기법은 가장 일반적인 방식을 따라 행렬 **A**의 *i*열 *j*행 성분은 (**A**)*ij*, *A**'ij*, *a**'ij* 등으로 표시한다. 반면 행렬 성분의 집합은 **A**1, **A**2 등으로 표시한다.
# 정의

## 행렬 곱하기 행렬
**A**, **B**를 각각 *m* × *n*, *n* × *p* 행렬이라고 하자. : \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} 행렬곱 1=**C** = **AB**은 다음의 *m* × *p* 행렬로 정의된다. 단 이때, 곱셈 기호는 따로 쓰지 않는다.isbn=978-0-07-154352-1url-access=registrationisbn=0-201-82823-5isbn=978-0-521-54823-6 : \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} 이 때 1=*i* = 1, ..., *m*, 1=*j* = 1, ..., *p*에 대해 **C**의 성분은 다음과 같이 정의된다. : 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번째 열의 스칼라곱인 것이다.access-date=2020-09-06 그런고로 **AB**는 다음과 같이 쓸 수도 있다. : \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} 이러한 이유로 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야 행렬곱이 정의될 수 있는 것이다.access-date=September 6, 2020 대부분의 경우 행렬의 성분은 숫자이지만, 덧셈과 곱셈이 정의되고, 곱셈의 결합법칙과 덧셈의 교환법칙이 성립하여 곱셈의 분배법칙이 성립하게 되는 다른 수학적 대상들도 성분이 될 수 있다. 가장 대표적인 예시로 성분이 행렬인 블록 행렬을 생각할 수 있다.
## 도해
첫째 행렬의 행과 둘째 행렬의 열이 만나 행렬곱의 성분이 형성된다. 오른쪽 그림은 두 행렬 **A**와 **B**의 곱을 도표로 나타낸 것으로, 곱 행렬의 각 교집합이 **A**의 행과 **B**의 열에 어떻게 해당하는지 보여준다. \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 오른쪽 그림에서 원으로 표시된 교차점의 값은 다음과 같다: \begin{align} c_{12} & = a_{11} b_{12} + a_{12} b_{22} \\\ c_{33} & = a_{31} b_{13} + a_{32} b_{23} . \end{align}
# 응용 범위
선형대수학적 계산을 행렬 곱셈을 통해 더욱 간단하게 할 수 있는데, 물리학, 공학, 컴퓨터 과학 분야에서 특히 빛을 발한다.
## 선형 변환
*n*차원 열 벡터 : \mathbf x=\begin{pmatrix}x_1 \\\ x_2 \\\ \vdots \\\ x_n\end{pmatrix} 를 *n*차원 선형 변환 한 것을 : \mathbf y= A(\mathbf x)= \begin{pmatrix}a_{11}x_1+\cdots + a_{1n}x_n\\\ a_{21}x_1+\cdots + a_{2n}x_n \\\ \vdots \\\ a_{m1}x_1+\cdots + a_{mn}x_n\end{pmatrix} 라 하자. 이 때 선형 변환 *A*는 자연스레 다음과 같은 행렬로 정의할 수 있다. :: \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} 이제 행렬을 사용해 선형변환을 표현하면 다음과 같이 나타낼 수 있다. : \mathbf y = \mathbf {Ax} m차원 벡터 공간을 p차원 벡터 공간으로 변환하는 선형 변환 B 역시 p\times m 행렬 \mathbf B로 나타낼 수 있다. 이 두 변환을 합성한 결과인 B\circ A도 행렬곱인 \mathbf {BA}로 나타낼 수 있다. 행렬 곱셈에서의 결합법칙은 2=결합법칙에서 다룰 것이다.
## 연립 일차 방정식
연립 일차 방정식의 일반항은 다음과 같이 쓸 수 있다. : \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} 위의 여러 방정식들을 행렬을 사용하면 다음과 같이 방정식 한 개로 간단히 나타낼 수 있다. :\mathbf{Ax}=\mathbf b
# 성질
행렬 곱셈은 일반적인 산술적 곱셈과 비슷한 성질을 가지지만, 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일할 때에만 정의된다는 특징이 있다. 또한 행렬 곱셈이 정의될 때에도 교환법칙이 항상 성립하는 것은 아니라는 점에서 차이가 있다.access-date=2020-09-06isbn=978-0-07-154352-1isbn=978-0-521-54823-6 {AB} \neq {BA} 하지만 특수한 조건을 만족하는 경우에는 교환법칙이 성립한다. 다음과 같은 조건을 만족할 때 행과 열의 개수가 같은 정사각행렬 A와 B에 대해 곱셈의 교환법칙이 성립한다. : A + B = A B 이면, :A B = B A 이다. 행렬 곱셈은 결합법칙이 성립한다: :(\mathbf{AB})\mathbf{C} = \mathbf{A}(\mathbf{BC}) 각각 *m* × *n*, *n* × *p*, *p* × *q* 행렬이라고 하자. 곱은 결합 방식에 상관없이 *m* × *q* 행렬이며, :\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}
# 예
행렬 A=\begin{bmatrix}a\\\b\end{bmatrix}와 B=\begin{bmatrix}c&d;\end{bmatrix}가 있을 때, 이 둘의 곱셈은 다음과 같다. :AB=\begin{bmatrix}a\\\b\end{bmatrix}\begin{bmatrix}c&d;\end{bmatrix} = \begin{bmatrix}ac&ad;\\\bc&bd;\end{bmatrix} :A^TB^T=\begin{bmatrix}a&b;\end{bmatrix}\begin{bmatrix}c\\\d\end{bmatrix} = ac + bd :BA=\begin{bmatrix}c&d;\end{bmatrix}\begin{bmatrix}a\\\b\end{bmatrix} = ca + db :B^TA^T=\begin{bmatrix}c\\\d\end{bmatrix}\begin{bmatrix}a&b;\end{bmatrix} = \begin{bmatrix}ca&cb;\\\da&db;\end{bmatrix} 행렬 A=\begin{bmatrix}a&b;\\\c&d;\end{bmatrix}와 B=\begin{bmatrix}e&f;\\\g&h;\end{bmatrix}가 있을 때, 이 둘의 곱셈은 다음과 같다. :AB=\begin{bmatrix}a&b;\\\c&d;\end{bmatrix}\begin{bmatrix}e&f;\\\g&h;\end{bmatrix}=\begin{bmatrix}ae+bg⁡+bh\\\ce+dg&cf;+dh\end{bmatrix}
## 증명주
group=증명
## 참조주
각주 선형대수학 전거 통제 위키데이터 속성 추적 분류:행렬론 분류:이항연산 분류:곱셈 분류:수치선형대수학