for textmining

벡터공간, 부분공간, 열공간, 영공간

|

이번 글에서는 벡터공간, 부분공간, 열공간, 영공간, 차원, 기저, 위수 등 선형대수학의 기본 개념들에 대해 살펴보겠습니다. 이번 글은 고려대 박성빈 교수님 강의와 David C. Lay의 Linear Algebra (4th edition)을 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

벡터공간의 정의

다음 조건을 만족하는 벡터 집합 $V$를 벡터공간(Vector Space)이라고 합니다. $u, v, w$는 $V$에 속하는 임의의 벡터, $c,d$는 임의의 스칼라입니다.

(1) $u+v∈V$

(2) $u+v=v+u$

(3) $(u+v)+w=u+(v+w)$

(4) $u+0=u$를 만족하는 영벡터가 $V$의 원소이다.

(5) $u+(-u)=0$을 만족하는 벡터 u가 $V$의 원소이다.

(6) $cu∈V$

(7) $c(u+v)=cu+cv$

(8) $(c+d)u=cu+du$

(9) $c(du) = (cd)u$

(10) $1u = u$

그러면 벡터공간의 예 몇 가지를 살펴보도록 하겠습니다. 우선 $R^n(n≥2)$는 벡터공간의 자명한 예입니다. 실수는 사칙연산에 대해 닫혀 있고, 항등원과 역원이 존재하므로 (1)~(10)이 모두 성립합니다.

이번엔 최고차항이 $n$차인 모든 다항식의 집합 $P_n$은 벡터공간임을 증명해보겠습니다. $p,q$는 $P_n$의 임의의 원소 두 개입니다.

다항식은 스칼라곱과 교환, 결합법칙이 성립하고, 영벡터(모든 계수가 0)도 원소가 되므로 (1)~(10)이 모두 성립합니다. 따라서 $P_n​$은 벡터공간이 됩니다.

이번엔 모든 실수치함수(real-valued functions)로 구성된 집합이 벡터공간임을 살펴보겠습니다. 이 공간의 원소는 다항함수, 삼각함수, 로그함수 등 모든 종류의 실수치함수입니다.

실수치함수도 스칼라곱과 교환, 결합법칙이 성립하고, 영벡터도 원소가 되므로 (1)~(10)이 모두 성립합니다. 따라서 모든 실수치함수로 구성된 집합은 벡터공간이 됩니다.

부분공간

벡터공간 $V$의 부분집합인 $H$가 다음을 만족할 때 부분공간(subspace)이라고 합니다.

(1) $V$에 속하는 영벡터(zero vector)가 $H$의 원소이다.

(2) $u, v∈H$, $u+v∈H, v+u∈H$

(3) $u∈H$이고 임의의 스칼라 $c$에 대해 $cu∈H$

예를 들어 보겠습니다. $v_1$과 $v_2$를 $n$차원 벡터, H=span{$v_1, v_2$}라고 두겠습니다. 그러면 $H$는 $R^n$의 부분공간입니다. 왜냐하면 $H$에 영벡터가 포함($0v_1+0v_2$)되어 있고 span의 정의에 의해 덧셈과 스칼라 곱에 닫혀 있기 때문입니다. $v_1$과 $v_2$를 2차원 벡터라고 두면 $H$는 아래 그림처럼 원점을 지나는 평면이 될 겁니다.

이번엔 H=span{$v_1, kv_1$}이라 두겠습니다($v_1≠0$). 이때 $H$도 $R^n$의 부분공간이 되고, 아래 그림처럼 원점을 지나는 직선이 될 겁니다.

하지만 아래 예처럼 원점을 통과하지 않는 직선은 $R^n$의 부분공간이 될 수 없습니다. 영벡터가 포함되지 않을 뿐더러 덧셈이나 스칼라곱에 닫혀 있지 않기 때문입니다.

부분공간의 예 몇 가지를 더 살펴보겠습니다. $V$에 속하는 영벡터로만 구성된 벡터집합 {0}은 $V$의 영부분공간(zero subspace)입니다.

모든 다항식 집합 $P$는 모든 실수치함수 집합 $R$의 부분공간입니다. $P$에는 로그함수나 삼각함수가 원소로 포함되어 있지는 않기 때문에 $P$는 $R$의 부분집합이라고 할 수 있습니다. 아울러 영벡터를 원소로 가지면서 덧셈과 스칼라곱에 닫혀 있습니다.

최고차항이 $n$인 모든 다항식 집합 $P_n$는 $P$의 부분집합입니다. $P_n$에는 $n+1$차 이상의 다항식이 원소로 포함되어 있지는 않기 때문에 $P_n$은 $P$의 부분집합이라고 할 수 있습니다. 아울러 영벡터를 원소로 가지면서 덧셈과 스칼라곱에 닫혀 있습니다.

벡터 $v_1, v_2, …,v_p$가 벡터공간 $V$의 원소라면 이 벡터들의 선형결합으로 만들어진 벡터집합(span{$v_1,…,v_p$})은 $V$의 부분공간이 됩니다. 선형결합의 정의에 의해 영벡터를 포함하고 덧셈과 스칼라곱에 닫혀 있기 때문입니다.

