| MATLAB Function Reference | ![]() |
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:
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 ]
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
schur uses LAPACK routines to compute the Schur form of a matrix:
See Also
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, Third Edition, SIAM, Philadelphia, 1999.
| scatter3 | script | ![]() |