Four Fundamental Spaces of Linear Algebra
선형대수의 four horse men
Tales of Two Lines
행렬을 행 공간(row space)으로 이해하는 것과 열 공간(column space)으로 이해하는 것은 같은 해를 구하는 문제에서도 전혀 다른 함의를 지닌다. 아래의 연립 방정식을 풀고 싶다고 하자.
행렬로 나타내면 다음과 같다.
Row picture
행으로 이해해보자. 이게 우리에게 익숙한 방식이다. 이 차원 평면($x$–$y$ 평면)에 직선 두 개를 그리고 교점을 찾으면 되겠다. 이것이 문제를 행으로 보는 관점이다. 아래 그림을 참고하자.1
Column picture
이제 이 문제를 컬럼으로 보자. 행렬을 열로 보면, $(2 \times 1)$ 벡터다. 이 벡터를 좌표로 나타나면 이제 $x$, $y$는 식의 방정식 우변의 벡터를 얻는 데 필요한 행렬의 두 행 벡터에 가중치가 된다. 아래 그림을 보자.
Which of two?
둘 다 쓸모가 있는 관점이지만 열 공간으로 보는 관점이 몇 가지 점에서 수학적으로 좋다. 우선, 열 공간으로 보게 되면 계산에 동원되는 모든 대상들이 ‘벡터 공간’에 위치하게 된다. 벡터 공간은 반드시 $\boldsymbol{0}$을 포함해야 한다. 열 공간에서는 이게 가능하다. 투입과 산출이 모두 벡터로 표현되고 산출은 행렬을 구성하는 열 벡터의 선형 결합을 통해 표현된다. 이 선형 결합이 일종의 투입이 된다.
그런데 행 공간의 관점에서는 벡터 공간의 수학적인 표현과 그 결과를 활용하기 힘들다. 2차원 벡터까지는 평면에 도해할 수 있지만 3차원도 보기에 부담스럽다.
언감생심 $n(\geq 4)$ 차원을 도해하는 것은 불가능하다.
물론 열 공간의 관점을 취한다고 해도 ‘정확한’ 도해가 가능한 것은 아니다. 하지만 벡터 공간 안에서 정확하게 개념을 표시할 수는 있다. 아래 그림처럼 보통 벡터를 표현할 때 $\boldsymbol{0}$를 중심으로 벡터의 기호를 적는다. 적어도 그림상으로 벡터 스페이스 위에서 더하기와 곱하기를 표기하는 데 무리가 없다.
확인 차원에서 열 공간의 관점에서 행렬을 ‘함수’로 이해하는 방식을 다시 살펴보자.
이렇게 보면 행렬 $A$는 특정한 방식으로(선형의 방식으로) $x$를 차원이 다른 벡터 $b$로 변환한다.2 이때 $A$의 경우
$c_i = \begin{bmatrix} a_{1i} \\ \vdots \\ a_{mi} \end{bmatrix}.$ 이때, 투입 벡터 $x = [x_1, \dots, x_n]$는 열 벡터들, $c_i$를 조합해 $b$를 만들 수 있는 가중치를 찾는 문제가 된다.
Big Picture of Linear Algebra
다시 강조하지만 기본적으로 행렬은 함수다. $A$는 투입 벡터 $x (\in {\mathbb R}^{n})$를 산출 벡터 $b(\in {\mathbb R}^{m})$로 바꾸는 역할을 한다. $A^T$는 투입벡터 $x^\prime \in {\mathbb R}^m$을 산출벡터 $b^\prime \in {\mathbb R}^n$으로 바꾼다. 이들 사이에 어떤 관계가 존재할까? 이를 나타내는 것이 길버트 스트랭(Gibert Strang) 선생이 말한 선형대수의 ‘큰 그림’이다. 아래 그림을 보자.
그림 자체로 그냥 이해가 간다. 열 공간으로 이해하는 습관이 들었다면, 그림이 뒤집혀야 하지 않나, 싶겠지만 앞서 보았던 연립방정식처럼 $A x = b$의 형태로 이해하면 좋다.
Row space
- $A$의 행 공간은 $\mathbb{R}^n$에 속한다.
- $r_i$는 $A$의 $i$ 번째 행을 원소로 하며, $r_i \in {\mathbb R}^{n}$ 벡터다.
- 행 공간의 영 공간(null space) 역시 $\mathbb{R}^n$에 속한다. 영 공간이란 $A x = \boldsymbol{0}$을 만족하는 $x \neq \boldsymbol{0}$의 벡터이므로 이 역시 $x \in {\mathbb R}^{n}$다.
Orthogonality of row space and null space
두 벡터는 직교할까? 행 공간 $\mathcal{R}$의 정의는 다음과 같다.
영공간(nullspace)에 속하는 벡터를 $x_n$라고 할 때(notation에 약간의 교란이 발생하지만 그림과의 일치를 위해 일단 이렇게 표기하도록 하자), 영공간의 정의에 따라서 $r_i^T x_n = 0$.
그리고 그림에서 보듯이 다음과 같은 관계가 성립한다.
- $A x_r = b_r (\in {\mathbb R}^m)$
- $A x_n = \boldsymbol{0}_m$
- $A (x_r + x_n) = b_r$
- $x_r^T x_n = 0$
위 관계에서 $b_r$, $\boldsymbol{0}$는 모두 열 공간에 존재하는 벡터들이므로 $(m \times 1)$의 크기를 지닌다는 점에 유의하자.
Column space
- $A$의 열 공간은 $\mathbb{R}^m$에 속한다.
- 열 공간의 영 공간, 좌 영공간(left nullspace) 역시 $\mathbb{R}^m$에 속한다. 이는 $A^T x = 0$에 의해 정의된다.
Orthogonality of column space and left null space
- 나머지 과정은 비슷하게 전개할 수 있다. 열 공간 $\mathcal{C}$의 정의는 다음과 같다.
좌 영공간의 정의에 따르면, $c_i^T x_n = 0$가 성립한다. 따라서,
- $A^T x_c = b_c(\in {\mathbb R}^n)$
- $A^T x_n = \boldsymbol{0}_n$
- $A (x_c + x_n) = b_r$
- $x_c^T x_n = 0$
Exchange of row and column
$A^T$의 열 공간이 곧 $A$의 행 공간이 된다. 따라서 $\mathcal{R}(A) = \mathcal{C}(A^T)$가 된다.
위의 그림을 컬럼 스페이스로만 다시 표현하면 다음과 같다. 즉, $A$의 행 공간은 $A^T$의 열 공간이다.
A simple example
간단한 예 하나를 들어보자.
그리고
이 문제를 풀어보자. 우선 $A$을 열 벡터($c_i$)의 관점에서 바라보자.
모든 $c$에 관해서 성립해야 하므로, $2c_2 + c_3 = 0$은 항상 성립해야 한다. 따라서
이제 행렬 $A$의 영 공간을 생각해보자. 영 공간이란 $A x = 0$을 만족하는 $x$로 이루어진 벡터 공간이다. $c$에 관계없이 $Ax = 0$을 만족해야 한다. 즉,
이 해는 $x_1 = 0$, $x_2 = 2 x_3$가 영 공간에 존재하는 벡터이고 이것이 유일하다. 이를 만족하는 해는 $x$ 하나 밖에 없다. 즉,
이제 앞서 본 4개의 근본 공간의 원리에 따라서 $A^T \in {\mathbb R}^{3 \times 4}$이고, $A^T$는 열 벡터 $a_i(\in {\mathbb R}^3)$로 구성된다. 따라서 $A^T$의 위수는 $3-1 = 2$가 된다. 그리고 $A^T$의 위수와 $A$의 위수는 같기 때문에 $A$의 위수 역시 2이다.
Why?
이 네 개의 스페이스가 맺고 있는 관련성은 그 자체만으로도 중요하고 흥미로운 것이지만, 이를 통해 이른바 SVD(Singluar Value Decomposition)을 달성할 수 있다. 만일 위에서 보듯이 $A$의 열 공간과 $A^T$의 열 공간이 같은 위수를 지니지 않는다면 이런 분해는 불가능하다.
먼저 매트릭스 $A$의 열 공간에 속하는 원소 중에서 $r$ 개만 서로 독립이라고 하자. 이렇다면 이 성분으로만 구성된 매트릭스 $U$를 만들 수 있다. 매트릭스 $U$의 켤레 전치행렬을 $U^*$라고 하면, 다음의 식이 성립한다.
그리고, 행 공간에 속하는 원소 역시 $r$ 개만 독립이고, 이를 기반으로 $V$를 만들 수 있다. 그리고 이 사이에 특성값(singular value)을 대각행렬로 지니는 $\Sigma$를 넣으면 $A$는 다음과 같이 세 가지로 분해된다.
기본적으로 행렬은 함수다. 즉 어떤 벡터의 변형이다. $M$에 투입되는 $(n \times 1)$의 벡터 $x$가 있다고 하자.
- 벡터의 방향을 돌린다 ($V^*$).
- 특성값 행렬($\Sigma$)로 차원을 바꾸면서 좌표축의 크기를 조정한다.
- 마지막으로 $U$를 통해서 벡터의 방향을 돌린다.