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