드디어 Linear Algebra를 공부한 최종 목표(물론 다른 것도 많지만..) Eigenvalue와 Eigenvector에 도달했다. 이번 포스팅에서는 Eigenvalue와 Eigenvector를 공부해보려고 한다.


우선, Eigenvalue와 Eigenvector 각각이 무엇인지 이야기 해보자. nxn matrix A가 있다고 하자. 그 A에 nx1 matrix X를 곱했을 때 나오는 값은 대부분 X와는 다른 방향의 vector일 것이다. 그런데 그 방향이 같은 vector들이 존재한다. 즉, 아래의 식이 성립하는 scalar λ와 matrix X가 matrix A에 대하여 존재한다는 것이다. 아래의 식을 보자.

우리는 위의 식을 만족하는 X를 Eigenvector라고 한다. 즉, nxn matrix A에 곱해도 (앞으로 이 포스팅에서 나오는 모든 matrix A는 nxn행렬이다.) 방향은 변하지 않는 vector X들!! 그들을 우리는 Eigenvector라고 한다. 물론 이 vector X들의 크기는 달라질 수 있다. 그래서 scalar λ를 곱한 것이다.


식(1)을 만족하는 λ를 Eigenvalue라고 한다. 즉 A에 곱해도 방향이 변하지 않는 X들에 대하여 그 식을 만족하게 하는 λ를 Eigenvalue라고 한다. 방향이 변하지 않는다고 말을 했지만, 사실 λ=-1도 될 수 있다. 완전히 반대 방향으로 되는 것도 포함이라는 뜻이다. 또한 λ=0도 될 수 있다. 이럴 경우 Ax=0이 될 것이고, 이 때의 x는 A의 null space가 될 것이다.


이제 대략적인 개념은 설명했으니, 실제로 어떤 값들이 Eigenvalue와 Eigenvector가 되는지 알아보자.


음... 위의 값을 어찌 어찌 식(1)에 대입했더니 맞긴 맞다. 그럼 위의 값들을 어떻게 구했는지 알아보자. 우선 그러기 위해서는 식(1)에 대해서 증명과정을 조금 거쳐보자.


위의 증명과정을 이해하고 아래에 다시 A의 eigenvalue와 eigenvector를 어떻게 구했는지 이해해보자.


마지막에 eigenvector는 더 정확하게 말하면, 비례식으로 풀리게 되는데, 한번 종이에 써서 직접 풀어보도록 하자.


위의 식으로부터 eigenvector의 몇가지 특징에 대해서 이야기해보도록 하자.

1. 하나의 matrix A에 대하여 가능한 eigenvalue의 모든 합은 matrix A의 diagonal element를 다 더한 것이다. 위의 예제에서 봐도 λ=2 그리고 λ=4인데 그 합은 6이다. 실제로 matrix A에 있는 모든 diagonal element를 다 더하면 6이다. 이 정리에 대해서는 따로 증명을 하지는 않겠다. 예전에 중고등학교 때, 이차방정식의 해답의 합을 구하는 공식과 그 증명과정을 생각해보라.


2. eigenvalue의 모든 곱은 det(A-λI)이다.

증명과정은 생략하도록 한다.


3. Elimination on matrix A

Elimination을 하면 A의 eigenvalue는 변한다. 증명과정은 생략하자.


마지막 세 개의 정리는 사실 나도 증명 안 했다. 이 증명은 굳이 필요하지 않을 거라고 판단되어 증명과정까지 공부하지는 않았다.


뭔가 중요한 파트인 것은 분명한데 뭔가 너무 빨리 끝난 것 같다.

우선은 내가 eigenvalue와 eigenvector에 대해서 아는 바는 여기까지이다.

Posted by 빛나유

댓글을 달아 주세요

  1. 오늘선대시험 2015.10.21 18:43  댓글주소  수정/삭제  댓글쓰기

    와 형님 선대 포스팅 쭉 정주행했습니다. 진짜 감사합니다. 앞으로도 좋은 포스팅 부탁드립니다.. 핵심을 정말 꺼내어주시네요 감사합니다. 형님

  2. 2015.10.26 15:53  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  3. 다변량수업 2016.03.08 10:59  댓글주소  수정/삭제  댓글쓰기

    오늘 수업시간에 잘 이해하지 못했던게 바로 이해되는 군요 감사합니다

  4. ㅁㅇ 2016.05.15 14:29  댓글주소  수정/삭제  댓글쓰기

    2번의 eigenvalue 의 곱은 det A 이어야 되는거 아닌가요?

  5. 2016.10.26 23:24  댓글주소  수정/삭제  댓글쓰기

    정말 감사합니다 잘 읽었습니다

nxn matrix A에 대하여 Determinant를 구하는 방법으로는 크게 세가지가 있다. 그 중 하나는 이전 포스팅에도 익히 말했던 Upper Triangular matrix를 구하여 diagonal elements를 모두 곱하는 방법이다.


그런데 이렇게 되면 matrix A의 원소인 Aij가 모두 Upper Triangular Matrix U의 원소 Uij로 바뀌게 된다. 즉 원래의 Aij가 다른 숫자로 변형된다. 조금 더 general한 solution을 구하기 위해서 우리는 Aij를 다른 숫자로 변형하지 않은 General formula를 구해보도록 하자. 그 방법은 크게 두가지이다. 


1. Big Formula

2. Determinant by Cofactors


우선 Big Formula부터 살펴보자. 예를 들어서 아래와 같은 3x3 matrix의 Determinant를 구해보자.


위의 식은 이전 포스팅의 Rule3에 의해서 구해질 수 있다. 같은 원리로 또 나눠보자.


또 나눠보자.


위의 식에서 하나의 row 전체가 0인 것들은 Determinant가 0일 것이므로 지워보자. 그러면 아래와 같이 남는다.


마지막 식이 우리가 최종적으로 구하려는 (3x3 matrix에 대한) Big formula가 된다. (Rule1, Rule2 사용) 아이고 3x3 matrix만 구해봐도 이렇게 복잡한데 nxn은 어찌구하나. 자 좌절하지 말고 규칙을 구해보자.


Determinant를 구하는 두번째 방법인 Big Formula를 알아봤으므로, 마지막 방법인 Determinant by Cofactors를 알아보겠다. 우선 3x3 matrix의 Determinant를 구해서 묶으면 아래와 같다.


c에 대한 설명은 아래의 식에서 확인해보자.


여기에서 부호를 한번 확인해보자. 부호는 +와 -를 번갈이간다. a11 a12 a13 이런식으로 가면 + - + 계속 바뀐다. 따라서 nxn에서는 아래와 같은 식이 완성된다.

지금까지 Determinant를 구하는 세가지 방법에 대해서 알아봤다.

첫번째 방법인 Upper Triangular Matrix를 만들어서 diagonal elements를 모두 곱하는 방법이 가장 빠른 방법이다. 실제로 Cofactor를 이용한 방법과 첫번째 방법을 matlab을 통해 구현하여 비교해보면 계산 속도가 30배나 차이가 나더라. 내 환경에서는 그렇게 나더라.


다음 포스팅에서는 Cramer's Rule에 대해서 이야기해보려고 한다.

Posted by 빛나유

댓글을 달아 주세요

선형대수에서 행렬을 공부하면서 계속 궁금했던 것 중에 하나가...왜 행렬을 공부하는데 Determinant에 대하여는 소홀히 하지? 였다. 적어도 행렬이 주어지면 Determinant를 구할 줄 알아야 할 것 같은데, 2x2 만 ad-bc로 구하고 나머지는 딱히 구하는 방법을 공부하지 않더라. 왜 그러지? 계속 궁금했는데 이제야 배운다. 그렇다. 이번 포스팅부터 몇 개는 Determinant에 대하여 자세하게 배워볼 것이다. 


기본적으로 Determinant는 우리에게 많은 정보를 준다. 그 중에 대표적인 예가 Inverse matrix의 유무이다. Determinant가 0일 때 Inverse matrix는 존재하지 않는다. 우리는 이것을 고등학교 때부터 배워왔다.


그 외에 Determinant가 어떤 식으로 유용하게 쓰일 수 있을까? 그것을 공부하기 위한 기본적인 Determinant의 성질을 알아보자. 이번 포스팅에서 10가지의 성질을 알아보도록 하자. (음... 참고로 그 중요하다는 Aigenvalue도 Determinant를 제대로 공부해야만 알 수 있는 그런 것 같다. 아직 공부는 안해서 잘 모르겠지만...)


