SLAEIN - use inverse iteration to find a right or left
eigenvector corresponding to the eigenvalue (WR,WI) of a
real upper Hessenberg matrix H
SYNOPSIS
SUBROUTINE SLAEIN( RIGHTV, NOINIT, N, H, LDH, WR, WI, VR,
VI, B, LDB, WORK, EPS3, SMLNUM, BIGNUM,
INFO )
LOGICAL NOINIT, RIGHTV
INTEGER INFO, LDB, LDH, N
REAL BIGNUM, EPS3, SMLNUM, WI, WR
REAL B( LDB, * ), H( LDH, * ), VI( * ), VR(
* ), WORK( * )
PURPOSE
SLAEIN uses inverse iteration to find a right or left
eigenvector corresponding to the eigenvalue (WR,WI) of a
real upper Hessenberg matrix H.
ARGUMENTS
RIGHTV (input) LOGICAL
= .TRUE. : compute right eigenvector;
= .FALSE.: compute left eigenvector.
NOINIT (input) LOGICAL
= .TRUE. : no initial vector supplied in (VR,VI).
= .FALSE.: initial vector supplied in (VR,VI).
N (input) INTEGER
The order of the matrix H. N >= 0.
H (input) REAL array, dimension (LDH,N)
The upper Hessenberg matrix H.
LDH (input) INTEGER
The leading dimension of the array H. LDH >=
max(1,N).
WR (input) REAL
WI (input) REAL The real and imaginary parts
of the eigenvalue of H whose corresponding right
or left eigenvector is to be computed.
VR (input/output) REAL array, dimension (N)
VI (input/output) REAL array, dimension (N)
On entry, if NOINIT = .FALSE. and WI = 0.0, VR
must contain a real starting vector for inverse
iteration using the real eigenvalue WR; if NOINIT
= .FALSE. and WI.ne.0.0, VR and VI must contain
vector for inverse iteration using the complex
eigenvalue (WR,WI); otherwise VR and VI need not
be set. On exit, if WI = 0.0 (real eigenvalue),
VR contains the computed real eigenvector; if
WI.ne.0.0 (complex eigenvalue), VR and VI contain
the real and imaginary parts of the computed com
plex eigenvector. The eigenvector is normalized so
that the component of largest magnitude has magni
tude 1; here the magnitude of a complex number
(x,y) is taken to be |x| + |y|. VI is not refer
enced if WI = 0.0.
B (workspace) REAL array, dimension (LDB,N)
LDB (input) INTEGER
The leading dimension of the array B. LDB >= N+1.
WORK (workspace) REAL array, dimension (N)
EPS3 (input) REAL
A small machine-dependent value which is used to
perturb close eigenvalues, and to replace zero
pivots.
SMLNUM (input) REAL
A machine-dependent value close to the underflow
threshold.
BIGNUM (input) REAL
A machine-dependent value close to the overflow
threshold.
INFO (output) INTEGER
= 0: successful exit
= 1: inverse iteration did not converge; VR is
set to the last iterate, and so is VI if
WI.ne.0.0.
Man(1) output converted with
man2html