MATLAB Function Reference
  Go to function:
    Search    Help Desk 
schur    Examples   See Also

Schur decomposition

Syntax

Description

The schur command computes the Schur form of a matrix.

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

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

Remarks

The complex Schur form of a matrix is upper triangular with the eigenvalues of the matrix on the diagonal. The real Schur form has the real eigenvalues on the diagonal and the complex eigenvalues in 2-by-2 blocks on the diagonal.

If the matrix A is real, schur returns the real Schur form. If A is complex, schur returns the complex Schur form. The function rsf2csf converts the real form to the complex form.

Examples

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

Its Schur form is

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

For real matrices, schur uses the EISPACK routines ORTRAN, ORTHES, and HQR2. ORTHES converts a real general matrix to Hessenberg form using orthogonal similarity transformations. ORTRAN accumulates the transformations used by ORTHES. HQR2 finds the eigenvalues of a real upper Hessenberg matrix by the QR method.

The EISPACK subroutine HQR2 has been modified to allow access to the Schur form, ordinarily just an intermediate result, and to make the computation of eigenvectors optional.

When schur is used with a complex argument, the solution is computed using the QZ algorithm by the EISPACK routines QZHES, QZIT, QZVAL, and QZVEC. They have been modified for complex problems and to handle the special case B = I.

For detailed descriptions of these algorithms, see the EISPACK Guide.

See Also

eig         Eigenvalues and eigenvectors

hess        Hessenberg form of a matrix

qz          QZ factorization for generalized eigenvalues

rsf2csf     Convert real Schur form to complex Schur form

References

[1] Garbow, B. S., J. M. Boyle, J. J. Dongarra, and C. B. Moler, Matrix Eigensystem Routines - EISPACK Guide Extension, Lecture Notes in Computer Science, Vol. 51, Springer-Verlag, 1977.

[2] Moler, C.B. and G. W. Stewart, "An Algorithm for Generalized Matrix Eigenvalue Problems," SIAM J. Numer. Anal., Vol. 10, No. 2, April 1973.

[3] Smith, B. T., J. M. Boyle, J. J. Dongarra, B. S. Garbow, Y. Ikebe, V. C. Klema, and C. B. Moler, Matrix Eigensystem Routines - EISPACK Guide, Lecture Notes in Computer Science, Vol. 6, second edition, Springer-Verlag, 1976.



[ Previous | Help Desk | Next ]