Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

선형대수

The four fundamental subspaces

1. Four fundamental subspaces

1.1 row space

행공간에는 행벡터의 모든 선형 결합 결과가 담겨 있다. 즉, 행벡터가 행공간을 생성한다. 그렇다고 해서 행벡터들이 모두 행공간의 기저는 아니다. 정확히는 기저일 수도 있고, 아닐 수도 있다.

■ 행들이 독립적이라면 행공간의 기저가 되지만, 종속적일 때는 기저가 될 수 없다.

■ 그리고 행렬에는 '전치'가 있기 때문에 행렬을 회전하면, 행에서 열로 관점을 바꿀 수 있다. 즉 A의 행벡터들이 AT의 열벡터가 되는 것이다.

그러므로 행공간을 AT의 열벡터들의 모든 선형 결합 결과가 담겨 있다고 할 수 있다. 즉 A의 행벡터들이 생성하는 공간과 AT의 열벡터들이 생성하는 공간은 동일한 공간이다.

row space=All combinations of rows of A=All combinations of columns of AT=C(AT)

1.2 left null space

■ left null space는 행렬 A 전치(AT)의 영공간이다. 

left null space=null space ofAT=N(AT)

Am×n이라면, A의 영공간에는 n개의 성분을 가진 벡터들, Ax=0의 해가 존재한다. 즉, A의 영공간은 Rn에 있다.

■ 그리고 A의 열공간은 Rm에 있다. 왜냐하면 Am×n이면, 열벡터는 m개의 성분을 가지고 있기 때문이다.

AT의 열공간은 n×m이므로 Rn의 부분공간이다.

N(AT)A의 전치에 대한 영공간이므로 C(AT)Rm, C(AT)Rn인 것처럼, N(A)Rn의 부분공간이므로 N(AT)Rm의 부분공간이다.

정리하면, 행렬 Am×n인 경우에 four fundamental subspaces는

- ① 행공간(row space)은 C(AT)이며, C(AT)Rn의 부분공간이다. 

- ② 열공간(row space)은 C(A)이며, C(A) Rm의 부분공간이다. 

- ③ 영공간(nullspace)은 N(A)이며, N(A) Rn의 부분공간이다. 

- ④ left nullspace는 N(AT)이며, N(AT) Rm의 부분공간이다. 

■ 정리한 기본적인 부분공간들을 그림으로 나타내면 다음과 같다.

[출처] Gilbert Strang - Introduction to Linear Algebra

- 열공간 C(A)의 차원은 계수(rank) r이다. dimC(A)=rank(A)=r

-- C(A)의 차원이 r인 이유는 rank는 pivot column의 수이므로 r개의 독립적인 열벡터가 열공간을 생성하기 때문이다.

- 동일한 이유로 행공간 C(A)T의 차원도 r이다. 

- 이를 통해 알 수 있는 것은 행공간과 열공간은 같은 차원을 가진다는 것이다. dimC(A)=dimC(AT)=r 

- 영공간을 구하기 위해서 행렬 A를 행사다리꼴행렬로 만들고 다시 기약행사다리꼴행렬로 만들어서 특수해(special solution)을 구하였다.

- 그리고 모든 특수해는 free variable에서 나왔다. 이 특수해들은 영공간에 있으며, 영공간의 기저가 되었다.

- m×n행렬에서 free variable의 수는 nr개이므로 영공간에는 nr개의 기저가 있는 것이다.

- 즉, 영공간의 차원 dimN(A)=nr이다.

- left nullspace는 A의 전치이므로 n×m이다. 그러므로 N(AT)의 공간은 동일한 이유로 mr이 된다. dimN(AT)=nr

■ 그리고 위의 big picture를 보면, 행공간 C(AT)와 영공간 N(A)가 직교(orthogonal)하고, 열공간 C(A)N(AT)가 직교하는 것을 확인할 수 있다.

■ 이렇게 공간과 공간이 직교한다는 것은 각 공간 안에 있는 벡터들끼리 내적했을 때, 내적값이 0이 된다는 의미를 내포하고 있다. 예를 들어 다음과 같은 행렬 A가 있을 때 영공간에 있는 벡터를 하나 구해보면,

■ 이 예에서 A의 행공간을 생성하는 A의 기저는 [1 2 3]과 [4 5 6]이다.

행공간 C(AT)와 영공간 N(A)가 직교하는지 확인하려면 영공간에 있는 벡터가 행공간에 있는 벡터 [1 2 3]과 [4 5 6]에 동시에 수직하는지 확인하면 된다.

