오늘은 행렬이 가지고 있는 공간이자 선형대수에서 4가지 중요한 subspace에 속해있는 column space(열공간)과 row space(행공간)에 대해서 다뤄보려 합니다.
Column space
Matrix A에 대해서 Column space는 ((C))(((A)))라고 표기하며, Matrix A가 가지고 있는 모든 column들의 조합으로 만들어지는 공간입니다. all outputs ((A))((x))라는 뜻은 (x)가 가질 수 있는 모든 경우의 값들을 전부 다 고려한다는 뜻입니다.
이전 게시물에서 행렬과 벡터를 곱하는 두 가지 관점에 대해서 보셨을 겁니다.
https://jaehoonstudy.tistory.com/3
[선형대수] 행렬(Matrix)의 기초
오늘은 행렬에 대해서 다뤄보려고 합니다. 행렬은 직사각형 모양으로 된 숫자들의 배열입니다. 숫자들을 행(Row)와 렬(Column)에 맞춰서 배열하기 때문에 행렬입니다. 그런데 단순한 배열이 아니라
jaehoonstudy.tistory.com
그 두 가지 관점 중에서 Column way를 다시 보면,
((Ax))가 Matrix A의 column들을 ((x))를 계수 삼아 Linear combination하는 과정으로 해석할 수 있다는 것을 보셨을 것입니다. 그렇기 때문에 Column space는 all outputs ((Ax))라고 표현한 것입니다.
결국 어떤 Matrix의 Column space는 column들의 Linear combination으로 나올 수 있는 모든 경우의 수(벡터)들이 이루는 공간인 것입니다. 직관적으로도 Column space, 열들이 이루는 공간이라는 뜻입니다.
Linear dependence와의 관련성
Column끼리 Linearly dependent 할 수도 있습니다. 쉽게 말하자면 Matrix 내에서 하나의 column을 다른 column들의 조합으로 표현할 수 있다면, 그것은 전혀 새로운 내용이 아니기에 column끼리의 dependency가 있는 것이며, 새로운 차원을 span(만들지) 하지 않습니다.
저번 게시물의 예시를 다시 보자면, 위의 그림은 ((\begin{bmatrix}
3\\
4\\
5
\end{bmatrix})), ((\begin{bmatrix}
6\\
8\\
10
\end{bmatrix}))을 시각화 한 것입니다. 빨간색 화살표가 ((\begin{bmatrix}
3\\
4\\
5
\end{bmatrix})), 파란색 화살표가 ((\begin{bmatrix}
6\\
8\\
10
\end{bmatrix}))입니다. 그러면 Matrix A를 아래와 같이 정의해보겠습니다.
((A)) = ((\begin{bmatrix}
3 & 6\\
4& 8\\
5 & 10
\end{bmatrix}))
A의 첫 번째 column을 단순히 2배하면 두 번째 column을 만들 수 있기에 linearly dependent한 column들이 행렬 내에 존재합니다. 그렇기에 A에서 두 번째 column은 전혀 새로울게 없으며 첫 번째 column을 늘리거나 줄여서 만들 수 있는 공간(span)과 두 번째 column을 늘리거나 줄여서 만들 수 있는 공간은 하나의 일직선으로 같습니다. 결국 지금 Matrix A에서 column들이 만들어 낼 수 있는 모든 경우의 수가 이루는 공간은 그저 직선일 뿐인 것입니다.
이를 좀 더 빠르게 알 수 있는 방법은, 먼저 행렬 A의 column들이 3차원 벡터이지만 column의 개수는 2개 밖에 존재하지 않습니다. 그렇다면 이전 게시물에서 우리가 알 수 있었던 행렬은 basis vector의 좌표이다라는 내용을 다시 떠올려 보겠습니다.
((A)) = ((\begin{bmatrix}
3 & 6 & ?\\
4& 8 & ?\\
5 & 10 &?
\end{bmatrix}))
((\begin{bmatrix}
3\\
4\\
5
\end{bmatrix}))가 3차원에서 첫 번째 basis vector(x축이라고 가정)의 변환 후 좌표이고, ((\begin{bmatrix}
6\\
8\\
10
\end{bmatrix}))이 두 번째 basis vector(y축이라고 가정)의 변환 후 좌표입니다. 그런데 세 번째 축인 z축에 대한 변환 좌표 정보가 없습니다. 그래서 이렇게 직사각형인 행렬(Rectangular Matrix)는 기본적으로 차원이 보존될 수 없으며, 지금 가지고 있는 두 개의 column이 모두 independent 하더라도 3차원 공간이 아닌 2차원 평면밖에 만들어낼 수 없습니다. 거기다가 심지어 가지고 있는 두 개의 column이 서로 독립적이지도 않고 하나의 column으로 모두 표현할 수 있으니 만들어내는 column space가 그저 하나의 line일 뿐인 것입니다.
Row space
Row space도 column space와 유사합니다. 이번에는 행(Row)들의 조합으로 만들어내는 공간입니다. column vector를 그대로 가져갈 수 있는데, 행렬에서 행을 열의 뒤집힌 버전으로 보는 방법입니다.
transpose에 대해서 잠깐 살펴보자면, Matrix의 element들의 index를 뒤집어버리는 것입니다.
이게 Matrix A라고 한다면, 각 원소들의 index가 위 그림처럼 될 것입니다. ((aₘₙ))을 ((aₙₘ))으로 바꿔버리는 것입니다. 그러면 행렬의 첫 번째 column은 첫 번째 row가 될 것이고, 첫 번째 row는 첫 번째 column이 될 것입니다.
이 논리대로라면, column space를 transpose한다면 row space가 나올 것입니다.
Excercise
((A)) = ((\begin{bmatrix}
1 & 2 & 5 & 1\\
3 & 4 & 6 & 7
\end{bmatrix}))
1. 행렬 A의 column space는?
2. 행렬 A의 row space는?
'선형대수' 카테고리의 다른 글
행렬의 곱셈(Matrix-Matrix Multiplication) (0) | 2024.01.17 |
---|---|
행렬(Matrix)의 Rank (0) | 2024.01.16 |
행렬은 선형변환이다. (0) | 2024.01.16 |
[선형대수] 행렬(Matrix)의 기초 (0) | 2024.01.16 |
[선형대수] 벡터(Vectors, Linear Combinations, Dot product) (0) | 2024.01.13 |