2017-11-07 11:49:46

지금까지는 우리는 행렬이 대각화되는 케이스들을 다뤄왔다. 대각화를 이용해서 행렬의 거듭제곱을 쉽게 구할 수도 있었고(http://bskyvision.com/127), 대각화를 이용해서 차분방정식(difference equation)을 간단하게 풀 수 있었다(http://bskyvision.com/156). 그리고 대칭 행렬과 에르미트 행렬의 대각화도 확인했다(http://bskyvision.com/179). 지금까지 우리는 대각화라는 기법이 상당히 중요한 스킬이라는 것을 확인해왔다. 그런데 만약 대각화가 되지 않는 행렬들을 만났다면 어떻게 해야할까? 이 질문에 대한 답이 바로 오늘 포스팅할 내용의 핵심이다.   


어떤 행렬 A가 대각화되기 위한 조건은 n x n 정방행렬의 경우 선형 독립인 n개의 고유벡터들을 가지고 있는 것이었다. 행렬 A가 선형 독립인 n개의 고유벡터를 가지고 있을 때는 와 같이 대각화가 가능했다. 여기서 는 고유벡터들을 열벡터로 가지고 있는 고유벡터행렬이고 는 고유값들을 대각 요소로 갖고 있는 고유값행렬이다.   


행렬 A가 선형 독립인 고유벡터의 개수가 n개가 못된어서 대각화가 불가능 할 때는 대각 행렬이 아닌 대각 행렬에 가장 가까운 행렬을 찾아주는 것으로 목표가 수정된다. 그것이 바로 Jordan form이다. Jordan form에 대해 설명하기에 앞서 유사 행렬(similar matrix)을 잠시 설명하고 넘어가자. 



▶ 유사 행렬(similar matrix)


유사 행렬 닮은 행렬이라고도 불리는데, 정방행렬 A와 B에 대하여 



을 만족하는 행렬 M이 존재하면, A와 B가 서로 닮았다(similar)고 표현하며, 기호로 로 나타낸다[1]. 이러한 유사 행렬들은 두가지 특성을 가지고 있다. 


특성1. 고유값들이 동일하다.

특성2. 행렬 B의 고유벡터들은 행렬 A의 고유벡터들의 왼쪽에 을 곱해준 것들과 같다. 


>> 이 두 가지 특성들을 증명해보자. 와 에서 시작한다.  



따라서 행렬 B의 고유값은 A와 동일하고, 고유벡터는 A의 고유벡터들의 왼쪽에 을 곱해준 이다. 


행렬 A



의 유사 행렬 B를 찾아보자. 행렬 M이 



이라고 하면, 행렬 A의 유사행렬 B는 



이 된다. 위에서 말한 두 개의 특성이 맞는지 확인해보자. trace와 행렬식으로 행렬 A와 B의 고유값들을 구해보자.   




서로 유사 행렬인 행렬 A와 행렬 B의 고유값들이 동일함을 알 수 있다. 이번에는 행렬 A와 B의 고유벡터들을 확인해보자. 행렬 A의 고유벡터들은 



이다(고유값과 고유벡터 구하는 방법은 http://bskyvision.com/59를 참고).


행렬 B의 고유벡터들을 구해보면 



이다. 행렬 B의 고유벡터들이 행렬 A의 고유벡터들의 왼쪽에 을 곱해준 것들과 같다는 것을 아래를 통해 확인할 수 있다. 




▶ Jordan form


위에서 대각화가 불가능할 때는 차선책으로 대각 행렬이 아닌 Jordan form을 찾아야한다고 언급했었다. Jordan form은 거의 대각 행렬과 비슷한 용모를 갖는 행렬이다. 만약 행렬 A가 s개의 독립인 고유벡터들을 갖는다면, 행렬 A는 s개의 블럭들을 가지는 행렬과 유사하다. 


...(공식1: Jordan form)


각각의 Jordan 블럭 는 오직 한 개의 고유값 과 한 개의 고유벡터를 지니는 삼각행렬(triangular matrix)이다. 


...(공식2: 각각의 Jordan 블럭)


아마 아래 그림1이 Jordan form이 무엇인지 가장 명확하게 이해를 시켜줄 것이다. 


그림1. Jordan form. [출처: 위키백과https://ko.wikipedia.org/wiki/%EC%A1%B0%EB%A5%B4%EB%8B%B9_%ED%91%9C%EC%A4%80%ED%98%95]


세개의 에 매칭되는 고유벡터가 하나, 두 개의 에 매칭되는 고유벡터가 하나, 한 개의 에 매칭되는 고유벡터가 하나, ..., 두 개의 에 매칭되는 고유벡터가 하나인 상황일 때의 Jordan form이다. 각 jordan 블럭에서 대각요소를 차지하고 있는 고유값들 바로 위 대각에 1을 추가해준다는 것이 포인트이다. 


왜 이렇게 되는지에 대한 증명은 복잡하고 구지 몰라도 되기 때문에 패스한다. 꼭 알아야하는 것은 대각화가 불가능한 행렬들은 Jordan form으로 유사대각화해준다는 점이다. 여기서 는 의 특수한 케이스라는 것을 알고 넘어가야 한다. 만약 행렬 A가 대각화되면 M은 고유벡터행렬 S가 되고 J는 고유값행렬 로 쓰이는 것이다.  


그러면 아래와 같은 행렬 A의 Jordan form을 구해보자. 



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



2인 고유값이 한 개, 1인 고유값이 두 개로 총 세개가 있다. 고유값이 2일때 고유벡터는 

 


이고, 고유값이 1일때는



의 고유벡터를 갖는다. 두 개의 고유벡터를 가지므로 총 2개의 Jordan 블럭을 갖는다. 결과적으로 행렬 A의 Jordan form은 아래와 같다. 




<참고 자료>

[1] https://ko.wikipedia.org/wiki/%EB%8B%AE%EC%9D%8C%ED%96%89%EB%A0%AC => 유사 행렬의 정의 참고

[2] https://www.youtube.com/watch?v=Rc-k8_xvzCo => 조르당 표준형에 대한 유투브 강의. 

[3] https://www.youtube.com/watch?v=6S3deGLjgAs => Jordan form에 대한 유투브 강의. 볼만한 가치가 있음.