-
행렬곱의 의미에 대해수학/선형대수 2024. 11. 23. 00:30
행렬에 대해 처음 배우다보면 행렬들의 덧셈이나 스칼라곱은 굉장히 자연스러워 보이지만 행렬곱은 왜 그렇게 정했는지 감이 오지 않을 수 있다. 달리 말하면 행렬곱을 그렇게 정해서 특별히 문제가 될 것도 없지만 그렇다고 굳이 꼭 그렇게 정할 이유가 있어보이지 않고 아무렇게나 정해도 되는 상황에서 적당히 정한 것처럼 보일 수 있다는 뜻이다. (실제로는 그렇지 않다는 얘기를 하려는 중이다.)
예를 들어 행렬들의 곱이라는 이름을 가진 연산을 다음과 같이 정해도 되지 않을까?
$$
\begin{bmatrix}
a_1 & b_1 \\
c_1 & d_1
\end{bmatrix}
\ast
\begin{bmatrix}
a_2 & b_2 \\
c_2 & d_2
\end{bmatrix}
= \begin{bmatrix}
a_1 a_2 & b_1 b_2 \\
c_1 c_2 & d_1 d_2
\end{bmatrix}
$$위와 같은 연산 \( \ast \)를 뭐라고 부르던간에 이렇게 정하고 나서 언젠가 쓸모가 있을 때 사용하는건 괜찮을 수도 있다.
심지어 \( \ast \)를 행렬곱이라고 부르고 일상적으로 행렬곱이라고 부르는 연산의 이름을 좀 바꿔서 사용할 수 있을지도 모른다.
하지만 우리가 흔히 행렬곱이라고 부르는 그 연산은 방금 위에서 적은 (보통은 별로 쓰지 않는) \( \ast \) 연산보다 훨씬 자연스럽고 유용함을 설명하는 것이 이 글의 목적이다.
벡터의 선형변환
일반적으로 선형변환 \( f(\mathbf{x}) \)라고 하는 것은 일차변환이라고도 부르며, 다음과 같은 성질을 가지는 함수를 말한다.
$$ f(\mathbf{x} + \mathbf{y}) = f(\mathbf{x}) + f(\mathbf{y}), \quad f(k \mathbf{x}) = k f(\mathbf{x}) $$
그런데 벡터에 대해서는 이런 추상적인 정의를 사용하지 않고 선형변환을 표현하는 방법이 있는데 \( f(\mathbf{x}) \)는 다음과 같이 표현할 수 있고, 이 글에서 벡터의 선형변환은 항상 이런 연산을 의미할 것이다.
\( \mathbf{x} = \langle x_1, x_2, \ldots , x_n \rangle \)가 \( n \) 차원 벡터이고 \( f(\mathbf{x}) \)가 \( m \) 차원 벡터 \( \langle y_1, y_2, \ldots , y_m \rangle \)라고 하면,
\(y_1 = a_{11} x_1 + a_{12} x_2 + \ldots + a_{1n} x_n \)
\(y_2 = a_{21} x_1 + a_{22} x_2 + \ldots + a_{2n} x_n \)
\( \hspace{3cm} \vdots \)
\(y_m = a_{m1} x_1 + a_{m2} x_2 + \ldots + a_{mn} x_n \)
으로 나타낼 수 있다.
선형변환이 왜 중요한지를 여기에서 길게 얘기하지는 않겠다. 다만 우리가 흔히 접하는 연립일차방정식이 이런 비슷한 형태로 되어있는 등 여기저기에서 자주 등장한다.
행렬곱의 의미
우선 위에서 \( y_i \)들을 정의하는 오른편 식들이 (통상적인 의미의) 행렬과 (열)벡터의 곱임을 알 필요가 있다.
$$
\begin{bmatrix}
a_{11} & \dots & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{m1} & \dots & a_{mn} \\
\end{bmatrix}
\begin{bmatrix}
x_1 \\ \vdots \\ x_n \\
\end{bmatrix}
$$즉, 벡터 \( \mathbf{x} \)에 어떤 행렬 \( A_1 \)을 왼쪽에서 곱하는 연산은 그 벡터의 선형변환을 표현하도록 정의되고 이를 \( A_1 \mathbf{x} \)라고 쓴다. 그러면 이런 선형변환을 두 번 연달아 하는 연산은 여기에 새로운 행렬 \( A_2 \)를 왼쪽에 곱하는 것이어야 한다. 행렬과 벡터 사이의 곱을 위와 같이 정한 상황에서 아직 행렬들 사이의 곱셈을 정의하지 않았다고 치고 이제 행렬들의 곱을 어떻게 정하면 좋을까 생각해본다면, 선형변환 \( A_1 \)과 \( A_2 \)를 차례로 적용한 결과인 \( A_2 ( A_1 \mathbf{x}) \)가 \( A_2 A_1 \mathbf{x} \)이 되도록 행렬의 곱 \( A_2 A_1 \)을 정하는 것이 필요하다. 우리가 아는 그 행렬곱이 실제로 이렇게 되도록 정의되어 있는지 확인해보자.
설명의 편의를 위해 3차원 벡터와 \( 3 \times 3 \) 행렬들로 예시를 보이면 다음과 같은데, 일반적인 차원의 벡터에 대해서도 여전히 성립하는 내용이다.
$$ A = \begin{bmatrix}
a_{11} & a_{12} & a_{13} \\
a_{21} & a_{22} & a_{23} \\
a_{31} & a_{32} & a_{33} \\
\end{bmatrix}, \quad
B = \begin{bmatrix}
b_{11} & b_{12} & b_{13} \\
b_{21} & b_{22} & b_{23} \\
b_{31} & b_{32} & b_{33} \\
\end{bmatrix} $$ 라고 하면,벡터 \( \mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ \end{bmatrix} \)에 행렬 \( B \)를 곱하는 선형변환의 결과인 벡터 \( B \mathbf{x} \)는
$$ \begin{bmatrix}
b_{11} x_1 + b_{12} x_2 + b_{13} x_3 \\
b_{21} x_1 + b_{22} x_2 + b_{23} x_3 \\
b_{31} x_1 + b_{32} x_2 + b_{33} x_3 \\
\end{bmatrix} $$이고 이 결과의 왼쪽에 행렬 \( A \)를 곱하면,
$$ \begin{bmatrix}
a_{11} ( b_{11} x_1 + b_{12} x_2 + b_{13} x_3 ) + a_{12} ( b_{21} x_1 + b_{22} x_2 + b_{23} x_3 ) + a_{13} ( b_{31} x_1 + b_{32} x_2 + b_{33} x_3 ) \\
a_{21} ( b_{11} x_1 + b_{12} x_2 + b_{13} x_3 ) + a_{22} ( b_{21} x_1 + b_{22} x_2 + b_{23} x_3 ) + a_{23} ( b_{31} x_1 + b_{32} x_2 + b_{33} x_3 ) \\
a_{31} ( b_{11} x_1 + b_{12} x_2 + b_{13} x_3 ) + a_{32} ( b_{21} x_1 + b_{22} x_2 + b_{23} x_3 ) + a_{33} ( b_{31} x_1 + b_{32} x_2 + b_{33} x_3 ) \\
\end{bmatrix} $$이 되는데, 행렬들과 벡터의 곱으로는 \( A(B \mathbf{x}) \)이 되고, 이 결과를 행렬 부분과 원래 벡터 \( \mathbf{x} \)의 곱으로 표현하면,
$$ \begin{bmatrix}
a_{11} b_{11} + a_{12} b_{21} + a_{13} b_{31} & a_{11} b_{12} + a_{12} b_{22} + a_{13} b_{32} & a_{11} b_{13} + a_{12} b_{23} + a_{13} b_{33} \\
a_{21} b_{11} + a_{22} b_{21} + a_{23} b_{31} & a_{21} b_{12} + a_{22} b_{22} + a_{23} b_{32} & a_{21} b_{13} + a_{22} b_{23} + a_{23} b_{33} \\
a_{31} b_{11} + a_{32} b_{21} + a_{33} b_{31} & a_{31} b_{12} + a_{32} b_{22} + a_{33} b_{32} & a_{31} b_{13} + a_{32} b_{23} + a_{33} b_{33} \\
\end{bmatrix}
\begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ \end{bmatrix} $$즉, \( A(B \mathbf{x}) = (AB) \mathbf{x} \)이 되도록 행렬 \( AB \)를 정의한다면 \( AB \)는 통상적인 의미의 행렬의 곱과 같음을 알 수 있고, 우리가 위에서 확인하려고 했던 내용(선형변환을 벡터에 차례로 적용한 합성변환이 각각의 선형변환에 대응되는 행렬들의 곱과 같은 의미를 가지는지)에 대한 긍정적인 답을 얻게 되었다.
'수학 > 선형대수' 카테고리의 다른 글
특이값 분해 (SVD) (1) 2024.06.14 고윳값 분해와 직교 대각화 (0) 2024.05.11