by Yngie

벡터 공간 (Vector space)

|

Vector space

벡터 공간(Vector space)란 주어진 벡터를 더하거나 스칼라 배 하였을 때 가질 수 있는 공간을 말합니다. 예를 들어, 두 개의 벡터 $\vec{a} = (1,2), \vec{b} = (4,5)$는 평행하지 않으므로 이 두 벡터를 더하거나 실수배 하여 확보할 수 있는 공간은 평면이 될 것입니다. 그렇다면 $\vec{a} = (1,2), \vec{c} = (4,8)$은 어떨까요? 이 두 벡터는 방향이 동일하기 때문에 한 벡터를 스칼라 값을 곱해 주어도 나머지 한 벡터의 스칼라배와 동일합니다. 따라서 이 두 벡터가 가지는 벡터 공간은 하나의 직선이 됩니다.

이를 일반화하여 나타내면 임의의 벡터 $\vec{x},\vec{y}$ 와 임의의 스칼라 값 $c_1, c_2$에 대하여 $c_1\vec{x} + c_2\vec{y} \in \mathbf{V}$ 일 때, $\mathbf{V}$를 벡터 $\vec{x}, \vec{y}$의 벡터공간이라고 합니다.

부분 공간(Subspace)는 벡터 공간 내에서 특정 조건을 만족하는 부분 공간으로 앞으로 등장할 Column space(열벡터공간), Null space(영공간), Row space(행벡터공간), Left-Null space(왼쪽-영공간) 등이 모두 부분 공간에 속합니다.

Column Space & Null Space

이전까지는 정방행렬에 대해서, 즉 식의 개수와 미지수의 개수가 같은 연립방정식을 풀기 위해서 가우스 소거법(Gaussian elimination)을 사용하였습니다. 하지만 가우스 소거법을 활용하면 다른 형태의 연립방정식도 풀 수 있습니다. 지금부터는 식의 개수보다 미지수의 개수가 많은 연립방정식, 즉 행의 개수보다 열의 개수가 많은 행렬 $A_{m \times n} (m < n)$ 에 가우스 소거법을 적용하여 해를 구해보겠습니다. 아래 예시는 4개의 미지수를 갖는 3개의 식으로 이루어진 연립방정식입니다.

\[\left[\begin{array}{cccc} 1 & 3 & 3 & 2 \\ 2 & 6 & 9 & 7 \\ -1 & -3 & 3 & 4\end{array} \right]\left[\begin{array}{c} u \\ v \\ w \\ z\end{array} \right] = \left[\begin{array}{c} 0 \\ 0 \\ 0 \end{array} \right]\]

위 미지수의 해를 구하기 위한 첫 번째 방법으로 왼쪽에 위치한 행렬 $A_{3 \times 4}$ 에 가우스 소거법을 적용하여 상삼각행렬과 비슷한 모양을 만들어 줄 수 있습니다. 이 과정을 수행하면 아래와 같이 행렬이 변하게 되며 이렇게 생성된 행렬의 형태를 Echelon form이라고 합니다.

\[\left[\begin{array}{cccc} 1 & 3 & 3 & 2 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0\end{array} \right]\left[\begin{array}{c} u \\ v \\ w \\ z\end{array} \right] = \left[\begin{array}{c} 0 \\ 0 \\ 0 \end{array} \right]\]

정방행렬에서는 상삼각행렬을 만든 뒤에 바로 해를 구할 수 있었습니다. 하지만 열의 개수가 더 많은 행렬에서는 한 번 더 처리해주어야 합니다. 이를 위해서 Echelon form에서 영벡터가 아닌 가장 아래 행을 조작하여 그 위에 있는 행의 특정 성분을 0으로 만들어 줍니다. 이렇게 해서 최종으로 나온 마지막 행렬의 모습을 Row reduced form이라고 합니다. 이 과정을 수행한 행렬은 다음과 같은 모습을 가지게 됩니다.

\[\left[\begin{array}{cccc} 1 & 3 & 0 & -1 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 0\end{array} \right]\left[\begin{array}{c} u \\ v \\ w \\ z\end{array} \right] = \left[\begin{array}{c} 0 \\ 0 \\ 0 \end{array} \right]\]

Row reduced form의 피봇은 1행 1열과 2행 3열에 있고 피봇과 관계된 미지수는 $u,w$입니다. 이렇게 피봇과 관계된 미지수를 피봇 변수(Pivot variable)이라고 합니다. 피봇 변수에 해당하지 않는 미지수는 모두 자유 변수(Free variable)이라고 합니다. 미지수를 이렇게 두 범주로 구분했다면 이를 통해서 위 연립방정식의 해를 구할 수 있습니다.

