행렬의 대각화, 다른 말로 고유값 분해에 대해서 예전에 포스팅을 했었다. 대각화에 대해서 모르면 오늘 내용을 이해하기 어려우니 잘 모른다면 먼저 읽고 오는 것이 좋다. 오늘은 행렬이 만약 대칭(symmetric)이거나 에르미트(Hermitian)일 때의 대각화에 대해 정리하려고 한다. 사실 일반적인 행렬의 대각화와 다른 것은 없지만 표기법과 세부사항이 살짝 다르니 정리해두면 좋을 것 같다. 먼저 대칭 행렬이 무엇이고 에르미트 행렬이 무엇인지 알아보자. 



▶ 대칭 행렬과 에르미트 행렬


대칭 행렬은 비교적 익숙할 것이다. 그림1과 같이 대각을 기준으로 서로 데칼코마니처럼 일치되는 행렬이 바로 대칭 행렬이다.


그림1. 대칭행렬

이것을 식으로 나타내면, 



이 된다. 여기서 i는 몇번째 행인지, j는 몇번째 열인지를 알려준다. 대칭 행렬은 전치(transpose)시켜도 본인이 되는 특성이 있다. 



왜냐하면 첫번째 행과 첫번째 열이 같고, 두번째 행과 두번째 열이 같고, ..., n번째 행이 n번째 열과 같기 때문이다. 


이번에는 조금은 낯설 수 있는 에르미트 행렬에 대해서 알아보자. 그림2와 같이 대각을 기준으로 마주 보는 요소들끼리 서로 켤레복소수(complex conjugate)가 되는 행렬이다. 


그림2. 에르미트 행렬


이것을 식으로 나타내면, 



이 되는데, 여기서 위에 있는 가로선은 켤레복소수를 나타낸다. 에르미트 행렬은 행렬의 각 요소들에 켤레복소수를 취한 것을 전치시킨 것과 같다. 켤레복소수를 취한 후 전치시키는 것()을 의미하기 위해 H라는 기호를 사용한다. 따라서 아래와 같이 표현된다. 



대칭 행렬과 에르미트 행렬에 대해 간단히 알아봤다. 대칭 행렬은 에르미트 행렬의 부분 집합이다. 이것이 무슨 말인가 하면, 대칭 행렬은 에르미트 행렬 중에서 모든 요소가 실수인 특별한 케이스이다. 실수에 켤레복소수를 취해도 그대로이기 때문이다. 




▶ 대칭 행렬과 에르미트 행렬의 고유값들과 고유벡터들의 특성


대각화를 하려면 고유값들과 고유벡터들을 찾아야한다. 그런데 대칭 행렬과 에르미트 행렬의 고유값들과 고유벡터들에 대해서 중요한 특성들이 있다. 


특성1. 모든 대칭 행렬과 에르미트 행렬은 실수의 고유값들을 갖는다. 

특성2. 고유벡터들은 정규직교(orthonormal)인 것들로 선택될 수 있다. 


>> 먼저 첫번째 특성에 대해 증명해보자. 우선 에서 시작하자. 여기에 양변에 를 곱하면, 가 될 것이다. 고유값은 상수이므로 가장 앞으로 가도 무방하다. 먼저 좌변에 대해서 살펴보자. 행렬A의 사이즈가 m x m이라면, 고유벡터 x는 m x 1이고, 는 1 x m이다. 그러면 는 (1 x m)(m x m)(m x 1) = (1 x 1)이므로 즉 1 x 1의 행렬이 된다. 이것을 기억한 상황에서 에 에르미트를 시켜주면 어떤 일이 벌어지는지 확인해보자. 



즉, 자기 자신이 된다. 가 1 x 1의 행렬인데 에르미트를 시켰는데 자기 자신과 같다는 것은 즉 가 복소수가 아닌 실수라는 의미이다. 그러면 이제 우변에 있는 에 대해 살펴보자. x의 요소들이 복소수든 실수든 는 실수가 될 것이다. 왜냐하면 켤레복소수들끼리 곱하는 경우에는와 같이 항상 실수가 되기 때문이다. 이제 를 고유값 에 대해서 정리해보자. 



여기서 분자, 분모 모두 실수이므로 고유값은 항상 실수가 된다. 첫번째 특성이 이로써 증명되었다. 


>> 이제 두번째 특성에 대해 증명해보자. 고유값들은 이고 그에 해당되는 고유벡터들이 이라고 할 때, 가 어떻게 전개되는지 보자. 



