Products & Services Solutions Academia Support User Community Company

Learn more about MATLAB   

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.

Algorithm

Input of Type Double

If A has type double, schur uses the LAPACK routines listed in the following table to compute the Schur form of a matrix:

Matrix A

Routine

Real symmetric

DSYTRD, DSTEQR

DSYTRD, DORGTR, DSTEQR (with output U)

Real nonsymmetric

DGEHRD, DHSEQR

DGEHRD, DORGHR, DHSEQR (with output U)

Complex Hermitian

ZHETRD, ZSTEQR

ZHETRD, ZUNGTR, ZSTEQR (with output U)

Non-Hermitian

ZGEHRD, ZHSEQR

ZGEHRD, ZUNGHR, ZHSEQR (with output U)

Input of Type Single

If A has type single, schur uses the LAPACK routines listed in the following table to compute the Schur form of a matrix:

Matrix A

Routine

Real symmetric

SSYTRD, SSTEQR

SSYTRD, SORGTR, SSTEQR (with output U)

Real nonsymmetric

SGEHRD, SHSEQR

SGEHRD, SORGHR, SHSEQR (with output U)

Complex Hermitian

CHETRD, CSTEQR

CHETRD, CUNGTR, CSTEQR (with output U)

Non-Hermitian

CGEHRD, CHSEQR

CGEHRD, CUNGHR, CHSEQR (with output U)

See Also

eig, hess, qz, rsf2csf

References

[1] Anderson, E., Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J.Du Croz, A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen, LAPACK User's Guide (http://www.netlib.org/lapack/lug/lapack_lug.html), Third Edition, SIAM, Philadelphia, 1999.

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

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