2017-09-20 15:16:19

선형대수학에서 고유값 분해와 특이값 분해가 차지하는 비중은 상당히 크다. 오늘은 먼저 고유값 분해에 대해 알아보자. 



▶ 정방행렬의 대각화: 고유값 분해


행렬의 대각화란 행렬을 대각요소만 가진 대각형렬로 만들어주는 것이다. 정방행렬의 대각화는 고유값분해(eigendecomposition)라고도 불린다. n x n 행렬(정방행렬) A 가 n개의 선형적으로 독립인 고유벡터들을 가지면,


...(공식 1: 고유값분해)


가 성립한다. 여기서 S는 고유벡터들을 열벡터(column vector)로 가지고 있는 고유벡터행렬이고, 는 고유값들을 대각요소에 가지고 있는 대각행렬로 고유값행렬이라고 불린다. 고유값과 고유벡터에 대해서는 여기를 참고하자. 그렇다면 어떻게 공식 1이 성립하는지 증명해보자. 먼저 고유벡터행렬 S에 행렬 A를 곱해주는 것으로 시작한다.


 

AS의 각 열벡터는 S의 각 열벡터에 행렬A를 곱한 것임을 기억하자. 

=> column j of AB = A times (column j of B) ...(공식 2)


이므로 위와 같이 연산된다. 그리고 



와 같이 두 개의 행렬로 분리된다. 어떻게 이렇게 분리될 수 있을까? 이것도 역시 공식 2를 활용한 결과이다.



와 같으므로, 위 연산이 가능한 것이다. 따라서, 이 성립한다. 여기에 양 변의 왼쪽에 S의 역행렬을 곱해주면 공식 1이 나오게 된다. 


...(공식 1: 고유값 분해)


또한 양변의 오른쪽에 S의 역행렬을 곱해주면 


...(공식1-1: 고유값 분해)


의 형태가 된다. 



이것들 모두 정방행렬의 대각화, 즉 고유값 분해를 의미하는 공식들이다. 그런데 여기서 S의 역행렬들을 곱해줬기 때문에, 행렬의 대각화는 S가 역행렬을 가질 수 있는 조건이 만족될 때만 가능하다. 역행렬을 가질 수 있는 조건은 S의 행렬식(determinant)의 값이 0이 아니어야 한다. 행렬식의 값이 0이라면 그 행렬은 singular인 것이다(열벡터들이 선형 독립이 아니다). 그러므로 고유벡터행렬 S가 역행렬을 가지려면 A가 선형 독립인 n개의 고유벡터들을 가져야 한다. 걔네들이 S의 열벡터들이기 때문이다. 


행렬 A가 역행렬을 가질 조건: 0이 아닌 고유값들을 갖는다.

행렬 A가 대각화될 조건: n개의 선형 독립인 고유벡터들을 갖는다.


헷갈릴 수 있는데, 행렬 A가 singular이더라도(즉, 역행렬을 가질 수 없어도), 행렬 A는 대각화될 수도 있다. 



▶ 고유값 분해로 행렬의 거듭제곱 구하기



위와 같은 행렬이 있다. 을 구하는 것은 어렵지 않다. A 행렬에 A 행렬을 한번, 두번, 세번 곱해주면 되니까. 조금 귀찮긴 해도. 그런데 만약에 을 구해야 한다면? 방금처럼 노가다로 푼다면 우리의 인내심은 한계에 다다르고 결국 포기하게 될 것이다. 그렇다면, 좀 더 간단하게 을 구할 수 있는 방법은 없을까? 그것은 바로 행렬의 대각화다. (물론 대각화가 가능한 조건을 만족시킬 때만 사용 가능하다.)



를 제곱해주면,



가 된다. 마찬가지로 A를 세제곱해주면,



이 되고, k 제곱해준다면,



가 된다. 중간에 있는 고유값행렬 만 거듭제곱됨을 알 수 있다. 고유값행렬은 대각요소만 값들을 가지므로 거듭제곱하면 그 요소들만 거듭제곱된다. 따라서 매우 계산이 편리하다. 


이제 를 구해보자. 먼저 행렬 A의 고유값들과 고유벡터들을 찾아야한다. 찾은 결과는 아래와 같다. 



즉, 고유값행렬과 고유벡터행렬은

 


이다. 꼴로 나타내면,


이 된다. 


드디어 대각화의 힘을 보여줄 시간이다. Now is time to show the power of the diagonalization!!


이므로


 


로 매우 간단히 을 구할 수 있다.