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 9: Independence, basis and dimension
Lecture 9: Independence, basis and dimension (2018-05-08) - 좋아. 이번 강의는 선형대수학 강의 9번...
blog.naver.com
[Linear Algebra] Lecture 9 선형 독립(Linear independence), Span, 기저(Basis) 그리고 차원(Dimension)
이번 포스팅에서는 크게 세 가지 주제를 다룰 것이다. 매우 중요한 개념들이니 잘 숙지하도록 하자. 먼저 선형 독립(Linear independence)에 대하여 이야기하고, Span과 기저(Basis), 그리고 차원(Dimension)
twlab.tistory.com
(주로 https://twlab.tistory.com/24블로그의 사진과 내용을 보면서 공부했고 추가로 나머지 블로그를 참고하였습니다.)
(저는 제가 이해하기 쉽게 요약해서 적었으므로 좀더 자세히 공부하고싶다면 위 블로그를 참고하시면 됩니다.)
선형 독립(Linear independence)
먼저, 선형 독립을 이해하기 전에 Lecture 7에서 배웠던 내용을 복습하면
어떤 행렬 A가 mxn의 크기이고 m<n이라 하면 미지수의 개수가 방정식의 개수보다 더 많아진다.
이럴 경우 Ax=0에 대한 0이 아닌 해가 존재한다. 즉, Null space가 존재한다.
왜냐하면 소거를 하는 과정에서 pivot은 반드시 생기는데 pivot은 row의 개수보다 많을 수 없기 때문이다.
따라서, 반드시 pivot이 없는 column이 존재하고, 이 column은 free column이며 free column에 대응되는 미지수인 free variable이 생기게 된다.
결국, 행렬 A가 m<n인 경우, 반드시 1개 이상의 free variable이 존재하기 때문에 Ax=0에 대한 0이 아닌 해, Null space가 존재하게 된다.
이제 선형 독립(Linear independence)에 대해 배워보자.
벡터가 독립(Independence)라는 것은 다음을 의미한다.
독립(Independence) :
벡터 $x_1$, $x_2$, $\cdots$, $x_n$이 있을 때, 만약 모든 계수가 0인 경우를 제외하고 어떠한 선형 조합으로도 0을 만들 수 없다면 이 벡터들은 독립(Independent)관계이다.
즉,
$c_1 x_1 + c_2 x_2 + \ \ \cdots \ \ + c_n x_n \ne 0$ (단, 모든 $c_i = 0 $은 제외)
만일, 독립이 아니라면 그 둘은 종속(dependent)관계이다.
다음 예를 봐보자.
이 두 벡터는 종속(dependent)이다.
왜냐하면, 다음 식을 만족하기 때문이다.
$$ 2 v_1 - v_2 = 0 \quad ( c_1 = 2 , \ \ c_2 = 1 ) $$
따라서, $c_1 =2$, $c_2 = 1 $ 일 때 선형 조합을 통해 0이 만들어지기 때문에 $v_1$과 $v_2$는 종속관계이다.
직관적으로 보면 $v_1$과 $v_2$는 2차원 평면상에 존재하지만, 방향이 같다.
이는 같은 직선 상에 위치한 것을 의미하며 2차원 평면상에 존재하지만 이 두 벡터로는 1차원 밖에 정의할 수 없다.
따라서, 종속관계이다.
또 다른 예를 봐보자. 이번엔 $v_2 = 0$인 경우이다.
이 두 벡터 역시 종속이다.
왜냐하면 마찬가지로, 다음 식을 만족하기 때문이다.
$$ 0 v_1 - 12 v_2 = 0 $$
즉, 모든 계수 c가 0이지만 않으면 되니 $v_1$의 계수인 $c_1=0$으로 설정하면 $v_2$의 계수인 $c_2$는 어떠한 수를 넣어도 결과는 무조건 0이 된다.
여기서 알 수 있는건 n개의 벡터 중 하나라도 0벡터일 경우엔 종속이다.
이번엔 독립인 경우를 봐보자.
이 두 벡터는 독립(independent)이다.
왜냐하면 두 벡터 $v_1$과 $v_2$를 이용하여 어떠한 선형 조합을 한다해도 0을 만들 수는 없다. ($c_1$, $c_2$ 모두 0인 경우 제외)
직관적으로 봤을 때도 $v_1$과 $v_2$를 이용하여 2차원 공간상의 어떠한 벡터도 만들어낼 수 있기 때문이다.
만일, 위에 $v_3$ 벡터를 추가하여 3개의 벡터가 놓인다면 어떻게 될까?
이러면 이들은 종속(dependent)이 된다.
맨 처음에 복습했던 내용에서 m<n인 경우에 관한 내용을 통해 2차원 평면에 3개의 벡터가 있을 경우 종속임을 알 수 있다.
다음과 같이 3개의 벡터를 아래와 같이 행렬 A의 column으로 표현하자.
$$ A = \underset{\begin{matrix} v_1 & v_2 & v_3 \end{matrix}}{\begin{bmatrix} 2 & 1 & 2.5 \\ 1 & 2 & -1 \end{bmatrix}} $$
즉, 맨 처음에 복습했던 내용처럼 행보다 열이 많아지게 되고 반드시 free variable이 존재하게 된다.
행렬 A가 m<n인 경우, 반드시 1개 이상의 free variable이 존재하기 때문에 Ax=0에 대한 0이 아닌 해, Null space가 존재하게 된다.
이제, 선형결합을 보이기 위해 x대신 c를 넣어 Ac=0의 식을 써보면 다음과 같다.
$$ A = \underset{\begin{matrix} v_1 & v_2 & v_3 \end{matrix}}{\begin{bmatrix} 2 & 1 & 2.5 \\ 1 & 2 & -1 \end{bmatrix}} \begin{bmatrix} c_1 \\ c_2 \\ c_3 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} $$
이것을 선형 결합으로 보기 위해 column picture로 보면
$$ c_1 \begin{bmatrix} 1 \\ 2 \end{bmatrix} + c_2 \begin{bmatrix} 1 \\ 2 \end{bmatrix} + c_3 \begin{bmatrix} 2.5 \\ -1 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} $$
이고 즉, 벡터 식형태로보면
$$ c_1 v_1 + c_2 v_2 + c_3 v_3 = \vec 0 $$
따라서, free variable이 존재하기 때문에 위에 식에서 $c_1$, $c_2$, $c_3$가 모두 0이 아닌 해, Null space가 반드시 존재한다.
결국, 모두가 0이 아닌 $c_1$, $c_2$, $c_3$의 값을 통해 선형 결합을 수행한 결과 값이 영벡터가 될 경우 A의 column은 종속(dependent)이다.
참고로, 위 식에서는 $c_1=-0.7428$, $c_2=0.5571$, $c_3=0.3714$일 경우 선형 결합 결과가 0이 된다.
정리하면 다음과 같고 같은말을 다르게 써본 것이다.
- 어떤 행렬 A의 column vector가 선형 독립이기 위해선 A에 대한 Null space가 오직 모든 변수가 0인 경우에 대해 서만 존재해야 한다.
- 즉, 다시 말하면 어떤 행렬 A에 대해서 Ax=0 식에 대한 Null space가 x가 모두 0일 때를 제외한 다른 경우가 존재 한다면, 그 행렬 A의 column vector는 종속이다.
요약하면,
- 독립(Independence)일때,
1. 벡터들을 행렬 A의 column으로 넣고 행렬 A의 Null space를 확인한다.
2. 만약 이 행렬 A의 Null space(Ax=0)가 오직 zero vector만 존재할 경우, 이 벡터(행렬)들은 독립이다.
3. 이때의 행렬 A의 Rank는 column의 수 n과 같다. (Rank = n)
4. 따라서, free variable이 존재하지 않는다.
- 종속(Dependence)일때,
1. 벡터들을 행렬 A의 column으로 넣고 행렬 A의 Null space를 확인한다.
2. 만약 이 행렬 A의 Null space(Ax=0)가 zero vector이외의 다른 값이 존재할 경우, 이 벡터(행렬)들은 종속이다.
3. 이때의 행렬 A의 Rank는 column의 수 n보다 작다. (Rank < n)
4. 따라서, free variable이 존재한다.
Span
Span이란 사전적 의미로는 동사로 "포괄하다, 걸치다, 가로지르다"라는 의미가 있다.
선형 대수에서의 Span은 보통 "Span a space"라고 표현하며, "어떤 공간을 포괄하다" 정도로 해석하면 된다.
잘 감이 안오면 다음 예를 봐보자.
$ v_1 = [2, \ \ 3]$, $v_2 = [3, \ \ 2] $인 두 벡터가 있다 해보자. 두 벡터는 독립이고 따라서, 이 두 벡터가 새로운 plane을 만들 것이다. 이럴 때 쓰는 말이 두 벡터 $v_1$, $v_2$가 plane을 span한다. 라고 이해하면 된다.
즉, span이라는 것은 이 벡터들로 형성할 수 있는 공간이다.
Lecture2에서 배운 내용에서도 볼 수 있듯이, 어떤 행렬 A의 column vector들을 가지고 가능한 모든 선형 조합을 하고 이를 통해 colum space를 얻을 수 있다. 즉, column vector들이 column space를 "span"한 것이다.
정리하면,
벡터 $v_1$, $v_2$, $\cdots$, $v_n$이 어떤 공간(Space)를 span한다의 의미:
- 벡터 $v_1$, $v_2$, $\cdots$, $v_n$들의 가능한 모든 선형 조합으로 공간을 형성하는 것을 의미한다.
이때 형성되는 공간은 조합되는 벡터에 따라 $R^n$이 될 수도 있고, 혹은 부분 공간(Subspace)이 될 수도 있다.
즉, 사용하는 벡터에 따라 벡터들간 종속, 독립 여부에 따라 직선, 평면, 부분적인 공간, 모든 공간을 채울 수 있다.
기저(basis)
기저(basis)란, 벡터들이 어떤 공간을 "span"하면서 그들이 독립(Independent)인 벡터들을 의미한다.
기저(basis)의 속성:
- 기저벡터들은 독립(Independent)이다.
- 기저벡터들은 공간(space)을 "span"한다.
예를들어 3차원 공간(space) $R^3$의 기저를 생각해보자.
독립이면서 3차원 공간 $R^3$를 "span"하는 벡터는 가장 먼저 떠올릴 수 있는 것은 다음과 같다.
$$ \underset{v_1}{\begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}}, \quad \underset{v_2}{\begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}}, \quad \underset{v_3}{\begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}} $$
이들 벡터는 독립이다. 어떤 상수를 곱해서 선형결합을 해도 영벡터를 만들 수 없다.(단, 모든 상수가 0일 때 제외)
또한, 위 세 벡터를 합쳐 행렬로 보면 단위 행렬 형태이며, 이 단위 행렬의 Null space는 오직 zero vector 뿐이다.
또한 세 벡터 $v_1$, $v_2$, $v_3$를 이용해 3차원 공간 전체를 "span"할 수 있다.
따라서, 위의 두가지 사실로 인해 $v_1$, $v_2$, $v_3$은 기저(basis)이다.
실제로, 이들은 x축, y축, z축을 나타내며, 이러한 형태를 표준 기저(standard basis)라 한다.
여기서 중요한 사실은 위의 벡터들이 3차원 공간 $R^3$의 유일한 기저(basis)가 아니다.
3차원 공간의 기저(basis)는 무수히 많다. 아래 예시를 봐보자.
$$ \begin{bmatrix} 1 \\ 1 \\ 2 \end{bmatrix}, \quad \begin{bmatrix} 2 \\ 2 \\ 5 \end{bmatrix} $$
위의 두 벡터는 서로 독립이지만 어떤 평면만을 "span"할 뿐 3차원 공간 전체를 "span"하지 않으므로 $R^3$의 기저가 아니다.
$$ \begin{bmatrix} 1 \\ 1 \\ 2 \end{bmatrix}, \quad \begin{bmatrix} 2 \\ 2 \\ 5 \end{bmatrix}, \quad \begin{bmatrix} 3 \\ 3 \\ 7 \end{bmatrix} $$
위의 세 벡터는 세번째 벡터가 나머지 두번째 벡터의 선형결합으로 만들 수 있으므로 독립이 아니다.
따라서, 독립이 아니므로 세번째 벡터는 나머지 두 벡터가 독립이므로 그 두 벡터가 만든 평면상에 있고 당연하게 어떤 평면만을 "span"할 뿐 3차원 공간 전체를 "span"하지 않으므로 $R^3$의 기저가 아니다.
$$ \begin{bmatrix} 1 \\ 1 \\ 2 \end{bmatrix}, \quad \begin{bmatrix} 2 \\ 2 \\ 5 \end{bmatrix}, \quad \begin{bmatrix} 3 \\ 4 \\ 8 \end{bmatrix} $$
위의 세 벡터는 서로 독립이며, 3개의 3차원 column vector들로 이루어져 있다. 또한 3차원 공간 전체를 "span"한다.
따라서, 위의 세 벡터는 $R^3$의 기저가 맞다.
우리가 어떤 벡터들을 가지고 있을 때, 이들이 N차원의 기저인지 아닌지를 어떻게 판별할 수 있을까?
바로 벡터들을 어떤 행렬의 column vector로 만들어서 하나의 행렬을 만든 다음 U행렬로 만든다.
그다음 그 행렬이 free variable을 갖는지 혹은 각 column vector가 pivot을 가지고 있는지를 확인하면 된다.
즉, 행렬의 Rank를 가지고 판별이 가능하다.
만약 N차원 공간 $R^N$에 대해 n개의 벡터를 가지고 있을 때,
이들이 기저 벡터(basis vector)이기 위해서는 nxn 행렬이 역행렬이 존재(invertible)해야 한다.
따라서, 3차원 공간 $R^3$의 기저는 3개의 3차원 크기의 벡터가 존재해야하며, 결국 3x3 크기의 행렬의 역행렬이 존재해야하는 것이다. 또한, 3개의 벡터는 서로 독립인 어떠한 벡터든 3차원 공간의 기저(basis)가 될 수 있다.
차원(dimension)
차원(dimension)이란 일반적으로 1차원은 선(Line), 2차원은 면(Plane), 3차원은 입방체(cubic)으로 알고있다.
한번 N차원에 대해 정의할 수 있도록 선형대수의 관점으로 차원을 봐보자.
$$ \begin{bmatrix} 1 \\ 1 \\ 2 \end{bmatrix}, \quad \begin{bmatrix} 2 \\ 2 \\ 5 \end{bmatrix} $$
위 식은 기저가 아니다. 정확히는 $R^3$에 대한 기저가 아니다. 이렇게 말할 수 있는 이유는 위 식은 기저에 대한 조건 자체는 충족한다. 두 벡터는 독립이며, 이 벡터들의 선형 결합을 통해 형성할 수 있는 공간을 "span"하기 때문이다.
애초에 위 두 벡터는 벡터의 수와 차원의 수(N=3)가 맞지 않기때문에 3차원을 만들 수 없다.
따라서, 3차원 공간의 부분 공간(subspace)인 2차원 평면(plane)에 대한 기저이다.
$$ \begin{bmatrix} 1 \\ 1 \\ 2 \end{bmatrix}, \quad \begin{bmatrix} 2 \\ 2 \\ 5 \end{bmatrix}, \quad \begin{bmatrix} 3 \\ 3 \\ 7 \end{bmatrix} $$
위 세 벡터 벡터의 수는 차원의 수와 맞지만 독립이 아니기 때문에 기저가 아니다.
$$ \begin{bmatrix} 1 \\ 1 \\ 2 \end{bmatrix}, \quad \begin{bmatrix} 2 \\ 2 \\ 5 \end{bmatrix}, \quad \begin{bmatrix} 3 \\ 4 \\ 8 \end{bmatrix} $$
위 세 벡터는 독립이면서 벡터의 수가 차원의 수(N=3)와 같기 때문에 기저이다.
따라서, 차원은 다음과 같이 정의할 수 있다. 아래 정의는 column space든, Null space든 어떤 공간이던 성립하는 정의다.
차원(Dimension):
- 주어진 공간(space)들에 대한 모든 기저(basis)들은 같은 수의 벡터를 가진다.
여기서 벡터의 수가 바로 그 공간의 차원(Dimension)을 의미한다.
차원(Dimension)은 그 공간이 얼마나 큰지를 나타내는 지표이며 기저(basis)가 반드시 가져야할 벡터의 수를 나타낸다.
다음 예시들을 봐보자.
1) Column space의 차원을 찾아보자.
$$ A = \begin{bmatrix} 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 1 \\ 1 & 2 & 3 & 1 \\ p.c & p.c & f.c & f.c \end{bmatrix} $$
행렬 A의 column space C(A)를 생각해보자.
먼저, 당연히 A의 column vector들은 column space C(A)를 "span"한다.
A의 column vector들은 독립이 아니다. col3 = col1 + col2이기 때문이다.
따라서, column vector들은 A의 column space C(A)의 기저(basis)가 아니다.
그렇다면 A의 column space C(A)의 기저(basis)는 무엇일까?
바로 pivot column인 col1과 col2이다.
왜냐하면 col3, col4는 col1과 col2가 이루는 평면에 존재하며 새로운 차원을 정의하는데 도움을 주지못한다.
또한, col1과 col2는 독립이고 column space를 "span"한다.
결과적으로, 행렬 A의 pivot column의 개수가 차원이며 pivot column의 개수는 Rank의 수와 같다.
따라서, 어떤 행렬 A의 Rank는 행렬 A의 column space C(A)의 차원이다.
참고로 column space의 기저(basis)는 pivot column의 조합을 어떻게 잡냐에 따라 다양하게 설정할 수 있으며,
예를들어 [co1, col2], [col1, col3], [col2, col3], [col3, col4]도 조합에 따라 모두다 기저가 된다.
2) Null space의 차원을 찾아보자.
위에 있는 A행렬을 가지고 Lecture 7에서 배운 Null space 계산법을 이용하면 다음과 같은 두 개의 special solution이 나온다. Ax=0을 계산하면 된다. (p.v = pivot variable, f.v = free variable)
$$ N(A) \ \ : \ \ \begin{bmatrix} -1 \\ -1 \\ 1 \\ 0 \end{bmatrix}, \quad \begin{bmatrix} -1 \\ 0 \\ 0 \\ 1 \end{bmatrix} \begin{matrix} p.v \\ p.v \\ f.v \\ f.v \end{matrix} $$
위 2개의 special solution은 Null space의 기저(basis)이다.
왜냐하면 두 벡터는 Null space에 존재하는 2개의 해이고, 독립이다.
또한, Null space의 차원은 free variable의 개수와 같고, free variable은 2개이고 서로 독립인 2개의 Null space vector가 존재하므로 두 벡터는 Null space의 기저이다.
위에서 본 두개의 예시인 Column space와 Null space의 차원을 정리해보면
$$ C(A)의 차원 \ \ : \ \ r = pivot \ \ column의 \ \ 수 = Rank$$
$$ N(A)의 차원 \ \ : \ \ n-r = free \ \ column의 \ \ 수$$
결론
선형 대수에서 중요한 개념인 선형 독립(Linear independence), Span, 기저(basis) 그리고 차원(dimension)에 대해 공부했다.