1. nxn Identity matrix의 Determinant는 1이다.

지긋이 당연한 듯 하면서도 2x2일 때 말고는 증명을 못 하겠다. 증명해보려면 이렇게 하면 되지 않을까? Determinant라는 값은 사실 pivot과 매우 관련이 있다. pivot의 곱이 Determinant이다. 그렇다면 Identity matrix에서 pivot은 모두 무엇일까? 1이다. 1x1x1....x1 = 1이다.


2. matrix에서 row exchange가 n번 발생하면 Determinant의 부호가 n번 바뀐다.

이 말은 그냥 아직까지는 이 말 그대로 믿자. 2x2 matrix에서는 아주 쉽게 그것을 증명할 수 있다. 

그런데 우리는 nxn matrix에 대해서도 증명해보고 싶으나 아직 별로 아는 것이 없어서 못 할 것 같다. 그냥 그렇다고 알고 가고 증명은 조금 나중에 미루자.


3. Determinant는 row에 대하여 linear하다.

말이 조금 어렵다. 그런데 어려운 내용 아니다. 수식으로 보자.

3.1은 특정 row에 t를 곱했을 경우 그 Determinant 역시 t배가 된다는 말이다.

3.2는 식이 더 이해하기 편하겠다.


1, 2, 3은 사실 증명이라기보다는 property라고 하고 가련다. property 4부터는 property 1,2,3을 이용하여 제대로 증명하면서 할 것이다.


4. 두 개 이상의 row가 같을 때, 그 Determinant는 0이다. 2번을 이용하여 증명을 해보자.


5. 각 row끼리의 linear combination으로는 Determinant가 바뀌지 않는다.

하나의 row에 다른 row를 빼도 Determinant는 바뀌지 않는다.


6. 모든 element가 0인 row가 있다면 그 matrix의 Determinant는 0이다.

간단하다. row1에 row2를 더하거나 빼도 Determinant는 변하지 않는다. 0인 row에 다른 row를 더해버리면 두 개의 row가 같은 row가 되고 그것의 Determinant는 4번에 의해 0이다.


7. Matrix A가 triangular matrix이면, Determinant는 a11a22a33...ann을 곱한 것과 같다.

위와 같이 증명했으나, 굳이 대각선 elements의 위와 아래쪽을 모두 0으로 놓을 필요는 없다. upper triangular matrix로만 놓아도 대각선의 곱은 Determinant이다.


8. Matrix A의 Determinant가 0이 아니어야 A는 Inverse matrix를 갖는다.

음... 지금까지 계속 해왔던 이야기 중 하나다. 내가 핵심을 못 파악하고 있는건지... 왠지 너무 당연한 이야기로 밖에 안 들린다. 따라서 그냥 생략하련다. 나중에 진짜 내가 빼먹은 것이 있다고 판단될 때 다시 적어넣도록 하자.


9. Matrix AB의 Determinant는 Det(AB)=Det(A)Det(B)이다.

책에 2x2 matrix에 대하여 ad-bc 원리를 이용하여 증명을 해놨으나 굳이 여기 적지는 않겠다. 모두가 손으로 조금만 써보면 가능한 것이라. 그렇다고 general하게 nxn matrix에 대하여 증명한 것도 아니므로 그냥 증명 생략하고 넘어가자.


10. Matrix A의 Determinant와 T(A)의 Determinant는 같다.

..... 이것도 증명을 못 하겠다;; 그냥 외우도록 하자.


8, 9, 10을 완성하지 못 하여 이틀 정도 고민했는데... 음... 그냥 미결 상태로 두고 넘어가련다. 우선 Aigenvalue까지는 빨리 공부해버리고 싶기 때문이다. 약간 8, 9, 10이 그럴 듯하게 직관적이긴 하다. 아무튼 독자들에게는 미안하지만 Let me leave unsolved..


다음 포스팅은 nxn matrix의 Determinant를 구하는 세가지 방법에 대해서 알아보도록 하자.

Posted by 빛나유

댓글을 달아 주세요

  1. 2016.05.19 03:53  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. A 2016.11.30 18:04  댓글주소  수정/삭제  댓글쓰기

    Det가 n×n에서 항상 1인건가요..? 학교에서 배운거랑 좀 달라서여..