MT 김신휘 Finding Generalized Eigenvectors using a Jordan Canonical Form
MT Page 333 Problem 9.2
Find a full set of generalized eigenvectors of the following matrices:
(Citation : 이상구, http://matrix.skku.ac.kr/2012-mobile/E-CLA/10-1.html, 2013.11.25)
Sol)
주어진 행렬 의 Jordan form
와 transition matrix
를 구한다.
M = matrix([[-2,0,-2],[-1,1,-2],[0,1,-1]])
M = matrix([[-2,0,-2],[-1,1,-2],[0,1,-1]])
[J, P] = M.jordan_form(transformation=True)
print("J = ")
print(J)
print
print("P = ")
print(P)
의 각 열은 generalized eigenvector들이며 각 Jordan block에 대응하는
의 열들은 한 chain 내의 generalized eigenvector들이다.
그러므로 와
를 이용해서 generalized eigenvector들을 다음과 같이 알 수 있다.
print("Eigenvalue " + str(J[0][0]))
print("Eigenvalue " + str(J[0][0]))
print("Chain 1")
print("x1 = " + str(P.transpose()[0]))
print
print("Eigenvalue " + str(J[1][1]))
print("Chain 1")
print("x1 = " + str(P.transpose()[1]))
print("-> x2 = " + str(P.transpose()[2]))
(Citation : 이상구, http://matrix.skku.ac.kr/2012-mobile/E-CLA/10-1.html, 2013.11.25)
Sol)
주어진 행렬 의 Jordan form
와 transition matrix
를 구한다.
M = matrix([[-6,31,-14],[-1,6,-2],[0,2,1]])
M = matrix([[-6,31,-14],[-1,6,-2],[0,2,1]])
[J, P] = M.jordan_form(transformation=True)
print("J = ")
print(J)
print
print("P = ")
print(P)
(1)과 유사하게 generalized eigenvector들을 다음과 같이 알 수 있다.
print("Eigenvalue " + str(J[0][0]))
print("Eigenvalue " + str(J[0][0]))
print("Chain 1")
print("x1 = " + str(P.transpose()[0]))
print
print("Eigenvalue " + str(J[1][1]))
print("Chain 1")
print("x1 = " + str(P.transpose()[1]))
print("-> x2 = " + str(P.transpose()[2]))
■
Note
- 이 해답은 교재의 해답과 다르며 실제로 고유값 1 의 x1 = (-4,0,2)에 대해 x2 = (5,1,0)가 될 수도 있다.
또한 프로그램의 실행 결과에서 나온 해답도 직접 계산해보면 옳은 것을 확인할 수 있다. 즉 일정한 initial vector로부터 만들어지는 chain은 유일하지 않다.
References
이상구, 10.1 점도표를 이용한 jordan 표준형 구하기 : http://matrix.skku.ac.kr/2012-mobile/E-CLA/10-1.html, 2013.11.25
Jin Ho Kwak and Sungpyo Hong, 1997, Linear Algebra, 333p
이상구, 2012, 경문사, 현대선형대수학 with Sage, 749p
SKKU Matrix Theory Contents