Skip to Main Content Skip to Search
Product Documentation

schur - Schur decomposition

Syntax

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

Description

The schur command computes the Schur form of a matrix.

T = schur(A) returns the Schur matrix T.

T = schur(A,flag) for real matrix A, returns a Schur matrix T in one of two forms depending on the value of flag:

'complex'

T is triangular and is complex if A has complex eigenvalues.

'real'

T has the real eigenvalues on the diagonal and the complex eigenvalues in 2-by-2 blocks on the diagonal. 'real' is the default.

If A is complex, schur returns the complex Schur form in matrix T. The complex Schur form is upper triangular with the eigenvalues of A on the diagonal.

The function rsf2csf converts the real Schur form to the complex Schur form.

[U,T] = schur(A,...) also returns a unitary matrix U so that A = U*T*U' and U'*U = eye(size(A)).

Examples

H is a 3-by-3 eigenvalue test matrix:

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

Its Schur form is

schur(H) 

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

The eigenvalues, which in this case are 1, 2, and 3, are on the diagonal. The fact that the off-diagonal elements are so large indicates that this matrix has poorly conditioned eigenvalues; small changes in the matrix elements produce relatively large changes in its eigenvalues.

See Also

eig | hess | qz | rsf2csf

  


» Learn more
» Download free kit
» Get trial software

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS