ZLAEIN(3f)

NAME
ZLAEIN - inverse iteration to find a right or left eigenvector corresponding to the eigenvalue W of a complex upper Hessenberg matrix H

SYNOPSIS

SUBROUTINE ZLAEIN(
    RIGHTV, NOINIT, N, H, LDH, W, V, B, LDB, RWORK, EPS3, SMLNUM, INFO )

LOGICAL
    NOINIT, RIGHTV

INTEGER
    INFO, LDB, LDH, N

DOUBLE
    PRECISION EPS3, SMLNUM

COMPLEX*16
    W

DOUBLE
    PRECISION RWORK( * )

COMPLEX*16
    B( LDB, * ), H( LDH, * ), V( * )

PURPOSE
ZLAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue W of a complex 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 V
    = .FALSE.: initial vector supplied in V.

N       (input) INTEGER
    The order of the matrix H. N >= 0.

H       (input) COMPLEX*16 array, dimension (LDH,N)
    The upper Hessenberg matrix H.

LDH     (input) INTEGER
    The leading dimension of the array H. LDH >= max(1,N).

W       (input) COMPLEX*16
    The eigenvalue of H whose corresponding right or left eigenvector is to be computed.

V       (input/output) COMPLEX*16 array, dimension (N)
    On entry, if NOINIT = .FALSE., V must contain a starting vector for inverse iteration; otherwise V need not be set. On exit, V contains the computed eigenvector, normalized so that the component of largest magnitude has magnitude 1; here the magnitude of a complex number (x,y) is taken to be |x| + |y|.

B       (workspace) COMPLEX*16 array, dimension (LDB,N)

LDB     (input) INTEGER
    The leading dimension of the array B. LDB >= max(1,N).

RWORK   (workspace) DOUBLE PRECISION array, dimension (N)

EPS3    (input) DOUBLE PRECISION
    A small machine-dependent value which is used to perturb close eigenvalues, and to replace zero pivots.

SMLNUM  (input) DOUBLE PRECISION
    A machine-dependent value close to the underflow threshold.

INFO    (output) INTEGER
    = 0: successful exit
    = 1: inverse iteration did not converge; V is set to the last iterate.