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 25: Symmetric matrices and positive definiteness
Lecture 25: Symmetric matrices and positive definiteness (2018-07-22) - 이번 강의는 대칭행렬(symme...
blog.naver.com
[Linear Algebra] Lecture 25 대칭 행렬(Symmetric Matrix)과 스펙트럼 정리(Spectral Theorem)
이번 강의에서는 대칭 행렬(Symmetric Matrix)에 대해 이야기 하도록 하겠다. 지난 강의 에서 간략히 배우긴 했으나, 이번 강의에선 고유값과 고유벡터의 관점에서 대칭 행렬의 특성에 관한 내용을
twlab.tistory.com
(제가 이해하기 쉽게 요약해서 적었으므로 좀더 자세히 공부하고싶다면 위 블로그를 참고하시면 됩니다.
대칭 행렬(Symmetric Matrix)
대칭행렬은 마코브 행렬과 같이 특별한 행태의 행렬이기 때문에 마코브 행렬 처럼 특별한 특성을 가진다.
그렇기 때문에 고유값과 고유벡터에 특별한 특징이 있다.
$$ A = A^T $$
$$ \rm 1. \ \ The \ \ eigenvalues \ \ are \ \ \color{red}{REAL} $$
$$ \rm 2. \ \ The \ \ eigenvectors \ \ are \ \ \color{red}{PERPENDICULAR} $$
첫번째는 대칭행렬의 고유값이 전부 실수이다.
두번째는 대칭행렬의 고유벡터는 직각을 이룬다.
하나씩 왜그런지 봐보자.
먼저, 알아야 될 것이 있는데 단위행렬이다.
단위 행렬은 대칭행렬이다. 고유값은 분명히 실수이고 단위행렬에 대해서 모두 1이 된다.
단위행렬은 또한, 모든벡터가 고유벡터가된다.
무슨 말인지는 식으로 보자. 다음과 같이 2x2의 단위 행렬이 있다.
$$ A = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} $$
고유값을 구해보자.
$$ Ax = \lambda x $$
$$ Ix = \lambda x $$
$$ x = \lambda x $$
$$ \therefore \quad \lambda_1 = 1 , \quad \lambda_2 =2 $$
고유벡터도 구해보자.
$$ det \\ (A - \lambda I ) x = 0 $$
$$ \left ( \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} - \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} \right) \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} $$
$$ \begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 0 \\ 0 \end{bmatrix} $$
결국, 모든 벡터가 고유벡터가 된다.
만일, 고유값이 모두 다르다면, 각각의 고유값에 그에 해당하는 수직인 고유벡터들이 나올 것이다.
그러나 고유값이 반복된다면 위의 단위행렬처럼 수많은 벡터들이 고유벡터가 된다.
따라서, 고유값이 반복되면 고유벡터의 평면이 존재하게 되고 그 평면에서 서로 수직인 것을 고를 수가 있다.
이를 통해 단위행렬에서 대칭행렬의 특성2인 고유벡터는 서로 직각이다를 만족시킬 수 있다.
왜냐하면 고유벡터를 선택할 때는 수직인 고유벡터를 선택하는게 좀 더 유리할 수 있기 때문이다.
이러한 특별한 case(고유값이 반복되는 경우)때문에 특성2를 고유벡터들은 서로 수직한 벡터들로 선택될 수(can be chosen) 있다로 정의할 수 있다.
일반 case의 경우 서로 다른 고유값을 가지고, 모두 실수이며, 1차원의 고유벡터공간을 갖는다. 그리고 이 고유벡터들 모두는 서로 수직이 된다.
일반적인 경우의 행렬은 다음과 같이 인수분해된다.
$$ A = S \Lambda S^{-1} $$
그렇다면 행렬 A가 대칭행렬이면 어떻게 될까?
대칭행렬일 경우 고유벡터들이 서로 수직이며 이 벡터들이 column 벡터로 고유벡터 행렬 S를 만든다.
고유벡터는 크기보단 방향이 의미가 있기 때문에 이러한 고유벡터의 크기를 1로 만들어 정규화과정을 거쳐 단위 벡터로 만들 수 있다.
이렇게하면 고유벡터 행렬 S는 정규직교벡터인 고유벡터들을 모은 행렬이기 때문에 정규직교행렬이 된다.
이때, 정규직교행렬은 Q로 나타내므로 고유벡터 행렬S를 Q로 바꾸면 다음과 같이 식을 바꿀 수 있다.
$$ A = Q \Lambda Q^{-1}$$
또, 정규직교행렬의 특성은 역행렬이 전치와 같으므로 식을 한번더 바꿀 수 있다.
$$ A = Q \Lambda Q^{T} $$
이 식은 선형대수학의 가장 유명한 공식 중 하나이다. 잘외워두자.
그리고 이 식이 대칭행렬 특성을 만족하는지도 전치를 시켜 확인해보자.
$$ A^T = (Q \Lambda Q^T )^T $$
$$ A^T = (Q^T)^T (\Lambda)^T (Q)^T $$
$$ A^T = Q \Lambda Q^T $$
이렇게 행렬을 순수한 고유값과 고유벡터로 분해시키는 것을 수학에서는 Spectral theorem이라고 부른다.
Spectrum은 하나의 행렬로 이루어진 고유값의 집합이다.
이것은 스펙트럼이 순수한 빛의 조합으로 이루어졌다는 아이디어에서 나온 것이다.
역학에서는 종종 the principle axis theorem이라고 부른다.
기하학적으로 본다면 내가 어떤 물체를 가지고 있고 올바른 축으로 본다면 대각화가 될 것이고, 서로 엮이지 않는 방향이 될 것이다.
자 이제, 고유값이 왜 실수가 되는지 확인해보자. 다음 식에서 시작해야한다.
$$ Ax = \lambda x $$
지금까지 배운바로는 고유값 $\lambda$와 고유벡터 $x$는 복소수가 될 수 있었다.
그리고 사실 행렬 A도 복소수가 될 수 있다.
따라서, A, $\lambda$, $x$ 모두 켤레(conjugate)화시킬수 있다.
그러면 위의 식을 켤레화 시켜면 다음과 같다.
$$ \bar{A} \bar{x} = \bar{\lambda} \bar{x} $$
우리는 대칭행렬 A가 실수 대칭행렬일 때 고유값은 항상 실수임을 증명하는 과정이므로 행렬 A의 bar를 없앨 수 있다.
$$ A \bar{x} = \bar{\lambda} \bar{x} $$
어떤 실수 행렬 A에 대한 고유값이 복소수 형태라면, 원래의 고유값과 그의 켤레값이 쌍으로 존재한다.
그렇기 때문에 고유값 $\lambda$를 켤레화하면 $\bar{\lambda}$ 형태로 나타나는 것이고 마찬가지로 고유벡터도 똑같기 때문에 $x$를 켤레화하면 $\bar{x}$의 형태로 나타날 것이다.
이제 위의식을 전치를 하자. 행렬 A는 대칭이여서 전치를 해도 원래와 같고 고유값은 상수라 전치를 하지않는다.
$$ \bar{x}^T A = \bar{x}^T \bar{\lambda} $$
여기에 양변에 고유벡터 $x$를 우측에 곱해보자.
$$ \bar{x}^T A x= \bar{x}^T \bar{\lambda} x$$
위의 식을 기억해둔 채로 맨처음 식으로 돌아가보자.
$$ Ax = \lambda x $$
여기에는 양변에 고유벡터 $\bar{x}^T$를 좌측에 곱해보자.
$$ \bar{x}^T Ax = \lambda \bar{x}^T x $$
이 식을 아까 기억하라했던 식과 비교해보면 좌변이 같은 것을 확인할 수 있다.
따라서, 좌변이 같으므로 우변끼리도 같아야하니 다음과 같은 식을 쓸 수 있다.
$$ \lambda \bar{x}^T x = \bar{\lambda} \bar{x}^T x $$
따라서, 양변에 같은걸 약분해주면 다음과 같은 식이 나온다.
$$ \therefore \quad \lambda = \bar{\lambda} $$
이 식이 의미하는 바는 복소수인 고유값과 그의 켤레복소수의 값이 같다는 것은 허수부의 값이 0이라는 소리다.
따라서, 실수부만 존재하기 때문에 고유값은 항상 실수임을 증명한 것이다.
근데, 마지막에 $ \bar{x}^T x $를 약분하려면 이 값이 0이 아니어야한다.
그러면 이 값이 왜 0이 아니고 약분할 수 있는지 확인해보자.
$$ \bar{x}^T x = \begin{bmatrix} \bar{x_1} & \bar{x_2} & \cdots & \bar{x_n} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} $$
이 식을 풀어 써보자.
$$ \bar{x}^T = \bar{x_1} x_1 + \bar{x_2} x_2 + \cdots $$
여기서, $\bar{x_1}x_1$만 봐보자. 만일, $x_1 = a+bi$라 해보자.
$$ \bar{x_1} x_1 = (a-bi)(a+bi) = a^2 + b^2 $$
즉, 벡터가 복소수라면 $ \bar{x}^T x $는 길이의 제곱형태가 되어 항상 양수가 된다. 물론, 0벡터는 제외한다.
따라서, 항상 0보다 큰 양수의 값을 가지기 때문에 $ \bar{x}^T x $을 안심하고 약분해도 된다.
따라서, 우리는 실수 대칭행렬의 고유값이 무조건 실수라는 것을 증명했다.
좋은 행렬(Good Matrix)
좋은행렬이란 고유값이 실수이고, 수직인 고유벡터를 갖는다.
A가 실수행렬일 때, $A^T = A$면 좋은행렬이 된다.
즉, 실수 대칭행렬은 좋은 행렬이다.
만일, A가 복소수 행렬이라면 $A = \bar{A}^T$를 만족해야 좋은 행렬이 된다.
물론, 행렬에 대한 예제와 응용의 99%가 실수이고, 대칭은 중요한 속성이 된다.
대칭행렬을 해석하는 또 다른 관점이 있다.
맨처음에 했던 다음 식을 봐보자.
$$ A = Q \Lambda Q^{T} $$
여기서 조금더 나아가보자. 실제로 곱셈을 하면 어떻게 될까?
$$A= \begin{bmatrix} | & | & \\ q_1 & q_2 & \cdots \\ | & | & \end{bmatrix} \begin{bmatrix} \lambda_1 & & \\ & \lambda_2 & \\ & & \ddots \end{bmatrix} \begin{bmatrix} - & q_1^T & - \\ - & q_2^T & - \\ - & \vdots & - \end{bmatrix} $$
이것을 실제로 곱셈을하면 다음과 같은형태가나온다.
$$ \lambda_1 q_1 q_1^T + \lambda_2 q_2 q_2^T + \cdots $$
즉, 다음과 같은 형태로 나오게 된다.
$$ \rm (람다)*(컬럼벡터) * (행벡터) $$
그런데, 컬럼벡터와 행벡터를 곱하면 어떤 행렬이 되는데 이 행렬이 바로 투영행렬(Projection Matrix)이다.
투영행렬은 단위벡터를 가지고 $aa^T$했었다. 여기서는 $aa^T$로 나눌 필요가 없는데 왜냐하면 값이 1이 되기 때문이다.
그래서 모든 대칭행렬은 상호 배타적으로 수직인 행렬들의 결합이 되는거다.
이것은 Spectrum theorem을 생각하는 또 다른 방식이 되는 것이다.
따라서, 스펙트럼 정리의 측면에서 보면 nxn의 모든 대칭행렬 A는 n개의 투영행렬과 고유값의 조합으로 표현이 가능하다.
자 이제, 실수 대칭행렬을 가지고 있다면 고유값이 실수임을 알았다.
여기서, 새로운 질문을 할 수 있는데, 고유값이 양의 실수인지 음의 실수인지에 대한 것이다.
이것이 왜중요한지는 미분방정식에서 고유값의 부호에 따라 stability를 결정했기 때문이다.
그리고 이러한 질문에 답하기 위해서 실제로 고유값을 계산하는 것은 좋지않다.
왜냐하면, 50x50의 행렬이라면 고유값 50개를 계산하는 것은 일종의 노동이 되기 때문이다.
그렇다면 50x50 더나아가 100x100의 행렬을 가지고 있다면 어떻게 고유값을 찾을 수 있을까?
원래는 $(A- \lambda I)$의 행렬식을 구해서 다항식에 대한 근을 구했었다.
여기서 50개의 고유값을 찾는 것은 엄청 힘든 일이지만, 50개의 pivot을 찾는것은 너무 쉬운일이다.
그런데 놀랍게도 pivot의 부호와 고유값의 부호가 같다는 것이다.
따라서, 0보다 큰 pivot의 갯수는 양수의 고유값의 갯수와 같다는 것이다.
이것은 고유값을 계산하기 위한 적절한 방법으로 좋은 시작을 하게해준다.
양정 행렬(Postive Definite Matrix)
양정 행렬이 무엇일까?
먼저 대칭행렬이다. 그리고 모든 고유값이 실수이면서 0보다 크다. 즉, 고유값이 양수이다.
이는 모든 pivot이 양수라는 뜻이다.
예제로 다음 행렬을 봐보자.
$$ \begin{bmatrix} 5 & 2 \\ 2 & 3 \end{bmatrix} $$
이 행렬의 determinant는 11이다.
그리고 determinant는 pivot의 곱이므로 첫번째 pivot이 5이므로 두번째 pivot은 $11 \over 5 $이 된다.
따라서, pivot 모두 양수임을 확인할 수 있다.
고유값도 구해보자. trace와 determinant를 이용하면 쉽게 구할 수 있다.
$$ \lambda^2 - 8 \lambda + 11 = 0 $$
$$ \lambda = 4 \pm \sqrt{5} $$
따라서, 고유값도 모두 양수임을 확인할 수 있다.
고유값이 양수인지 음수인지 부호를 아는 문제는 미분방정식에서 매우 중요하다.
pivot 부호 갯수와 고유값의 부호 갯수가 같기 때문에 실제 고유값을 구하지 않고도 미분 방정식의 시스템이 안정인지 불안정인지 쉽게 판단할수 있다.
또한, positive definite은 derterminant가 양수인데, 그냥 determinant만 양수면 안되고 sub-determinant들이 전부 양수여야한다.
sub-determinant란 행렬의 왼쪽 상단부터 1x1, 2x2, ..., nxn까지 행렬에 대한 determinant를 의미하고, 모두 양수여야한다는 것이다.
위의 예제에서는 1x1이랑 2x2만 있는데, 1x1의 경우 원소 5만있기 때문에 행렬식이 양수이고, 2x2에서는 11로 양수였다.