schur
Schur decomposition of a square matrix.
Category: Mathematics > Linear Algebra
Syntax
T = schur(A)
Returns the Schur form T.
[U, T] = schur(A)
Also returns the unitary matrix U, so that A = U*T*U'.
[U, T] = schur(A, 'complex')
Converts a real matrix to the complex form, with T upper triangular.
Description
Every square matrix is unitarily similar to a triangular matrix. Unlike the eigenvector matrix, the Schur factor U is always orthogonal, so the decomposition is numerically stable even for defective matrices that have no full set of eigenvectors.
For a real matrix with complex eigenvalues, the real Schur form keeps real arithmetic by using 2-by-2 blocks; a real symmetric matrix gives a diagonal T.
Input arguments
A- Square numeric matrix.
'real' or 'complex'- For a real
A,'real'(default) gives a quasi-triangularT;'complex'gives a triangular one.
Output arguments
T- Upper-triangular matrix (quasi-triangular in the real case), with the eigenvalues of
Aon the diagonal or in 2-by-2 diagonal blocks. U- Orthogonal (unitary) matrix of Schur vectors.
Example
Schur factors of a 2-by-2 matrix
A = [1 2; 3 4];
[U, T] = schur(A);
norm(U*T*U' - A) < 1e-12
sort(diag(T))'
Output
ans = logical
1
ans = 1×2
-0.3723 5.3723