결국 라는 말이다. 고유값들이 서로 다르다면, 이어야 한다. 즉, 고유벡터들끼리 서로 직교(orthogonal)라는 것이다. 따라서 이 고유벡터들을 모두 정규화시켜주면, 정규직교(orthonormal)가 된다. 이렇게 두번째 특성이 증명되었다. 



▶ 대칭 행렬과 에르미트 행렬의 대각화


일반적으로 행렬A를 대각화를 하면 



와 같이 나타냈었다. 여기서 는 고유벡터들을 열 벡터로 갖고 있는 고유벡터행렬이고, 는 고유값들을 대각 요소로 갖고 있는 고유값행렬이다. 


그런데 만약 행렬A가 대칭 행렬이면, 



로 적어준다. 는 마찬가지로 S와 같은 고유벡터행렬인데, 실수 행렬인 A의 고유벡터들이 정규직교(orthonormal)인 직교행렬(orthogonal matrix)이므로 S 대신에 Q로 기입해주는 것 뿐이다. 참고로 직교행렬은 정규직교인 벡터들을 열 벡터로 가지고 있는 행렬이다. (Q는 직교행렬보다 정규직교행렬이 더 잘어울리는 이름이지만, 처음에 이렇게 사용했고 이미 이 이름을 바꾸기에는 늦어서 그냥 이렇게 사용한다고 한다.) 


행렬A가 에르미트 행렬인 경우를 생각해보자. 행렬 A는 복소수 행렬이다. 이 경우에는 아래와 같이 쓴다. 



 역시도 S와 같은 고유벡터 행렬인데, 복소수 행렬인 A의 고유벡터들이 정규직교인 유니타리 행렬(unitary matrix)이므로 S 대신에 U로 기입해준다. 



▶ 대칭 행렬과 에르미트 행렬의 대각화 예제


그럼 이제 에르미트 행렬을 대각화하는 예제를 하나 풀어보자. 아래에 하나의 에르미트 행렬이 있다.



우선 먼저 고유값들을 구해야 한다. 



특성1에서 확인했던 것처럼 고유값들이 모두 실수임을 알 수 있다. 이제 고유벡터들을 구해보자. 일 때의 고유벡터 은 아래와 같이 구한다. 



그리고 일 때의 고유벡터 를 구하면, 아래와 같이 된다. 



고유벡터들은 아래에서 확인할 수 있는 것처럼 직교(orthogonal)이다. 



이 고유벡터들을 단위 벡터로 정규화해줘도 괜찮다.



결국 특성2에서 확인한 것과 같이 에르미트 행렬 A는 정규직교인 고유벡터들을 갖게 된다. 고유값과 고유벡터의 의미와 산출하는 방법에 대한 자세한 내용은 여기를 참고하자(http://bskyvision.com/59). 고유값들과 고유벡터들을 모두 구했으니 이제 대각화를 해줄 수 있다. 




▶ 정리


지금까지 대칭 행렬, 에르미트 행렬의 대각화에 대해서 정리해보았다. 대칭 행렬은 대각을 기준으로 서로 대칭되는 행렬이고, 에르미트 행렬은 대각을 기준으로 서로 마주보는 요소들이 켤레 복소수인 관계를 갖고 있다. 대칭 행렬도 에르미트 행렬의 한 부분집합일 뿐이다. 


서로 선형 독립인 고유벡터들을 가져서 대각화가 가능한 일반 행렬들은 로, 대칭 행렬은 로, 에르미트 행렬은 로 나타낸다. 그리고 여기서 다루지는 않았지만 대각화가 불가능한 행렬은 으로 유사대각화된다. 

(이에 대한 내용은 http://bskyvision.com/188를 참고하자.)  


이것으로 글을 마칩니다. 여기까지 천천히 읽어오셨다면 도움이 되었을 것이라고 생각합니다. 저만의 착각이 아니었으면 좋겠네요. ㅎㅎ 부족한 글 읽으시느라 수고하셨습니다. 질문이나 잘못된 내용이 있으면 댓글 달아주세요!^^  

Posted by 톈진난만

댓글을 달아 주세요

  1. betago 2018.02.09 21:33 신고  댓글주소  수정/삭제  댓글쓰기

    고유값에 대해 공부하다가 들어왔는데 잘 보고 갑니다! 정말 도움 많이 되었어요 ㅎㅎ 감사합니다~



티스토리 툴바