벡터 공간
벡터 공간의 정의
집합 \(V\) (단, \(V \ne \emptyset\))의 두 원소 \(x\)와 \(y\)에 대해 \(x + y\)와 \(cx\)가 정의되고 \(x\)와 \(y\)가 아래 8가지 법칙을 만족할 때, \(V\)를 벡터 공간 (vector space)이라고 한다.
- \(x + y = y + x\)
- \((x + y) + z = x + (y + z)\)
- \(x + (-x) = (-x) + x = 0\)을 만족하는 원소 \(\mathbf{0}\)이 벡터 공간에 단 하나만 존재한다.
- \(x + (-x) = 0\)을 만족하는 원소 \(-x\)가 벡터 공간에 단 하나만 존재한다.
- \(1x = x\)
- \((c_1c_2)x = c_1(c_2x)\)
- \(c(x + y) = cx + cy\)
- \((c_1 + c_2)x = c_1x + c_2x\)
벡터 공간의 종류에는 \(n\)개의 성분을 가진 모든 열 벡터 (column vector)의 집합을 나타내는 \(R^n\), 행렬의 집합을 나타내는 \(M\), 실수 함수 (real function)의 집합을 나타내는 \(F\), 그리고 집합의 원소가 영 벡터 (zero vector) 단 하나인 \(Z\) 등이 있다.
예를 들면, \(\begin{bmatrix}1.25 \\ 5\end{bmatrix}\)는 \(R^2\)의 원소이고, \(\mathbf{0}\)은 \(Z\)의 원소이다.
부분 공간
\(R^n\)이 \(n\)차원의 공간이라고 생각해보자. 그러면 \(R^3\)은 \(3\)차원의 공간이 되는데, 이제 \(R^3\)에서 영 벡터 \((0, 0, 0)\)를 지나는 무수히 많은 직선 또는 평면 중에 하나를 생각해보자. 이 직선 또는 평면은 \(R^3\)의 모든 원소를 포함하지는 않지만 \(R^n\)의 공간 중 일부가 된다.
이처럼 벡터 공간 \(V\)의 부분 집합 \(W\) (단, \(W \ne \emptyset\))가 \(V\)와 마찬가지로 영 벡터를 포함하고, \(W\)의 두 원소 \(x\)와 \(y\)에 대해 \(x + y\)와 \(cx\)가 정의되어 있을 때, \(W\)를 \(V\)의 부분 공간 (subspace)라고 한다.
열 공간
연립 일차 방정식 \(Ax = b\)를 열의 관점으로 다시 보면 \(Ax\)는 \(A\)의 각 열에 대한 선형 결합을 뜻하므로, \(Ax = b\)의 해를 구한다는 것은 \(b\)를 \(Ax\) 형태의 선형 결합으로 나타내는 것이다.
이때, \(A\)의 각 열에 대한 모든 선형 결합 \(Ax\)가 속한 부분 공간을 열 공간 (column space) \(C(A)\)라고 한다.
예를 들어, \(\begin{bmatrix}0 & 1 \\ 3 & 4 \\ 3 & 2\end{bmatrix}\)의 열 공간은 \(\begin{bmatrix}0 \\ 3 \\ 3\end{bmatrix}\)과 \(\begin{bmatrix}1 \\ 4 \\ 2\end{bmatrix}\)의 모든 선형 결합이 포함된 평면으로 나타낼 수 있다.
부분 공간의 “생성”
벡터 공간 \(V\)에서 부분 집합 \(S = \{x_1, x_2, \cdots, x_k\}\)를 임의로 선택하면, \(x_1, x_2, x_3, \cdots, x_k\)로 만들어지는 모든 선형 결합의 집합 \(SS = \{c_1x_1 + c_2x_2 + \cdots + c_kx_k \ | \ c_1, c_2, \cdots, c_k \in R\}\)는 부분 공간이 되는데, 이처럼 \(S\)의 선형 결합을 통해 부분 공간 \(SS\)를 만드는 것을 “생성” (span)이라고 한다.
영 공간
\(m \times n\)의 직사각형 행렬 \(A\)에 대한 연립 일차 방정식 \(Ax = 0\)의 해는 \(A\)가 가역 행렬인지 비가역 행렬인지에 따라 달라진다. \(A\)가 가역 행렬이라면 방정식의 해는 \(x = 0\) 단 하나뿐이겠지만, \(A\)가 비가역 행렬이라면 \(x = 0\)이 아닌 해 (nonzero solutions)가 존재한다.
이와 같이 \(Ax = 0\)의 해가 되는 모든 \(x\)가 속한 부분 공간을 \(A\)의 영 공간 (null space) \(N(A)\)라고 한다. 예를 들면, \(A = \begin{bmatrix}1 & 2 \\ 2 & 4\end{bmatrix}\)일 때 \(Ax = 0\)에 소거법을 적용하면,
$$ \begin{cases} x_1 + 2x_2 = 0 \\ 2x_1 + 4x_4 = 0 \end{cases} $$$$ \rightarrow \begin{cases} x_1 + 2x_2 = 0 \\ 0 = 0 \end{cases} $$\(x_1 + 2x_2 = 0\) 하나만 남게 되므로 이 직선 위에 있는 모든 벡터가 바로 \(N(A)\)가 된다.
피봇 열과 자유 열
주어진 행렬을 상삼각 행렬과 같이 더 간단한 형태로 만들면 만들수록 연립 방정식의 해를 더 쉽게 구하고 행렬의 특성도 더 쉽게 파악할 수 있다. 상삼각 행렬에 아래 두 가지 과정을 추가로 거쳐 만들어지는 행렬을 기약 행 사다리꼴 (Reduced Row Echelon Form, RREF) 행렬이라고 하며, \(R\) 또는 \(rref(A)\)와 같이 나타낸다.
- 소거법을 통해 피봇 위의 모든 성분을 \(0\)으로 만든다.
- 각 행을 피봇으로 나눠 피봇 성분을 \(1\)로 만든다.
아래와 같은 행렬 \(A\)에 소거법을 적용해 \(U\)를 만들었다고 하자.
$$ A = \begin{bmatrix} 1 & 2 & 2 & 4 \\ 3 & 8 & 6 & 16 \\ \end{bmatrix} $$$$ U = \begin{bmatrix} 1 & 2 & 2 & 4 \\ 0 & 2 & 0 & 4 \\ \end{bmatrix} $$\(U\)에 위 1번 과정과 2번 과정을 차례대로 거치면 기약 행 사다리꼴 행렬 \(R\)이 만들어진다.
$$ U' = \begin{bmatrix} 1 & 0 & 2 & 0 \\ 0 & 2 & 0 & 4 \\ \end{bmatrix} $$$$ R = \begin{bmatrix} 1 & 0 & 2 & 0 \\ 0 & 1 & 0 & 2 \\ \end{bmatrix} $$\(R\)의 첫 번째 열과 두 번째 열처럼 피봇이 존재하는 열을 피봇 열 (pivot column)이라 하고, 그렇지 않은 열을 자유 열 (free column)이라 한다. 자유 열에서 “자유"의 의미는 변수의 값을 임의로 정할 수 있다는 것을 뜻하는데, 예를 들어 아래 \(Rx = 0\)에서 자유 변수 \(x_3\)과 \(x_4\)의 값을 \(x_3 = 1, x_4 = 0\)이라 하면, 피봇 변수인 \(x_1\)과 \(x_2\)의 값은 \(x_1 = -2, x_2 = 0\)로 정해진다. 자유 변수의 값을 \(0\), (\1) 등으로 임의로 정하여 만들어지는 해 \(x_n\)을 특별 해 (special solution)이라고 한다.
$$ \begin{cases} x_1 + 2x_3 = 0 \\ x_2 + 2x_4 = 0 \end{cases} $$영 공간의 핵심은 \(A\)를 \(U\)나 \(R\)과 같이 더 간단한 형태로 만들더라도 영 공간은 변하지 않는다는 것이다. 즉, \(N(A) = N(U) = N(R)\)이다. 따라서 주어진 행렬의 특성을 더 쉽게 파악하기 위해서는 \(A\)를 RREF 형태로 변환하는 것이 좋다.
행렬의 계수
행렬의 크기가 크다고 해서 꼭 방정식의 개수가 많은 것은 아닌데, 그 이유는 행렬에 소거법을 적용함에 따라 모든 성분이 \(0\)인 행이 생길 수도 있기 때문이다. \(m \times n\) 행렬 \(A\)에 존재하는 피봇의 개수를 \(A\)의 계수 (rank)라고 하며, \(A\)의 계수 \(r\) 또는 \(rank(A)\)는 곧 연립 방정식에서 유효한 방정식의 개수를 나타낸다.
특수 해와 완전 해
이제 \(Ax = 0\) 대신 \(Ax = b\) (\(b \ne 0\))의 해를 구해보자. 먼저 행렬 \(A\)에 \(b\) 열을 추가하여 첨가 행렬 ([A \ b])를 만든다.
$$ [A \ b] = \begin{bmatrix} 1 & 3 & 0 & 2 & | & 1 \\ 0 & 0 & 1 & 4 & | & 6 \\ 1 & 3 & 1 & 6 & | & 7 \\ \end{bmatrix} $$그 다음에는 \([A \ b]\)에 소거법을 적용하여 \(Rx = d\) 형태로 만든다.
$$ [R \ d] = \begin{bmatrix} 1 & 3 & 0 & 2 & | & 1 \\ 0 & 0 & 1 & 4 & | & 6 \\ 0 & 0 & 0 & 0 & | & 0 \\ \end{bmatrix} $$\(Rx = d\)의 해를 구할 수 있는 가장 간단한 방법은 자유 변수의 값을 모두 \(0\)으로 정하고, 피봇 변수의 값을 \(d\)에서 갖고 오는 것인데, 이러한 방법으로 구한 해 \(x_p\)를 특수 해 (particular solution)라고 한다.
$$ Rx_p = R\begin{bmatrix} 1 \\ 0 \\ 6 \\ 0 \end{bmatrix} = d $$지금까지 살펴본 내용을 정리하면, 특수 해 \(x_p\)는 자유 변수의 값을 모두 \(0\)으로 정하여 얻을 수 있는 \(Ax = b\)의 해 중 하나이고 특별 해 \(x_n\)은 \(Ax_n = 0\)을 만족하는 여러 개의 해로 자유 변수의 값을 임의로 정해 얻을 수 있다. 따라서 \(Ax_p = b\)이고 \(Ax_n = 0\)이므로 \(A(x_p + x_n) = b\), 즉 \(x = x_p + x_n\)이 되며 이러한 과정으로 만든 해 \(x = x_p + x_n\)를 \(Ax = b\)의 완전 해 (complete solution)라 한다.
\(A\)가 (정사각) 가역 행렬이라면 \(Ax = b\)을 만족하는 특수 해는 \(x = A^{-1}b\) 단 하나뿐이고, \(A\)에는 자유 변수가 하나도 존재하지 않기 때문에 특별 해 또한 존재하지 않는다. 따라서 가역 행렬의 완전 해 \(x = x_p + x_n = A^{-1}b\)이다.
행렬의 크기와 계수
…