F08QLF (DTRSNA) estimates condition numbers for specified eigenvalues and/or right eigenvectors of a real upper quasi-triangular matrix.
SUBROUTINE F08QLF ( |
JOB, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR, S, SEP, MM, M, WORK, LDWORK, IWORK, INFO) |
INTEGER |
N, LDT, LDVL, LDVR, MM, M, LDWORK, IWORK(*), INFO |
REAL (KIND=nag_wp) |
T(LDT,*), VL(LDVL,*), VR(LDVR,*), S(*), SEP(*), WORK(LDWORK,*) |
LOGICAL |
SELECT(*) |
CHARACTER(1) |
JOB, HOWMNY |
|
F08QLF (DTRSNA) estimates condition numbers for specified eigenvalues and/or right eigenvectors of a real upper quasi-triangular matrix in canonical Schur form. These are the same as the condition numbers of the eigenvalues and right eigenvectors of an original matrix (with orthogonal ), from which may have been derived.
F08QLF (DTRSNA) 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
F08QFF (DTREXC) 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
For a description of canonical Schur form, see the document for
F08PEF (DHSEQR).
The complex analogue of this routine is
F08QYF (ZTRSNA).
This example computes approximate error estimates for all the eigenvalues and right eigenvectors of the matrix
, where