행렬 곱셈

섬네일|행렬 곱셈을 위해선 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 첫째 행렬의 행 갯수와 둘째 행렬의 열 갯수를 가진다.

**행렬 곱셈**()은 두 개의 행렬에서 한 개의 행렬을 만들어내는 이항연산이다. 이 때 첫째 행렬의 열 개수와 둘째 행렬의 행 개수가 동일해야한다. 곱셈의 결과 새롭게 만들어진 행렬은 **행렬곱**(matrix product)라 하며, 첫째 행렬의 행 개수와 둘째 행렬의 열 개수를 가진다. 행렬 A와 B의 곱은 간단히 AB로 나타낸다.

벡터의 선형결합 또는 선형사상의 합성 등의 의미를 부여할 수 있다.

행렬 곱셈은 1812년 프랑스의 수학자 자크 비네가 선형 변환의 합성을 표현하고자 처음으로 사용하였다. 이후 행렬 곱셈은 선형대수학의 기초가 되어 수학, 통계학, 물리학, 경제학, 공학, 컴퓨터 프로그래밍 등의 분야에서 다양하게 응용되고 있다.

## 표기
이 문서에서는 행렬을 굵은 대문자로(), 벡터를 굵은 소문자로(), 벡터와 행렬의 성분, 또는 요소로 번역되는 entry는 기울임체로(, ) 표기한다. 첨자표기법은 가장 일반적인 방식을 따라 행렬 의 열 행 성분은 , ,  등으로 표시한다. 반면 행렬 성분의 집합은  등으로 표시한다.

## 정의
### 행렬 곱하기 행렬
, 를 각각 ,  행렬이라고 하자.

: \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}

행렬곱 은 다음의  행렬로 정의된다. 단 이때, 곱셈 기호는 따로 쓰지 않는다.

: \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}

이 때 , 에 대해 의 성분은 다음과 같이 정의된다.

:  c_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} +\cdots + a_{in}b_{nj}= \sum_{k=1}^n a_{ik}b_{kj}, 

이는 곧 의 번째 행과 의 번째 열의 성분들을 각각 곱해 더한 것과 같은데, 달리 말하면 의 번째 행과 의 번째 열의 스칼라곱인 것이다.

그런고로 는 다음과 같이 쓸 수도 있다.

: \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}


이러한 이유로 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일해야 행렬곱이 정의될 수 있는 것이다.

대부분의 경우 행렬의 성분은 숫자이지만, 덧셈과 곱셈이 정의되고, 곱셈의 결합법칙과 덧셈의 교환법칙이 성립하여 곱셈의 분배법칙이 성립하게 되는 다른 수학적 대상들도 성분이 될 수 있다. 가장 대표적인 예시로 성분이 행렬인 블록 행렬을 생각할 수 있다.
### 도해
오른쪽|섬네일|첫째 행렬의 행과 둘째 행렬의 열이 만나 행렬곱의 성분이 형성된다.
오른쪽 그림은 두 행렬 와 의 곱을 도표로 나타낸 것으로, 곱 행렬의 각 교집합이 의 행과 의 열에 어떻게 해당하는지 보여준다.


\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}

## 응용 범위
선형대수학적 계산을 행렬 곱셈을 통해 더욱 간단하게 할 수 있는데, 물리학, 공학, 컴퓨터 과학 분야에서 특히 빛을 발한다.

### 선형 변환
차원 열 벡터

: \mathbf x=\begin{pmatrix}x_1 \\ x_2 \\ \vdots \\ x_n\end{pmatrix}

를 차원 선형 변환 한 것을

: \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}

라 하자. 이 때 선형 변환 는 자연스레 다음과 같은 행렬로 정의할 수 있다.

:: \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}

차원 벡터 공간을 차원 벡터 공간으로 변환하는 선형 변환  역시  행렬 \mathbf B로 나타낼 수 있다. 이 두 변환을 합성한 결과인 도 행렬곱인 \mathbf {BA}로 나타낼 수 있다. 행렬 곱셈에서의 결합법칙은 에서 다룰 것이다.

### 연립 일차 방정식
연립 일차 방정식의 일반항은 다음과 같이 쓸 수 있다.

: \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

## 성질
행렬 곱셈은 일반적인 산술적 곱셈과 비슷한 성질을 가지지만, 첫째 행렬의 열 갯수와 둘째 행렬의 행 갯수가 동일할 때에만 정의된다는 특징이 있다. 또한 행렬 곱셈이 정의될 때에도 교환법칙이 항상 성립하는 것은 아니라는 점에서 차이가 있다.

{AB} \neq {BA}

하지만 특수한 조건을 만족하는 경우에는 교환법칙이 성립한다. 다음과 같은 조건을 만족할 때 행과 열의 개수가 같은 정사각행렬 A와 B에 대해 곱셈의 교환법칙이 성립한다.

:    A + B = A B  이면,
:A B = B A  이다.
행렬 곱셈은 결합법칙이 성립한다:

:(\mathbf{AB})\mathbf{C} = \mathbf{A}(\mathbf{BC})

## 예
행렬 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&af+bh\\ce+dg&cf+dh\end{bmatrix}

## 각주
### 증명주

### 참조주

분류:행렬론
분류:이항연산
분류:곱셈
분류:수치선형대수학