"Matrix as a Linear Transformation"
Matrix is a Linear Transformation. 매우 중요한 말입니다. 오늘은 저번 게시물에서 잠깐 다뤘던 '행렬은 선형변환이다' 라는 말에 대해서 설명해보겠습니다. 먼저 약간 얘기하자면, 행렬을 공간 그 자체를 변형시킵니다.
먼저 설명드리기 전에, 영어가 가능하신 분들은 3Blue1Brown님의 영상을 보시는 것을 매우 추천합니다. 이 글도 아래의 영상자료를 기반으로 설명될 예정입니다.
https://youtu.be/kYB8IZa5AuE?si=vF9ySJ9-b2LhFP7e
우리가 기본적으로 선형대수에서 어떤 벡터를 상상할 때 드는 생각은, ((x))축과 ((y))축 위에 존재하는, 원점으로부터 시작되는 화살표입니다.
예를 들면, ((\begin{bmatrix}
3\\
5
\end{bmatrix}))은 위 그림처럼 나타낼 수 있습니다. 그런데 사실은 이 벡터는 우리가 일반적으로 상상하는 x축 y축 좌표 그리드 위에 있는 벡터입니다. 결국 x축 y축 좌표라는 공간 위의 벡터라는 것입니다. 행렬(Matrix)는 어떤 벡터가 존재하는 공간 자체를 변화시키는 역할을 합니다. 우리가 알고 있는 저 x축 y축이 변화한다는 뜻입니다. 이 말이 무슨 말인지는 기저 벡터(Basis vector)의 개념을 통해 설명해보겠습니다.
Basis Vector
어떤 벡터공간의 기저(Basis)는 그 공간을 선형생성할 수 있는 선형독립인 단위벡터(unit vector, 길이가 1인)들입니다. 선형독립(Linearly independent)에 관해서는 저번 게시글에서 보셨을겁니다.
https://jaehoonstudy.tistory.com/2
이 게시물에서도 선형독립을 이루는 벡터들의 예시로 x축, y축, z축을 들었습니다. 우리가 x축 y축 z축으로 3차원 공간을 만들 수 있는 것처럼, 어떤 벡터들의 Linear combination을 통하여 그 공간의 모든 벡터들을 표현할 수 있다면, 그 벡터들은 기저벡터라고 할 수 있습니다.
그러면 2차원의 basis vector는 어떻게 표현할 수 있을까요? 우리가 흔하게 생각하는 x축 y축일 것입니다. 이를 각각 ((\hat{i})), ((\hat{j}))이라고 해보겠습니다(각각 i hat, j hat이라고 읽습니다).
모든 벡터들은 그 공간의 basis vector들로 표현할 수 있다고 했습니다. 그렇다면 지금 2차원 상에서 모든 벡터는 ((\hat{i}))과 ((\hat{j}))의 Linear combination으로 표현될 수 있다는 말입니다. 예시를 들어보겠습니다.
\begin{bmatrix}
-1\\
2
\end{bmatrix} 라는 벡터를 표현해볼까요? 지금 공간에서의 basis vector는 각각 ((\hat{i})), ((\hat{j}))으로, ((\begin{bmatrix}
1\\
0
\end{bmatrix})), ((\begin{bmatrix}
0\\
1
\end{bmatrix}))입니다. 그런데,
((-1\begin{bmatrix}
1\\
0
\end{bmatrix})) + ((2\begin{bmatrix}
0\\
1
\end{bmatrix})) = ((\begin{bmatrix}
-1\\
2
\end{bmatrix})) 이렇게 다시 쓸 수 있지 않겠습니까?
결국 이를 다시 ((\hat{i})), ((\hat{j}))으로 치환해보면, ((-1\hat{i})) + ((2\hat{j})) = ((\begin{bmatrix}
-1\\
2
\end{bmatrix})) 이렇게 되는 것을 볼 수 있습니다.
실제로 그림으로 보면 이렇습니다.
형태를 보시면 각각의 basis vector 앞에 숫자(scalar)가 붙어서 basis vector를 늘리거나 줄이거나 방향을 바꾸거나 한 다음에, 그 둘이 더해져서 어떤 하나의 벡터가 되는 것을 볼 수 있습니다.
짙은 녹색 화살표는 ((-1\hat{i}))이고, 짙은 갈색 화살표는 ((2\hat{j}))이며, 이 둘을 벡터의 덧셈 하면 우리의 최종 벡터인 ((\begin{bmatrix}
-1\\
2
\end{bmatrix}))가 되는 것을 볼 수 있습니다.
이렇게 우리는 어떤 벡터가 그 공간을 구성하는 basis vector들로 표현된다는 것을 알았습니다.
그럼 이게 행렬과는 무슨 관계가 있는 걸까요? 위에서 행렬은 공간 그 자체를 변화시킨다고 말씀드렸습니다. 결과적으로 말하자면 행렬은 어떤 공간의 basis vector에 변화를 주는 것입니다.
이전 게시물인 행렬의 기초에서, 행렬과 벡터를 곱하면 벡터가 나온다는 사실을 이미 보셨을 것입니다.
우선, 아까 계속 보고 있었던 ((\hat{i})), ((\hat{j}))을 basis vector로 하는 ((\begin{bmatrix}
-1\\
2
\end{bmatrix})) 가 여기 있습니다.
행렬은 basis vector를 바꾸는 것이라고 했습니다. 현재 basis의 좌표는 ((\begin{bmatrix}
1\\
0
\end{bmatrix})), ((\begin{bmatrix}
0\\
1
\end{bmatrix})) 입니다. 이 basis의 좌표를 ((\begin{bmatrix}
1\\
-2
\end{bmatrix}))와 ((\begin{bmatrix}
3\\
0
\end{bmatrix}))으로 바꿔보겠습니다.
이렇게 좌표를 다시 구성해보았습니다. 왜 이렇게 되는가하면, 처음에 x축이 ((\begin{bmatrix}
1\\
0
\end{bmatrix}))을 좌표 1칸으로, y축이 ((\begin{bmatrix}
0\\
1
\end{bmatrix}))을 좌표 1칸으로 구성되어 있었으니, 동일하게 x축에서 ((\begin{bmatrix}
1\\
-2
\end{bmatrix}))을 좌표 1칸으로, y축에서 ((\begin{bmatrix}
3\\
0
\end{bmatrix}))를 좌표 1칸으로 구성해보면 이렇게 됩니다. 실제로 뒤에 있는 우리가 흔히 생상하는 좌표가 아닌, 좀 더 선명한 새로운 좌표 체계로 생각해보면, Transformed ((\hat{i})), Transformed ((\hat{i})) 둘 다 원점으로부터 딱 한 칸만 앞으로 나간, 새로운 basis vector인 것을 볼 수가 있습니다.
직관적으로 설명하자면 처음에 ((\hat{i})), ((\hat{i}))는 가만히 있었는데 공간째로 기울이고 늘리는 변화를 겪으며 얘네가 늘어났다고 생각해보세요.
이렇게 원래의 basis ((\begin{bmatrix}
1\\
0
\end{bmatrix})), ((\begin{bmatrix}
0\\
1
\end{bmatrix}))을 ((\begin{bmatrix}
1\\
-2
\end{bmatrix})),((\begin{bmatrix}
3\\
0
\end{bmatrix}))로 바꾸었습니다.
이쯤에서 다시 수식 하나를 보겠습니다.
((\begin{bmatrix}
1 & 3\\
-2 & 0
\end{bmatrix})) ((\begin{bmatrix}
-1\\
2
\end{bmatrix})) = ((\begin{bmatrix}
5\\
2
\end{bmatrix}))
이렇게 계산이 되는 수식이 있습니다. 결과가 ((\begin{bmatrix}
5\\
2
\end{bmatrix})) 가 나왔습니다. 우리가 아까 다시 구성한 좌표를 이용한 그림을 보겠습니다.
원래 노란색 화살표로 표현되었던 ((\begin{bmatrix}
-1\\
2
\end{bmatrix}))가, basis를 바꾼 후 저렇게 기울어지고 늘어나버렸고, 늘어난 노란색 화살표의 좌표값을 우리가 기존에 알고 있던, 변화하기 전 좌표의 시각으로 본다면 x축으로 5칸, y축으로 2칸 해서 ((\begin{bmatrix}
5\\
2
\end{bmatrix})) 이렇게 표현됩니다.
결국 우리가 수식으로 곱해준 행렬인 ((\begin{bmatrix}
1 & 3\\
-2 & 0
\end{bmatrix}))은 그림 상 기울어지고 늘어나는 변화에 일대일로 대응된다고 할 수 있습니다. 결국 행렬은 원래 ((\begin{bmatrix}
1\\
0
\end{bmatrix})), ((\begin{bmatrix}
0\\
1
\end{bmatrix})) 이었던 basis vector의 좌표 ((\begin{bmatrix}
1 & 0\\
0 & 1
\end{bmatrix}))를 새로운 좌표인 ((\begin{bmatrix}
1 & 3\\
-2 & 0
\end{bmatrix}))로 assign하는 변화 즉, Linear transformation이고, 그 좌표값들이 행렬을 구성하는 element들이라고 할 수 있습니다. 이 사례에서 ((x))축의 basis vector는 ((\begin{bmatrix}
1\\
0
\end{bmatrix})) 에서 ((\begin{bmatrix}
1\\
-2
\end{bmatrix}))로, ((y))축의 basis vector는 ((\begin{bmatrix}
0\\
1
\end{bmatrix}))에서 ((\begin{bmatrix}
3\\
0
\end{bmatrix}))으로 좌표가 옮겨진 것입니다.
이렇게 오늘은 왜 Matrix가 Linear Transformation인지 알아보았습니다. 행렬은 공간 자체를 변화시키며, 기저벡터의 새로운 좌표이며, 선형변환이다라는 사실은 선형대수의 매우 중요한 insight 중의 하나이며, 행렬을 본질적으로 이해하는데 매우 큰 도움이 됩니다.
'선형대수' 카테고리의 다른 글
행렬의 곱셈(Matrix-Matrix Multiplication) (0) | 2024.01.17 |
---|---|
행렬(Matrix)의 Rank (0) | 2024.01.16 |
행렬(Matrix) - Column space & Row space (0) | 2024.01.16 |
[선형대수] 행렬(Matrix)의 기초 (0) | 2024.01.16 |
[선형대수] 벡터(Vectors, Linear Combinations, Dot product) (0) | 2024.01.13 |