Next: Balancing
Up: Nonsymmetric Eigenproblems
Previous: Nonsymmetric Eigenproblems
  Contents
  Index
Eigenvalues, Eigenvectors and Schur Factorization
Let A be a square n-by-n matrix. A scalar
is called
an eigenvalue and a non-zero column vector v the corresponding
right eigenvector if
.
A nonzero column vector u
satisfying
is called the left eigenvector.
The first basic task
of the routines described in this section
is to compute, for a given matrix A, all n values of
and,
if desired, their associated right eigenvectors v and/or
left eigenvectors u.
A second basic task is to compute the Schur factorization of a matrix A.
If A is complex, then its Schur factorization is A=ZTZH, where
Z is unitary and T is upper triangular. If A is real, its
Schur factorization is A=ZTZT, where Z is orthogonal.
and T is upper quasi-triangular (1-by-1 and 2-by-2 blocks on
its diagonal).
The columns of Z are called the Schur vectors of A.
The eigenvalues of A appear on the diagonal of T; complex conjugate
eigenvalues of a real A correspond to 2-by-2 blocks on the diagonal of T.
These two basic tasks can be performed in the following stages:
- 1.
- A general matrix A is reduced to upper Hessenberg form H
which is zero below the first subdiagonal. The reduction may be written
A=QHQT with Q orthogonal if A is real, or
A=QHQH with Q unitary if A is complex.
The reduction is performed by subroutine xGEHRD, which
represents
Q in a factored form, as described in section 5.4.
The routine xORGHR (or in the complex case xUNGHR) is provided to
form Q explicitly.
The routine xORMHR (or in the complex case xUNMHR) is provided to
multiply another matrix by Q without forming Q explicitly.
- 2.
- The upper Hessenberg matrix H is reduced to Schur form T,
giving the Schur factorization H=STST
(for H real) or H=STSH (for H complex). The matrix S (the Schur vectors
of H) may
optionally be computed as well. Alternatively S may be postmultiplied
into the matrix Q determined in stage 1, to give the matrix Z = Q S, the
Schur vectors of A. The eigenvalues are obtained from the
diagonal of T. All this is done by subroutine xHSEQR.
- 3.
- Given the eigenvalues, the eigenvectors may be computed in
two different ways. xHSEIN performs inverse iteration on H to compute
the eigenvectors of H;
xORMHR can then be used to multiply the eigenvectors by the matrix Q
in order to transform them to eigenvectors of A.
xTREVC computes the eigenvectors of T, and optionally transforms them
to those of H or A if the matrix S or Z is supplied.
Both xHSEIN and xTREVC allow selected left and/or right eigenvectors
to be computed.
Other subsidiary tasks may be performed before or after those just described.
Next: Balancing
Up: Nonsymmetric Eigenproblems
Previous: Nonsymmetric Eigenproblems
  Contents
  Index
Susan Blackford
1999-10-01