마지막으로 $R^2$는 $R^3$의 부분공간이 아닙니다. 왜냐하면 $R^2$에 속한 벡터는 그 요소가 두 개뿐인데 $R^3$는 세 개여서 부분집합인지 여부조차 따질 수 없기 때문입니다.

열공간

행렬 $A$의 열공간(column space)은 행렬 $A$의 열벡터들의 선형결합이 만들어내는 모든 집합을 뜻합니다. 행렬의 크기가 $m * n$일 경우, $A$의 열공간은 $R^m$의 부분공간이 됩니다. $A$의 열벡터들이 $R^m$을 생성(span)할 때에만 $A$의 열공간이 $R^m$이 됩니다.

예를 들어보겠습니다. 아래 그림에서 행렬 $A$의 열공간은 파란색 네모칸과 같습니다. 첫번째 열벡터에 5배를 하고 두번째 열벡터에 3배를 해서 더하면 세번째 열벡터가 되기 때문에 열공간은 아래 그림처럼 평면이 됩니다. 선형시스템 $Ax=b$가 해를 가지려면 벡터 $b$가 $A$의 열공간 안에 존재해야 합니다.

열공간의 기저

$R^n$의 부분공간 $H$의 기저란 $H$를 생성하는 선형독립인 벡터 집합을 가리킵니다. 예컨대 아래 그림처럼 각각 $[1,0,0]^T$, $[0,1,0]^T$, $[0,0,1]^T$인 $e_1, e_2, e_3$는 $R^3$의 표준기저(standard basis)입니다.

그러면 다음 가우스행렬 $A$의 열공간의 기저를 찾아보겠습니다.

주축열(pivot column)인 첫번째, 두번째, 다섯번째 열벡터는 서로 선형독립입니다. 아울러 세번째 열벡터와 네번째 열벡터는 아래와 같이 각각 첫번째 벡터와 두번째 벡터의 선형결합으로 표시될 수 있습니다.

따라서 $A$의 열공간은 span{$a_1, a_2, a_5$}이며 $A$의 열공간의 기저는 $a_1, a_2, a_5$입니다.

영공간

$Ax=0$의 모든 해 집합을 행렬 $A$의 영공간(null space)이라고 합니다. $A$가 $n$개 열을 가졌다면 $A$의 영공간은 $R^n$의 부분공간이 됩니다.

영공간을 선형변환(linear transformation) 관점에서 이해할 수도 있습니다. $T$를 $n$차원 벡터 $x$를 $m$차원 영벡터로 변환하는 선형변환으로 둔다면 영공간 $NulA$는 아래 그림처럼 도식화할 수 있습니다.

차원과 위수

영공간이 아닌 부분공간 $H$의 차원(dimension)은 $H$의 기저의 개수를 가리킵니다. 영부분공간(zero subspace) {0}의 차원은 0으로 정의됩니다.

행렬 $A$의 위수(rank)는 $A$의 열공간의 차원을 가리킵니다. $A$가 $n$개 열로 구성된 행렬일 때 $rank A + dim Nul A = n$를 만족합니다.

$R^n$의 $p$차원 부분공간을 $H$라고 둡시다. $H$에 속한 선형독립인 임의의 $p$개 벡터 집합은 $H$의 기저가 됩니다. 아울러 $H$를 생성하는 $H$에 속한 임의의 $p$개의 벡터 집합은 $H$의 기저가 됩니다.

행렬 $A$가 $n*n$ 정방행렬일 때 다음 명제는 서로 동치입니다.

(1) $A$의 열공간은 $R^n$을 생성한다.

(2) $A$의 열벡터는 $R^n$의 기저이다.

(3) $A$의 열공간의 차원은 $n$이다.

(4) $A$의 위수는 $n$이다.

(5) $A$의 영공간은 {0}이다.

(6) $A$의 영공간의 차원은 0이다.

열공간 vs 영공간

열공간과 영공간의 차이점은 다음 표와 같습니다.

좌표계

좌표계(coordinate systems)의 정의는 다음과 같습니다. 우선 부분공간 $H$의 기저 집합이 B={$b_1, b_2, …,b_p$}라고 둡시다. $H$에 속한 임의의 $p$차원 벡터 $x$가 가중치 $c_1, c_2,…,c_p$와 B 사이의 선형결합으로 다음과 같이 표시될 때 $[x]_B$를 기저 B에 대한 좌표벡터라고 합니다.

예를 들어보겠습니다 $b_1=[3,6,2]^T$, $b_2=[-1,0,1]^T$, $x=[3,12,7]^T$, B={$b_1,b_2$}, H=span{$b_1,b_2$}라고 둡시다. 여기에서 $[x]_B$를 찾아봅시다. $x$가 $H$에 속한 벡터라면 다음의 벡터 방정식의 해가 존재해야 합니다.

이를 확대행렬(augmented matrix)로 나타난 뒤 기본행연산을 수행하면 다음과 같습니다.

따라서 $c_1=2$, $c_2=3$이 됩니다. 이를 직관적으로 나타내면 다음과 같습니다.

Comments