https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/video_galleries/video-lectures/
오늘은 "4 Fundmental Subspaces"에 대해서 알아본다.
A : m × n A:m\times n A : m × n 의 subspaces 종류는 다음과 같다.
columnspace: C ( A ) ∈ R m C(A) \in \mathbb{R}^m C ( A ) ∈ R m
nullspace: N ( A ) ∈ R n N(A) \in \mathbb{R}^n N ( A ) ∈ R n
rowspace: all combinations of rows of A = all combinations of columns of A T A^T A T = C ( A T ) ∈ R n C(A^T) \in \mathbb{R}^n C ( A T ) ∈ R n
nullspace of A T A^T A T : left nullspace of A A A = N ( A ) T ∈ R m N(A)^T \in \mathbb{R}^m N ( A ) T ∈ R m
이전 강의들에서 columnspace와 nullspace에 대해서는 배웠지만, 이번에는 rowspace와 nullspace of A T A^T A T 라는 새로운 subspace들을 다룬다.
우선 각 subspace들의 basis와 dimension을 정리해보자.
C ( A ) C(A) C ( A )
dimension : r r r (rank)
bias : pivot columns
C ( A T ) C(A^T) C ( A T )
dimension : r r r (위 칼럼스페이스와 동일하게 피벗의 수인 rank만큼의 차원을 갖는다.)
bias : ?
N ( A ) N(A) N ( A )
dimension : n − r n-r n − r (# of free variables)
bias : special solutions
N ( A T ) N(A^T) N ( A T )
dimension : m − r m-r m − r (마찬가지로 # of free variables이지만, 이는 행에 대해서 적용하기 때문에 m − r m-r m − r 로 연산한다.)
bias : ?
그렇다면 C ( A T ) C(A^T) C ( A T ) 와 N ( A T ) N(A^T) N ( A T ) 의 bias는 어떻게 구할 수 있을까? 예시와 함께 보자.
ex.
A = [ 1 2 3 1 1 1 2 1 1 2 3 1 ] → [ 1 2 3 1 0 − 1 − 1 0 0 0 0 0 ] → [ 1 0 1 1 0 1 1 0 0 0 0 0 ] = R A = \begin{bmatrix} 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 1 \\ 1 & 2 & 3 & 1 \\ \end{bmatrix} \rightarrow \begin{bmatrix} 1 & 2 & 3 & 1 \\ 0 & -1 & -1 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} \rightarrow \begin{bmatrix} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} = R A = ⎣ ⎢ ⎡ 1 1 1 2 1 2 3 2 3 1 1 1 ⎦ ⎥ ⎤ → ⎣ ⎢ ⎡ 1 0 0 2 − 1 0 3 − 1 0 1 0 0 ⎦ ⎥ ⎤ → ⎣ ⎢ ⎡ 1 0 0 0 1 0 1 1 0 1 0 0 ⎦ ⎥ ⎤ = R
그리고 위 예시에서 R의 칼럼 공간이 A의 칼럼 공간과 같다고 생각할 수 있는데, 이는 잘못된 생각이다.
왜냐하면 R은 A의 로우 공간에서 로우들의 조합을 변경하면서 나온 값이기에, 이는 로우스페이스를 의미한다. 따라서 R과 A는 같은 로우 공간을 갖는다고 해석할 수 있다.
C ( R ) ≠ C ( A ) b u t , “same rowspace" C(R) \ne C(A) \ but, \ \text{``same rowspace"} C ( R ) = C ( A ) b u t , “same rowspace"
그리고 위에서 basis는 [ 1 0 1 1 ] \begin{bmatrix} 1 & 0 & 1 & 1 \\ \end{bmatrix} [ 1 0 1 1 ] 와 [ 0 1 1 0 ] \begin{bmatrix} 0 & 1 & 1 & 0 \\ \end{bmatrix} [ 0 1 1 0 ] 이다. 즉, 다음과 같이 표현할 수 있다.
basis of C ( A T ) = first r rows of R \text{basis of $C(A^T)$ = first $r$ rows of $R$} basis of C ( A T ) = first r rows of R
다음으로 N ( A T ) N(A^T) N ( A T ) 의 basis를 구해보자.
이전 강의(lecture 3)에서 배웠던 "Gauss-Jordan" 방법을 적용해보자.
lecture3 내용)
[ A m × n I m × m ] → [ R m × n E m × m ] [A_{m\times n}I_{m\times m}] \rightarrow [R_{m\times n}E_{m\times m}] [ A m × n I m × m ] → [ R m × n E m × m ]
[ 1 2 3 1 1 0 0 1 1 2 1 0 1 0 1 2 3 1 0 0 1 ] → [ 1 2 3 1 1 0 0 0 − 1 − 1 0 − 1 1 0 0 0 0 0 − 1 0 1 ] → [ 1 0 1 1 − 1 2 0 0 1 1 0 1 − 1 0 0 0 0 0 − 1 0 1 ] \begin{bmatrix} \begin{array}{c c c c | c c c} 1 & 2 & 3 & 1 & 1 & 0 & 0 \\ 1 & 1 & 2 & 1 & 0 & 1 & 0 \\ 1 & 2 & 3 & 1 & 0 & 0 & 1 \\ \end{array} \end{bmatrix} \rightarrow \begin{bmatrix} \begin{array}{c c c c | c c c} 1 & 2 & 3 & 1 & 1 & 0 & 0 \\ 0 & -1 & -1 & 0 & -1 & 1 & 0 \\ 0 & 0 & 0 & 0 & -1 & 0 & 1 \\ \end{array} \end{bmatrix} \\ \rightarrow \begin{bmatrix} \begin{array}{c c c c | c c c} 1 & 0 & 1 & 1 & -1 & 2 & 0 \\ 0 & 1 & 1 & 0 & 1 & -1 & 0 \\ 0 & 0 & 0 & 0 & -1 & 0 & 1 \\ \end{array} \end{bmatrix} ⎣ ⎢ ⎡ 1 1 1 2 1 2 3 2 3 1 1 1 1 0 0 0 1 0 0 0 1 ⎦ ⎥ ⎤ → ⎣ ⎢ ⎡ 1 0 0 2 − 1 0 3 − 1 0 1 0 0 1 − 1 − 1 0 1 0 0 0 1 ⎦ ⎥ ⎤ → ⎣ ⎢ ⎡ 1 0 0 0 1 0 1 1 0 1 0 0 − 1 1 − 1 2 − 1 0 0 0 1 ⎦ ⎥ ⎤
따라서 E A = R EA = R E A = R 임을 알 수 있다.
[ − 1 2 0 1 − 1 0 − 1 0 1 ] ⏟ E [ 1 2 3 1 1 1 2 1 1 2 3 1 ] ⏟ A = [ 1 0 1 1 0 1 1 0 0 0 0 0 ] ⏟ R \underbrace{ \begin{bmatrix} -1 & 2 & 0 \\ 1 & -1 & 0 \\ -1 & 0 & 1 \\ \end{bmatrix} }_{E} \underbrace{ \begin{bmatrix} 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 1 \\ 1 & 2 & 3 & 1 \\ \end{bmatrix} }_{A} = \underbrace{ \begin{bmatrix} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ \end{bmatrix} }_{R} E ⎣ ⎢ ⎡ − 1 1 − 1 2 − 1 0 0 0 1 ⎦ ⎥ ⎤ A ⎣ ⎢ ⎡ 1 1 1 2 1 2 3 2 3 1 1 1 ⎦ ⎥ ⎤ = R ⎣ ⎢ ⎡ 1 0 0 0 1 0 1 1 0 1 0 0 ⎦ ⎥ ⎤
그리고 위에서 N ( A T ) N(A^T) N ( A T ) 의 bias는 어떻게 추론할 수 있을까? 우선 N ( A T ) N(A^T) N ( A T ) 은 "left nullspace of A"로, 즉, E E E 를 의미한다. 그리고 해당 차원은 n − r = 3 − 2 = 1 n-r=3-2=1 n − r = 3 − 2 = 1 로 1이 된다. 따라서 bias를 이루는 벡터는 1개만 존재할 것이다.
그리고 위에서 R R R 을 보면, r o w 3 row_3 r o w 3 가 0인 것을 알 수가 있고, N ( A T ) N(A^T) N ( A T ) 는 결과가 0이 되는 벡터를 찾아야 하기 때문에, E E E 의 r o w 3 row_3 r o w 3 인 [ − 1 0 1 ] [-1 \ 0 \ 1] [ − 1 0 1 ] 이 bias라고 볼 수 있다.