Introduction
이번에 선형대수를 공부하면서 내용을 정리해보았습니다.
강의 영상 : https://ocw.mit.edu/courses/18-06-linear-algebra-spring-2010/video_galleries/video-lectures/
Video Lectures | Linear Algebra | Mathematics | MIT OpenCourseWare
This section contains a complete set of video lectures on linear algebra along with transcripts and related resource files.
ocw.mit.edu
스터디 github : https://github.com/jwkweon/study-linear-algebra
GitHub - jwkweon/study-linear-algebra
Contribute to jwkweon/study-linear-algebra development by creating an account on GitHub.
github.com
참고한 블로그 :
Lecture 7: Solving Ax = 0: pivot variables, special solutions
Lecture 7: Solving Ax = 0: pivot variables, special solutions (2018-04-30) - 좋아. 여기는 ...
blog.naver.com
[Linear Algebra] Lecture 7 Null Space계산 알고리즘. Ax=0과 Pivot variable 그리고 Free variable
우리는 지난 포스팅에서 영공간(Null Space)에 대해 공부하였다. 또한 벡터 공간(Vector Space)과 임의의 행렬 A의 Column space에 대해서도 공부하였다. 이번 포스팅에선 Null space를 구하는 절차, 즉 Ax=0의
twlab.tistory.com
(주로 https://twlab.tistory.com/21블로그의 사진과 내용을 보면서 공부했고 추가로 나머지 블로그를 참고하였습니다.)
(저는 제가 이해하기 쉽게 요약해서 적었으므로 좀더 자세히 공부하고싶다면 위 블로그를 참고하시면 됩니다.)
Ax=0의 해(Null space) 구하기
다음과 같은 3x4의 크기의 직사각 행렬(Rectangular Matrix) A가 있다해보자.
$$ A = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{bmatrix} $$
일단, A행렬을 잘 살펴보면 col2는 col1의 2배임을 알 수있다. 따라서, col1과 col2는 같은 방향을 나타내므로 상호 종속적(dependent)이다. 이번에 row를 보면 row1+row2 = row3임도 알 수 있다.
따라서, row3은 독립적이지 않다(not independent).
이렇게 눈으로 찾은 행렬의 특이점들은 A의 소거(Elimination)과정에서 나타날 것이다.
지금까지는 정방행렬(Square matrix)에 대해서만 공부했지만, 이번부터 직사각행렬(Rectangular matrix)에 대해 공부할 것이다. 또한 소거과정에서 pivot이 0이 나올 때 진행 방법도 배울 것이다.
Ax=0의 해 즉, 우변이 영 벡터일 때 만족하는 모든 벡터의 집합 Null space를 구하는 것이 목표이다.
Null space를 구하기 위해서는 A를 소거해야한다. 여기서, 중요한건 A를 소거하는 과정에서 Null space는 변하지 않는다.
즉, 소거 과정에서 column space는 바뀌더라도 해의 집합인 Null space는 바뀌지 않는다.
자세한 이유는 아래 직사각행렬 A를 소거하는 과정을 봐보자.
$$ \begin{align} A & = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{bmatrix} \\ & = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 3 & 6 & 8 & 10 \end{bmatrix} \\ & = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 0 & 0 & 2 & 4 \end{bmatrix} \end{align} $$
위 과정은 row1, col1의 원소를 피벗으로 소거하는 과정을 진행한 것이다. 따라서 피벗의 아래의 원소를 모두 0으로 만들었다. 여기서 여태까지 배운 행렬을 보면 다음 피벗은 row2, col2가 될것이다. 그러나 피벗의 값이 0이고, 이를 해결하기위해 Row exchang(행교환)을 해도 이 역시 0이다. 따라서, col2에 있어야할 피벗이 없는 이유는 무엇일까?
바로 A의 col2가 col1에 종속적(dependant)이기 때문이다. 즉, col1과 col2 벡터가 같은 선상에 위치한다는 의미이다.
이제, 피벗이 0이라고 소거를 멈추지말고 col2는 무시한채 row2, col3을 피벗으로 소거를 해보자.
$$ \begin{align} U & = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 0 & 0 & 2 & 4 \end{bmatrix} \\ & = \begin{bmatrix} 1 & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 0 & 0 & 0 & 0 \end{bmatrix} \end{align} $$
row2, col3을 피벗으로 소거를 진행했고, 이후 row3은 다 0이므로 피벗이 없으므로 소거는 끝이났다.
우리는 A행렬을 U행렬로 만들었다. 위의 U행렬을 보면 계단 형태를 가지는데, 이러한 계단형태의 U행렬을 echelon form이라 한다.
여기서 우리는 행렬 A 소거를 통해 중요한 것을 알 수 있는데 바로 피벗의 개수(number of pivots)가 2개라는 것이다.
무슨 의미이냐면 행렬 A의 Rank가 2라는 것이다.
요약하면, 임의의 행렬 A에 대해 U행렬을 얻기위해 소거를 했을 때, 소거 과정에서 나온 피벗의 개수가 행렬 A의 Rank이다. 즉, Rank of A = number of pivots이다.
Rank란 시스템 행렬 A의 선형 독립(Linearly independent)인 row 혹은 column 벡터의 수를 나타낸다.
우리가 구하려는건 Ax=0을 Ux=0으로 바꾼 후 Null space를 구하는 것이다.
Ax=0을 Ux=0으로 바꿨다 하더라도 column space는 변할지언정 해의 집합인 Null space는 동일하다.
즉, 소거과정에서 Null space는 변하지 않는다. 결국, Ax=0의 해나 Ux=0의 해는 같은 Null space이다.
이제, Ux=0의 해를 구해보자. Ux=0의 해를 구할 때는 다른 관점으로 바라봐야한다.
이제 pivot variable과 free varialbe을 공부할 것이며,
pivot이 있는 column을 pivot column(p.c)부르고, pivot이 없는 column을 free column(f.c)라 부른다.
free라는 이름을 사용한 이유는 free column에 대응 되는 변수(해)에 우리가 원하는 임의의 값을 자유롭게 설정할 수 있기 때문이다. 아래식을 봐보자. (이제부터 피벗에는 ( ) 괄호를 치겠다)
$$ Ux= \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \\ x_4 \end{bmatrix} $$
즉, free column인 col2와 col4에 대응되는 해인 $x_2$와 $x_4$은 우리가 원하는 값으로 설정할 수 있으며 이 두 값을 free variable 이라 부른다. 그런다음 pivot column과 대응되는 $x_1$과 $x_3$을 구하면 되고 이 두 값을 pivot variable이라 부른다. 참고로 free variable이 2개이므로 해 벡터를 2개 구할 수있는데 이때, free variable을 1, 0 으로 벡터 한개 구하고 그다음으로 0, 1로 설정하여 구하면 된다.
그냥 아래 그림으로 봐보자.
$$ Ux=0 \longrightarrow \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} \begin{bmatrix} x_1 \\ 1 \\ x_3 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} $$
위를 row*col로 풀어보면 row3의 경우 계수가 다 0이므로 2개의 방정식만이 나올 것이다.
$$ \begin{align} x_1 + 2 \times 1 + 2x_3 + 2 \times 0 &= 0 \\ 2x_3 + 4 \times 0 &=0 \end{align} $$
따라서, 후방 대입법으로 $x_3 = 0$, $x_1 = -2 $임을 알 수 있다.
$$ x = \begin{bmatrix} -2 \\ 1 \\ 0 \\ 0 \end{bmatrix} = c \begin{bmatrix} -2 \\ 1 \\ 0 \\ 0 \end{bmatrix} $$
위의 결과로나온 x에 임의의 상수 c를 곱해도 모두다 해가된다.
참고로, 위에서 구한 해를 column picture 형태로 구하면 다음과 같다.
$$ Ux=0 \longrightarrow \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} -2 \\ 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow -2\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} + 1 \begin{bmatrix} 2 \\ 0 \\ 0 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 2 \\ 0 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 4 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
$$ Ax=0 \longrightarrow \begin{bmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{bmatrix} \begin{bmatrix} -2 \\ 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow -2\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} + 1 \begin{bmatrix} 2 \\ 4 \\ 6 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 6 \\ 8 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 8 \\ 10 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
임의의 상수 c가 곱해진 x는 4차원 공간 $R^4$에서 무한대의 2차원 line(직선)을 표현한다.
이때, 직선은 반드시 Null space상에 존재할 것이다.
따라서, 위의 직선이 Ax=0, Ux=0의 모든 Null space를 나타낼까?
정답은 아니다. 아까 말했듯이 free variable이 2개이므로 2개의 해 벡터를 구할 수 있을것이다.
이번에는 free variable을 0, 1으로 설정하고 또다시 풀어보자.
$$ Ux=0 \longrightarrow \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} \begin{bmatrix} x_1 \\ 0 \\ x_3 \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} $$
$$ \begin{align} x_1 + 2 \times 0 + 2x_3 + 2 \times 1 &= 0 \\ 2x_3 + 4 \times 1 &=0 \end{align} $$
$$ x = \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} = d \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} $$
이번에는 구한 해 벡터에다 임의의 상수 d를 곱하였다. 마찬가지로 column picture로 풀어보자.
$$ Ux=0 \longrightarrow \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow 2\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 0 \\ 0 \end{bmatrix} + -2 \begin{bmatrix} 2 \\ 2 \\ 0 \end{bmatrix} + 1 \begin{bmatrix} 2 \\ 4 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
$$ Ax=0 \longrightarrow \begin{bmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{bmatrix} \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow 2\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 4 \\ 6 \end{bmatrix} + -2 \begin{bmatrix} 2 \\ 6 \\ 8 \end{bmatrix} + 1 \begin{bmatrix} 2 \\ 8 \\ 10 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
따라서, 이렇게 우리는 Null space상에 존재하는 두 개의 해이자 두 개의 벡터이자 두 개의 직선을 구했다.
이 두개의 해는 임의의 free variable을 설정하여 구한 해(solution)이며 special solution이라 한다.
이제, 이 두개의 해의 선형 결합(Linear combination)을 통해 전체 Null space를 정의할 수 있다.
$$ x=c \begin{bmatrix} -2 \\ 1 \\ 0 \\ 0 \end{bmatrix} + d \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} $$
위의 선형결합은 A와 U의 Null Space이다.
그렇다면, 이 special solution은 얼마나 존재하는 걸까?
이는 각 free variable마다 존재한다. 그러면 free variable은 얼마나 존재하는 걸까?
앞서 행렬 A의 Rank가 2이고 Rank는 pivot variable의 수임을 배웠다.
따라서, mxn의 행렬에서 column이 n개라면 n에서 pivot variable의 수(A의 Rank)를 빼면 free variable의 수가 될 것이다. 한번 지금까지 배웠던 A행렬의 free variable수를 구해보자.
$$ Number \ \ of \ \ free \ \ variables \ : \ n-r = 4-2 = 2 $$
요약하면 행렬 U는 두 개의 free variable을 가지고 있고, 이 각각의 해 벡터가 직선을 나타내며 이 둘의 선형 결합으로 하나의 평면을 만들어내며, 이것이 행렬A의 Null space 전체를 표현하는 것이다.
지금까지 배운 알고리즘은 임의의 행렬 A의 모든 Null space를 구할 수 있다.
기약행 사다리꼴 행렬(Reduced row echelon form)
앞에서 직사각행렬A를 소거하여 echelon형태의 U행렬을 만들었다. 이번엔 이러한 U행렬을 좀더 소거하여 간소화시킨 형태인 기약행 사다리꼴(Reduced row echelon form)(R행렬)(rref(A))을 만들어보자.
즉, 어떤 행렬에 가우스 소거법을 적용했을 때 계단 모양이 나오며, 몇 가지 조건을 만족하는 행렬을 R행렬이라고 한다.
$$ U= \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} $$
U행렬을 잘보면 row3이 모두 0인데 이는 row3 = row1+row2 즉, row1과 row2에 종속적이기 때문에 소거를 한 행렬 U의 세 번째 row가 0이 되는것이다. 이러한 종속, 독립 관계를 소거작업을 통해 찾아내는 것이다.
이제, R행렬을 만들어보자. R행렬은 Lecture3에서 배웠던 Gauss-Jordan소거법을 떠올리면된다.
즉, 기약행 사다리꼴 행렬(R행렬)은 피벗 원소들의 위, 아래에 있는 모든 원소들이 0으로 소거되야 한다.
$$ U= \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} \longrightarrow \begin{bmatrix} (1) & 2 & 0 & -2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix}$$
여기서, 기약행 사다리꼴 행렬은 피벗 원소들을 모두 1로 만들어야 한다.
따라서, 두번째 피벗이 있는 row전체(row2)를 피벗의 값(2)로 나눠주면 된다.
$$ U= \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} \longrightarrow \begin{bmatrix} (1) & 2 & 0 & -2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix} \longrightarrow \begin{bmatrix} (1) & 2 & 0 & -2 \\ 0 & 0 & (1) & 2 \\ 0 & 0 & 0 & 0 \\ p.c & f.c & p.c & f.c \end{bmatrix}$$
따라서, 이렇게 마지막에 만들어진 행렬이 R행렬이다.
요약하면, 기약행 사다리꼴 행렬이 되기 위한 조건은
- 피벗 원소가 있는 column에서 피벗 변수의 모든 위, 아래 원소들은 0이어야 한다. (Gauss-Jordan)
- 각 row는 처음 나오는 피벗 원소를 만나기 전까지 모든 원소가 0이어야 한다. (계단 모양때문)
- 모든 원소가 0인 row는 반드시 피벗 변수가 있는 row의 밑에 있어야 한다.
- 피벗 원소들은 반드시 1이어야 한다.
한번 R행렬을 분석해보자.
$$ R = \begin{bmatrix} (1) & 2 & 0 & -2 \\ 0 & 0 & (1) & 2 \\ 0 & 0 & 0 & 0 \end{bmatrix} $$
여기서 피벗이 있는 row인 row1과 row2, 그리고 피벗이 있는 column인 col1, col3이 겹치는 부분을 보자.
즉, 겹치는 부분의 원소는 $r_{11}$, $r_{21}$, $r_{13}$, $r_{23}$이고 이부분을 합쳐서 보면
$$ \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} = I \ \ in \ \ pivot \ \ rows \ \ and \ \ cols $$
즉, R행렬 내에 단위 행렬을 담고 있는걸 확인할 수 있다. 이러한 단위 행렬 형태는 당연히 피벗의 위, 아래를 0으로 소거하고 피벗의 값을 1로 만들었으니 당연히 나타나게 된다.
이렇게 해서 우리는 A행렬을 가우스 소거를 통해 U행렬을 만들고 좀더 몇가지 과정을 거쳐 R행렬을 만들었다.
즉, A -> U -> R 행렬로 변한 것이다.
$$ \begin{align} &A \ \ : \ \ original \ \ system \ \ matrix \\ & \downarrow \\ & U \ \ : \ \ row \ \ echelon \ \ form \\ & \downarrow \\ & R \ \ : \ \ reduced \ \ row \ \ echelon \ \ form \end{align}$$
여기서 궁금한건 우리는 여태까지 Null space를 구하려고 U행렬을 만들었다.
과연 Rx=0의 해도 Ax=0, Ux=0과 같이 동일한 Null space에 존재할까? 정답은 존재한다이다.
앞에서 column picture를 통해 확인한걸 Rx=0에서도 똑같이 확인해보자.
$$ Ax=0 \longrightarrow \begin{bmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{bmatrix} \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow 2\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 4 \\ 6 \end{bmatrix} + -2 \begin{bmatrix} 2 \\ 6 \\ 8 \end{bmatrix} + 1 \begin{bmatrix} 2 \\ 8 \\ 10 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
$$ Ux=0 \longrightarrow \begin{bmatrix} (1) & 2 & 2 & 2 \\ 0 & 0 & (2) & 4 \\ 0 & 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow 2\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 0 \\ 0 \end{bmatrix} + -2 \begin{bmatrix} 2 \\ 2 \\ 0 \end{bmatrix} + 1 \begin{bmatrix} 2 \\ 4 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
$$ Rx=0 \longrightarrow \begin{bmatrix} (1) & 2 & 0 & -2 \\ 0 & 0 & (1) & 2 \\ 0 & 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} 2 \\ 0 \\ -2 \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix} \longrightarrow 2\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} + 0 \begin{bmatrix} 2 \\ 0 \\ 0 \end{bmatrix} + -2 \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} + 1 \begin{bmatrix} -2 \\ 2 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \\ 0 \end{bmatrix}$$
따라서, Rx=0해도 동일한 Null space에 존재하는 것을 확인할 수 있다.
우리는 행렬을 A에서 R로 변화시켰고 이 과정에서 각 행렬의 column space는 변했을지라도 원래의 행렬의 고유한 성질은 변하지 않았다. 그렇기 때문에 동일한 Null space에 해가 존재하는 것이다.
요약하면 A행렬을 줄이고 줄여서 가장 간단한 형태인 R로 만들었다고 생각하자.
또다른 예를 봐보자. 그냥 A의 전치행렬인 $A^T$행렬을 R행렬로 바꾸어 Null space를 계산해보자.
$$ A^T = \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 2 & 6 & 8 \\ 2 & 8 & 10 \end{bmatrix} \rightarrow \begin{bmatrix} (1) & 2 & 3 \\ 0 & 0 & 0 \\ 0 & 2 & 2 \\ 0 & 4 & 4 \end{bmatrix} \underset{row \ \ exchange}{\rightarrow} \begin{bmatrix} (1) & 2 & 3 \\ 0 & (2) & 2 \\ 0 & 0 & 0 \\ 0 & 4 & 4 \end{bmatrix} \rightarrow \begin{bmatrix} (1) & 2 & 3 \\ 0 & (2) & 2 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ p.c & p.c & f.c \end{bmatrix} = U $$
$$ U = \begin{bmatrix} (1) & 2 & 3 \\ 0 & (2) & 2 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} \rightarrow \begin{bmatrix} (1) & 0 & 1 \\ 0 & (1) & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} = R $$
소거된 U행렬에 대한 방정식을 쓰면
$$ \begin{align} x_1 + 2x_2 + 3x_3 &= 0 \\ 2x_2 + 2x_3 &= 0 \end{align} $$
따라서, $x_3$이 free variable이므로 $x_3 =1$로 설정한 후 후방 대입법을 통해 x를 구하고
다음과 같이 A의 전체 Null space를 찾을 수 있다.
$$ x= \begin{bmatrix} -1 \\ -1 \\ 1 \end{bmatrix} = c \begin{bmatrix} -1 \\ -1 \\ 1 \end{bmatrix}$$
이 예제에선 피벗이 2개이고 Rank=2이다. free variable은 column의 수 - Rank 이므로 n-r= 3-2 = 1이 된다.
free variable이 1개기 때문에 임의의 상수 c를 곱한 벡터 x 즉, 무한한 직선이 전체 Null space를 표현한다.
결론
이번 Lecture에서는 A를 가우스 소거하여 U행렬을 만들고 pivot과 free variable이 갖는 의미를 배우고, pivot의 개수가 그 행렬의 Rank를 의미한다는 것을 알았다. 또한 A -> U -> R로 만드는 과정을 배웠고 임의의 행렬 A가 축소된 형태인 기약행 사다리꼴(reduced row echelon form)(rref)을 만드는 방법에 대해 배웠고, 이 행렬이 갖는 의미를 배웠고 Null space를 정의하는 방법에 대해서도 배우게 되었다.