Compute the Schur decomposition of A.
The Schur decomposition is defined as
S = U' * A * U
where U is a unitary matrix
(U'* U is identity)
and S is upper triangular. The eigenvalues of A (and S)
are the diagonal elements of S. If the matrix A is real, then
the real Schur decomposition is computed, in which the matrix U
is orthogonal and S is block upper triangular with blocks of size at
most
2 x 2
along the diagonal. The diagonal elements of S
(or the eigenvalues of the
2 x 2
blocks, when appropriate) are the eigenvalues of A and S.
The default for real matrices is a real Schur decomposition.
A complex decomposition may be forced by passing the flag
"complex".
The eigenvalues are optionally ordered along the diagonal according to the
value of opt. opt = "a" indicates that all eigenvalues
with negative real parts should be moved to the leading block of S
(used in are), opt = "d" indicates that all
eigenvalues with magnitude less than one should be moved to the leading
block of S (used in dare), and opt = "u", the
default, indicates that no ordering of eigenvalues should occur. The
leading k columns of U always span the A-invariant
subspace corresponding to the k leading eigenvalues of S.
The Schur decomposition is used to compute eigenvalues of a square
matrix, and has applications in the solution of algebraic Riccati equations
in control (see are and dare).
See also: rsf2csf, ordschur, lu, chol, hess, qr, qz, svd.
Package: octave