■ 이 예시에서 행공간의 기저는 2개이므로 생성되는 행공간은 2차원 평면일 것이고, 열공간의 기저는 c를 스칼라라고 할 때, c[121]T이므로 열공간의 기저들이 생성하는 열공간은 하나의 직선이 된다. 그러므로 이 예시에서는 행공간의 기저가 만드는 평면에 열공간(직선)이 수직 관계를 갖지는 상황으로 이해할 수 있다.

 

■ 예를 들어 다음과 같이 m×n행렬 A를 기약행사다리꼴행렬 R로 만들었을 때, C(A)C(R)이다.

A에서 R을 만들기 위해 기본행연산을 수행하였다. 기본행연산 결과, 행공간을 만드는 행벡터는 AR모두 첫 번째 행과 두 번째 행임을 알 수 있다. 왜냐하면 기본행연산은 단순히 어떤 행의 실수배를 다른 행에 덧셈/뺄셈 연산을 수행하는 것이기 때문이다.

즉, 기본행연산을 수행해도 행공간이 보존된다. 그러나 기본행연산 결과 열벡터의 계수가 달라지므로 열공간은 보존되지 않는 것을 볼 수 있다. 즉, C(A)C(R)은 다른 열공간이다.

- 단, AR의 rank는 동일하다. 이는 기본행연산으로 열벡터들의 구체적인 값은 변경될 수 있지만, 열벡터들 간의 선형 독립성은 보존된다는 것을 의미하며, 기본행연산이 열공간의 차원은 변경하지 않는다는 것이다. 즉, 열공간의 기저의 개수는 동일하게 유지되므로 dimC(A)=dimC(R)

■ 이 예시에서 행공간의 기저는 첫 번째 행과 두 번째 행이다. 기본행연산 결과 세 번째 행의 모든 성분이 0이 된다는 것은 첫 번째 행과 두 번째 행의 선형 결합으로 세 번째 행을 만들 수 있다는 것이므로 세 번째 행은 공간을 생성할 때 아무것도 기여하지 않는다.

- 그러므로 이 예시에서 행공간의 기저는 [1 0 1 1]과 [0 1 1 0]이라고 할 수 있다.

■ 다음으로 left nullspace N(AT)AT의 영공간이다. 영공간에 있는 벡터를 y라고 했을 때 ATy=0이다. 

ATy=0은 다음과 같이 행렬과 열벡터의 곱이 0이 되는 상태이다.

■ 여기서 y를 왼쪽에 두고 싶으면 방정식 ATy=0를 전치시키면 된다.

- 00T와 동일하므로 ATy=0T라고 할 수 있다. 

(ATy)T=0TyTATT=0T이며 ATT=A이므로 방정식을 전치시킨 결과는 yTA=0T가 되며, 행벡터와 행렬을 곱하는 형태가 된다.

- 이렇게 ATy=0 방정식을 전치하면 해가 되는 y는 식의 왼쪽에 위치하기 때문에 left nullspace라고 부른다.

■ 이러한 ATy=0에서 어떻게 N(AT)의 기저는 가우스-조던 소거법을 활용하여 얻을 수 있다.

- 가우스 조던 소거법은 다음과 같이 원래 행렬에 단위행렬을 붙여 소거를 진행해서 E행렬(Elimination Matrix)를 만드는 것이다. 이때 A의 역행렬이 존재하면 E행렬이 A의 역행렬이 된다.

- 여기서 EA=R이 성립하며, EA1이 된다.

■ 예를 들어 행렬 A가 다음과 같을 때, 

기약행사다리꼴행렬 R을 만들기 위한 소거 과정을 진행하면

이를 EA=R형태로 표현하면 다음과 같다.

■ 이 예에서 A의 rank = 2이고 left nullspace의 차원은mr이므로 N(AT)=32=1차원임을 알 수 있다. 

그리고 위의 EA=R에서 left nullspace에 대한 기저를 확인할 수 있다. 바로 E의 세 번째 행이다. 

■ 그 이유는 R의 세 번째 행의 원소는 모두 0. 즉, 영벡터이다. 영벡터가 존재한다는 것은 A 벡터의 선형 결합으로 영벡터를 만들 수 있다는 의미이며,

이 예시에서 R의 세 번째 행의 성분을 모두 0으로 만드는 선형 결합은 다음과 같이  A의 행벡터와 E의 세 번째 행의 계수를 이용한 선형 결합이다.

■ 이렇게 영벡터를 만드는 과정은 yTA=0T와 동일하다. 즉, yT=[101]이며 이것은 R행렬에서 모든 성분이 0인 행에 대응되는 E행렬의 행이다.

'선형대수' 카테고리의 다른 글