벡터 공간(vector space)과 부분공간
벡터들의 식 1과 같은 집합 V의 벡터들 사이의 선형결합이 성립한다는 것은 선으로 표시되는 벡터들에 의해 n차원 등의 공간이 형성된다는 것을 의미합니다. 또한 선형결합의 성립은 그 결과 역시 피연산자인 벡터들에 의해 성립되는 공간에 포함되므로 집합 V에 포함됩니다. 이 집합 V를 벡터 공간(Vector space)라고 하며 그 공간내에 포함된 벡터들 사이에 다음의 연산이 성립됩니다.
V = {v1, v2, …,vn} | (식 1) |
u, v ∈ Vector → u+v ∈ Vector |
α ∈ scalar, u ∈ Vector → αu ∈ Vector |
u + v = v + u (교환법칙) |
u + (v + w) = ( u + v) + w (결합법칙) |
모든 요소가 0인 0벡터(zero vector)가 존재 |
u + (-u) = 0 |
α, β ∈ scalar, u ∈ Vector → α(βu) = (αβ) |
α ∈ scalar and u ∈ Vector → α(u + v) = αu + αv (분배법칙) |
α, β ∈ scalar and u ∈ Vector → (α + β)u = α u + β u (분배법칙) |
u ∈ V → 1·u = u |
식 2는 두 벡터 u와 v의 선형결합을 나타낸 것입니다. 이 관계가 성립한다는 것은 두 벡터를 기본으로 하는 공간의 확대와 축소내에 선형결합의 결과가 존재함을 의미합니다. 벡터 u, v 그리고 그들의 선형결합 결과인 벡터들이 존재하는 벡터공간을 부분공간(subspace)이라 합니다. 이 관계에서 0에 의한 스칼라배는 0벡터를 생성하므로 모든 벡터공간의 부분공간이 됩니다.
\begin{align}u&=\begin{bmatrix} a_1\\a_2\\ \vdots \\a_n\end{bmatrix} \in W, \quad v=\begin{bmatrix} b_1\\b_2\\ \vdots \\b_n\end{bmatrix} \in W \\ \Rightarrow & \begin{cases}c_1\begin{bmatrix} a_1\\a_2\\ \vdots \\a_n\end{bmatrix} \in W, \quad c_2\begin{bmatrix} b_1\\b_2\\ \vdots \\b_n\end{bmatrix} \in W & \text{scalar product}\\ c_1\begin{bmatrix} a_1\\a_2\\ \vdots \\a_n\end{bmatrix}+ c_2\begin{bmatrix} b_1\\b_2\\ \vdots \\b_n\end{bmatrix} \in W & \text{sum}\end{cases}\\ & c_1, c_2:\; \text{scalar}\end{align} | (식 2) |
식 2의 선형결합이 성립한다면 벡터 u와 v의 차원과 결과의 차원은 모두 ℝn이 됩니다. 그러므로 이 선형결합은 Rn 차원의 벡터들 사이에서 이루어지는 것으로 그 차원의 모든 벡터들이 존재하는 부분이 벡터공간이 되며 선형결합의 각 구성요소들과 결과들이 포함된 W는 부분공간이 됩니다.
부분공간은 다음과 같이 정리할 수 있습니다.
부분공간
u, v ∈ ℝn의 두 벡터에 대해 부분공간은 다음이 성립합니다.
- 모든 벡터 공간(V)내의 0벡터는 부분 공간(W)이 됩니다.
- u, v ∈ W → u + v ∈ W
- v ∈ W → cv ∈ W
u와 v는 벡터(Vector)이고 c는 스칼라(Scalar)를 나타냅니다.
위 연산 1과 2가 성립하는 선형결합의 결과벡터는 벡터 공간인 ℝn의 부분공간이 됩니다. 결과적으로 실수 ℝn의 부분 공간은 다음 중 하나를 의미합니다.
- 동차 선형 시스템의 모든 해(solution)집합
- 특정한 벡터들의 모든 선형 결합의 집합
예 1)
다음 선형 결합의 성립 여부를 결정하여 봅니다.
$$\begin{aligned}x-3y&=0\\x-y&=0\\x&=0\\y&=0 \end{aligned} \Rightarrow \begin{bmatrix}1&-3\\1&-1\\1&0\\0&1 \end{bmatrix}\begin{bmatrix} x\\y\end{bmatrix}=\begin{bmatrix}0\\0\\0\\0 \end{bmatrix}$$
A=np.array([[ 1, -3], [-1, 1], [ 1, 0], [0, 1]]) c=np.zeros([4,1]) au=np.hstack([A, c]) print(au)
[[ 1. -3. 0.] [-1. 1. 0.] [ 1. 0. 0.] [ 0. 1. 0.]]
Matrix(au).rref()
(Matrix([ [1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 0, 0]]), (0, 1))
위 기약행사다리꼴에서 자유변수가 없으므로 자명한 해가 존재합니다. 즉, 행렬 A에 의한 동차선형결합이 성립합니다.
A를 구성하는 각 벡터 u, v와 그들의 선형결합 결과는 R4의 부분공간(W)이 됩니다. 즉, 그 부분공간 W는 벡터 u와 v를 기본으로 그들의 확대 또는 수축의 결과이므로 그 벡터들은 W의 스판(span)이 됩니다(식 3).
W = span{u, v} | (식 3) |
위의 결과는 다음과 같이 정리할 수 있습니다.
부분공간의 스판
벡터공간 V를 구성하는 벡터들에 의한 선형 결합의 결과 W는 V의 부분공간이 됩니다. 그러므로 식 4에서 나타낸 것과 같이 V에 포함되고 선형결합을 구성하는 벡터들은 W의 span이 됩니다.
v1, v2, …, vp ⊂ V (벡터공간) | (식 4) |
W = Span {v1, v2, …, vp} |
예 2)
세 개의 벡터 v1, v2, v3는 벡터 공간 R3에 존재합니다. 다음 벡터 y 역시 이 공간에 존재하기 위한 h값을 결정합시다.
$$v_1=\begin{bmatrix}1\\-2\\-2\end{bmatrix}\quad v_2=\begin{bmatrix} 15\\-4\\-7\end{bmatrix}\quad v_3=\begin{bmatrix} -3\\1\\0\end{bmatrix}\quad y=\begin{bmatrix} -4\\3\\h\end{bmatrix}$$
벡터들 사이에 선형 결합이 성립하는지를 결정하는 것입니다. 그러나 벡터 y에 미지수 h가 포함되어 있습니다. 미지수가 포함된 연산은 sympy 라이브러리의 symbols() 함수를 사용합니다. 이 함수는 기호를 연산할 수 있는 미지수로 변환하기 때문에 미지수를 포함하는 다양한 연산이 가능합니다.
v1=np.array([1,-2,-2]).reshape(-1,1) v2=np.array([5,-4, -7]).reshape(-1,1) v3=np.array([-3, 1, 0]).reshape(-1,1) V=np.hstack([v1,v2,v3]) print(V)
[[ 1 5 -3] [-2 -4 1] [-2 -7 0]]
h=symbols("h") y=Matrix([[-4], [3], [h]]) y
$\left[\begin{matrix}-4\\3\\h\end{matrix}\right]$
다음은 rref() 함수를 적용하기 의해 확대행렬(augment matrix)을 생성한 것입니다. 이 결과는 출력 형태의 조정을 위해 sympy 객체를 array 객체로 변환하였습니다.
au=Matrix(V).row_join(y) au
$\left[\begin{matrix}1 & 5 & -3 & -4\\-2 & -4 & 1 & 3\\-2 & -7 & 0 & h\end{matrix}\right]$
au.rref()
(Matrix([ [1, 0, 0, h/3 - 5/3], [0, 1, 0, 10/21 - 5*h/21], [0, 0, 1, 11/7 - 2*h/7]]), (0, 1, 2))
위 결과에 의하면 자유 변수가 존재하지 않으므로 h 값에 관계없이 벡터들의 선형 관계는 성립합니다. 결과적으로 벡터 v1, v2, v3은 y의 span이고 y는 ℝ3 차원의 벡터공간의 부분공간이 됩니다(식 5).
y = Span{v1, v2, v3} | (식 5) |
v1, v2, v3 ⊂ ℝ3 → y ∈ ℝ3 |
댓글
댓글 쓰기