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



NAME
       SLAEIN

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



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)
                     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 REAL 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 REAL

           WI        (input)
                     WI is REAL
                     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 REAL array, dimension (N)

           VI        (input/output)
                     VI is 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 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 REAL array, dimension (LDB,N)

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

           WORK      (output)
                     WORK is REAL array, dimension (N)

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

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

           BIGNUM    (input)
                     BIGNUM is REAL
                     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                      SLAEIN(3)