F08QYF (ZTRSNA) estimates condition numbers for specified eigenvalues and/or right eigenvectors of a complex upper triangular matrix.
SUBROUTINE F08QYF ( |
JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR, S, SEP, MM, M, WORK, LDWORK, RWORK, INFO) |
INTEGER |
N, LDT, LDVL, LDVR, MM, M, LDWORK, INFO |
REAL (KIND=nag_wp) |
S(*), SEP(*), RWORK(*) |
COMPLEX (KIND=nag_wp) |
T(LDT,*), VL(LDVL,*), VR(LDVR,*), WORK(LDWORK,*) |
LOGICAL |
SELECT(*) |
CHARACTER(1) |
JOB, HOWMNY |
|
F08QYF (ZTRSNA) estimates condition numbers for specified eigenvalues and/or right eigenvectors of a complex upper triangular matrix . These are the same as the condition numbers of the eigenvalues and right eigenvectors of an original matrix (with unitary ), from which may have been derived.
F08QYF (ZTRSNA) computes the reciprocal of the condition number of an eigenvalue
as
where
and
are the right and left eigenvectors of
, respectively, corresponding to
. This reciprocal condition number always lies between zero (i.e., ill-conditioned) and one (i.e., well-conditioned).
An approximate error estimate for a computed eigenvalue
is then given by
where
is the
machine precision.
To estimate the reciprocal of the condition number of the right eigenvector corresponding to
, the routine first calls
F08QTF (ZTREXC) to reorder the eigenvalues so that
is in the leading position:
The reciprocal condition number of the eigenvector is then estimated as
, the smallest singular value of the matrix
. This number ranges from zero (i.e., ill-conditioned) to very large (i.e., well-conditioned).
An approximate error estimate for a computed right eigenvector
corresponding to
is then given by
The real analogue of this routine is
F08QLF (DTRSNA).
This example computes approximate error estimates for all the eigenvalues and right eigenvectors of the matrix
, where