SRC/slaein.f(3)

NAME
SRC/slaein.f

SYNOPSIS

  Functions/Subroutines
subroutine slaein (rightv, noinit, n, h, ldh, wr, wi, vr, vi, b, ldb, work, eps3, smlnum, bignum, info)
SLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration.

Function/Subroutine Documentation

  subroutine slaein (logical rightv, logical noinit, integer n, real, dimension( ldh, * ) h, integer ldh, real wr, real wi, real, dimension( * ) vr, real, dimension( * ) vi, real, dimension( ldb, * ) b, integer ldb, real, dimension( * ) work, real eps3, real smlnum, real bignum, integer info)

SLAEIN computes a specified right or left eigenvector of an upper Hessenberg matrix by inverse iteration.

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.
    !>

Parameters
    RIGHTV

    !>          RIGHTV is LOGICAL
    !>          = .TRUE. : compute right eigenvector;
    !>          = .FALSE.: compute left eigenvector.
    !>

    NOINIT

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

    N

    !>          N is INTEGER
    !>          The order of the matrix H.  N >= 0.
    !>

    H

    !>          H is REAL array, dimension (LDH,N)
    !>          The upper Hessenberg matrix H.
    !>

    LDH

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

    WR

    !>          WR is REAL
    !>

    WI

    !>          WI is REAL
    !>          The real and imaginary parts of the eigenvalue of H whose
    !>          corresponding right or left eigenvector is to be computed.
    !>

    VR

    !>          VR is REAL array, dimension (N)
    !>

    VI

    !>          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

    !>          B is REAL array, dimension (LDB,N)
    !>

    LDB

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

    WORK

    !>          WORK is REAL array, dimension (N)
    !>

    EPS3

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

    SMLNUM

    !>          SMLNUM is REAL
    !>          A machine-dependent value close to the underflow threshold.
    !>

    BIGNUM

    !>          BIGNUM is REAL
    !>          A machine-dependent value close to the overflow threshold.
    !>

    INFO

    !>          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.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 170 of file slaein.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.