DLAEIN(3)      LAPACK routine of NEC Numeric Library Collection      DLAEIN(3)



NAME
       DLAEIN

SYNOPSIS
       SUBROUTINE DLAEIN (RIGHTV, NOINIT, N, H, LDH, WR, WI, VR, VI, B, LDB,
           WORK, EPS3, SMLNUM, BIGNUM, INFO)



PURPOSE
            DLAEIN 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)
                     RIGHTV is LOGICAL
                     = .TRUE. : compute right eigenvector;
                     = .FALSE.: compute left eigenvector.

           NOINIT    (input)
                     NOINIT is LOGICAL
                     = .TRUE. : no initial vector supplied in (VR,VI).
                     = .FALSE.: initial vector supplied in (VR,VI).

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

           H         (input)
                     H is DOUBLE PRECISION array, dimension (LDH,N)
                     The upper Hessenberg matrix H.

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

           WR        (input)
                     WR is DOUBLE PRECISION

           WI        (input)
                     WI is DOUBLE PRECISION
                     The real and imaginary parts of the eigenvalue of H whose
                     corresponding right or left eigenvector is to be computed.

           VR        (input/output)
                     VR is DOUBLE PRECISION array, dimension (N)

           VI        (input/output)
                     VI is DOUBLE PRECISION 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 the real and imaginary parts of a complex
                     starting 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 complex eigenvector. The eigenvector is 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|.
                     VI is not referenced if WI = 0.0.

           B         (output)
                     B is DOUBLE PRECISION array, dimension (LDB,N)

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

           WORK      (output)
                     WORK is DOUBLE PRECISION array, dimension (N)

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

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

           BIGNUM    (input)
                     BIGNUM is DOUBLE PRECISION
                     A machine-dependent value close to the overflow threshold.

           INFO      (output)
                     INFO is 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.



LAPACK routine                  31 October 2017                      DLAEIN(3)