[U,T] = schur(A)
T = schur(A)
schur
computes the Schur form of a matrix. 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.
[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
.
If the matrix A
is real, schur
returns the real Schur form. If imag(A)
is nonzero, schur
returns the complex Schur form. The function rsf2csf
converts the real form to the complex form.
gallery(3)
is a 3-by-3 eigenvalue test matrix:
Its Schur form isgallery(3) =
-149 -50 -154
537 180 546
-27 -9 -25
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.schur(gallery(3)) =
1.0000 7.1119 815.8706
0 2.0000 -55.0236
0 0 3.0000
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.
eig
,hess
,qz
,rsf2csf
[2] B. S. Garbow, J. M. Boyle, J. J. Dongarra, and C. B. Moler, Matrix Eigensystem Routines - EISPACK Guide Extension, Lecture Notes in Computer Science, volume 51, Springer-Verlag, 1977.
[3] C.B. Moler and G. W. Stewart, "An Algorithm for Generalized Matrix Eigenvalue Problems," SIAM J. Numer. Anal., Vol. 10, No. 2, April 1973.
(c) Copyright 1994 by The MathWorks, Inc.