F08QXF (ZTREVC) computes selected left and/or right eigenvectors of a complex upper triangular matrix.
SUBROUTINE F08QXF ( |
JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR, MM, M, WORK, RWORK, INFO) |
INTEGER |
N, LDT, LDVL, LDVR, MM, M, INFO |
REAL (KIND=nag_wp) |
RWORK(N) |
COMPLEX (KIND=nag_wp) |
T(LDT,*), VL(LDVL,*), VR(LDVR,*), WORK(2*N) |
LOGICAL |
SELECT(*) |
CHARACTER(1) |
JOB, HOWMNY |
|
F08QXF (ZTREVC) computes left and/or right eigenvectors of a complex upper triangular matrix
T. Such a matrix arises from the Schur factorization of a complex general matrix, as computed by
F08PSF (ZHSEQR), for example.
The right eigenvector
x, and the left eigenvector
y, corresponding to an eigenvalue
λ, are defined by:
The routine can compute the eigenvectors corresponding to selected eigenvalues, or it can compute all the eigenvectors. In the latter case the eigenvectors may optionally be pre-multiplied by an input matrix
Q. Normally
Q is a unitary matrix from the Schur factorization of a matrix
A as
A=QTQH; if
x is a (left or right) eigenvector of
T, then
Qx is an eigenvector of
A.
The eigenvectors are computed by forward or backward substitution. They are scaled so that
max
Rexi
+
Imxi
=1.
Golub G H and Van Loan C F (1996)
Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
If
xi is an exact right eigenvector, and
x~i is the corresponding computed eigenvector, then the angle
θx~i,xi between them is bounded as follows:
where
sepi is the reciprocal condition number of
xi.
The condition number
sepi may be computed by calling
F08QYF (ZTRSNA).
The real analogue of this routine is
F08QKF (DTREVC).