먼저 자유 변수를 사용하면 각각의 피봇 변수에 대하여 식을 정리할 수 있습니다. 위 예시에서는 $u = -3v+z, w= -z$ 로 나타납니다. 이제 모든 변수에 대하여 미지수를 자유 변수로 묶어낼 수 있습니다. 다음의 예시를 보며 이 두 절차를 이해해보겠습니다.

\[\left[\begin{array}{c} u \\ v \\ w \\ z\end{array} \right] = \left[\begin{array}{c} -3v+z \\ v \\ -z \\ z\end{array} \right] = v\left[\begin{array}{ccc} -3 \\ 1 \\ 0 \\ 0\end{array} \right] + z\left[\begin{array}{c} 1 \\ 0 \\ -1 \\ 1\end{array} \right]\]

위 식에서 가장 오른쪽에 위치하는 것이 이 연립방정식의 해입니다. 이를 Special solution이라고 하며, Special solution이 이루는 공간을 $A$의 Null space라고 합니다. Null space는 열벡터로 이루어진 행렬 $A$에 의해서 만들어집니다. 그렇기 때문에 특정 행렬 $A$의 Null space는 Column space와 관계됩니다. 행렬 $A$를 구성하는 열벡터가 달라지면, 즉 $A$의 Column space가 달라지면 Null space 역시 달라지기 때문입니다.

이 Special solution을 사용하면 더 일반적인 형태의 연립방정식도 풀 수 있습니다. 이제는 등호의 오른쪽이 영벡터가 아닌 $A\mathbf{x} = 0$에 대해서 풀어봅시다. $b = (1,5,5)^T$ 인 경우를 예로 들어보겠습니다. 왼쪽은 위와 동일한 과정을 수행하되 오른쪽이 영벡터가 아니므로 고려하여 식을 변형해줍니다.

\[\left[\begin{array}{cccc|c} 1 & 3 & 3 & 2 & 1 \\ 2 & 6 & 9 & 7 & 5 \\ -1 &-3 & 3 & 4 & 5\end{array} \right] \Rightarrow \left[\begin{array}{cccc|c} 1 & 3 & 0 & -1 & -2 \\ 0 & 0 & 1 & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 \end{array} \right]\]

이 때에도 해를 구하는 방법은 동일합니다. 피봇 변수에 대해 식을 정리한 후에 자유 변수와 상수에 대하여 식을 묶어내면 됩니다. 이 과정을 수행하면 아래와 같이 식을 나타낼 수 있습니다.

\[\left[\begin{array}{ccc} u \\ v \\ w \\ z\end{array} \right] = \left[\begin{array}{ccc} -3v+z-2 \\ v \\ -z+1 \\ z\end{array} \right] = v\left[\begin{array}{ccc} -3 \\ 1 \\ 0 \\ 0\end{array} \right] + z\left[\begin{array}{ccc} 1 \\ 0 \\ -1 \\ 1\end{array} \right] + \left[\begin{array}{ccc} -2 \\ 0 \\ 1 \\ 0\end{array} \right]\]

여기서 Special solution 뒤에 새로 더해진 부분은 Particular solution이라고 하며 $X_p$로 나타냅니다.

Fundamental Subspace

위에서 알아본 Column space, Null space 등의 특정한 의미를 가지는 부분 공간을 주요 부분 공간(Fundamental subspace)라고 합니다. 앞서 등장한 두 개의 부분공간 외에도 Row space와 Left-Null space가 있습니다. 먼저 Column space부터 다시 알아보겠습니다.

행렬 $A$의 Column space란 행렬 $A$를 구성하는 열벡터가 형성하는 벡터 공간입니다. 기호로는 $\mathbf{C}(A)$로 나타냅니다. Null space는 조건 $A\mathbf{x} = 0$ 을 만족하는 $\mathbf{x}$가 공간입니다. 기호로는 $\mathbf{N}(A)$로 나타냅니다. 나머지 두 주요 부분 공간도 크게 다르지 않습니다.

행렬 $A$의 Row space란 행렬 $A$를 구성하는 행벡터가 형성하는 벡터 공간이며 기호로는 $\mathbf{C}(A^T)$로 나타냅니다. Left-Null space는 조건 $A^T\mathbf{y} = 0$ 을 만족하는 $\mathbf{y}$가 형성하는 벡터 공간이며 기호로는 $\mathbf{N}(A^T)$로 나타냅니다. Column space와 Null space가 관계를 가지고 있었던 것처럼 Row space와 Left Null space도 관계를 가지고 있음을 알 수 있습니다.



Comments