Main Content

schur

슈어 분해(Schur Decomposition)

구문

T = schur(A)
T = schur(A,flag)
[U,T] = schur(A,...)

설명

schur 함수는 행렬의 슈어 형식을 계산합니다.

T = schur(A)는 슈어 행렬 T를 반환합니다.

T = schur(A,flag)는 실수 행렬 A에 대해 flag의 값에 따라 다음 두 가지 형식 중 하나로 슈어 행렬 T를 반환합니다.

'complex'

T는 삼각 행렬이며, A가 실수 행렬이고 복소수 고유값을 갖는 경우 복소수 행렬입니다.

'real'

T는 대각선상에 실수 고유값을 갖고, 대각선상의 2×2 블록에 복소수 고유값을 가집니다. A가 실수 행렬인 경우 'real'이 디폴트 값입니다.

A가 복소수 행렬인 경우 schur는 복소수 슈어 형식을 행렬 T로 반환하며, flag는 무시됩니다. 복소수 슈어 형식은 대각선상에 A의 고유값이 있는 상부 삼각 행렬입니다.

함수 rsf2csf는 실수 슈어 형식을 복소수 슈어 형식으로 변환합니다.

[U,T] = schur(A,...)A = U*T*U'이고 U'*U = eye(size(A))가 되도록 유니타리 행렬 U도 반환합니다.

예제

H는 3×3의 고유값 테스트 행렬입니다.

H = [ -149    -50   -154
       537    180    546
       -27     -9    -25 ]

이 행렬의 슈어 형식은 다음과 같습니다.

schur(H) 

ans =
     1.0000   -7.1119 -815.8706
          0    2.0000  -55.0236
          0         0    3.0000

대각선상에 고유값(이 경우 1, 2, 3)이 있습니다. 비대각선 요소가 너무 크다는 사실은 이 행렬이 조건이 나쁜 고유값을 가지고 있음을 나타냅니다. 즉, 행렬 요소를 조금만 변경해도 고유값이 상대적으로 크게 변화합니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |