TESTING/EIG/cget52.f(3)

NAME
TESTING/EIG/cget52.f

SYNOPSIS

  Functions/Subroutines
subroutine cget52 (left, n, a, lda, b, ldb, e, lde, alpha, beta, work, rwork, result)
CGET52

Function/Subroutine Documentation

  subroutine cget52 (logical left, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b, integer ldb, complex, dimension( lde, * ) e, integer lde, complex, dimension( * ) alpha, complex, dimension( * ) beta, complex, dimension( * ) work, real, dimension( * ) rwork, real, dimension( 2 ) result)

CGET52

Purpose:

    !>
    !> CGET52  does an eigenvector check for the generalized eigenvalue
    !> problem.
    !>
    !> The basic test for right eigenvectors is:
    !>
    !>                           | b(i) A E(i) -  a(i) B E(i) |
    !>         RESULT(1) = max   -------------------------------
    !>                      i    n ulp max( |b(i) A|, |a(i) B| )
    !>
    !> using the 1-norm.  Here, a(i)/b(i) = w is the i-th generalized
    !> eigenvalue of A - w B, or, equivalently, b(i)/a(i) = m is the i-th
    !> generalized eigenvalue of m A - B.
    !>
    !>                         H   H  _      _
    !> For left eigenvectors, A , B , a, and b  are used.
    !>
    !> CGET52 also tests the normalization of E.  Each eigenvector is
    !> supposed to be normalized so that the maximum
    !> of its elements is 1, where in this case,
    !> of a complex value x is  |Re(x)| + |Im(x)| ; let us call this
    !> maximum  norm of a vector v  M(v).
    !> if a(i)=b(i)=0, then the eigenvector is set to be the jth coordinate
    !> vector. The normalization test is:
    !>
    !>         RESULT(2) =      max       | M(v(i)) - 1 | / ( n ulp )
    !>                    eigenvectors v(i)
    !>

Parameters
    LEFT

    !>          LEFT is LOGICAL
    !>          =.TRUE.:  The eigenvectors in the columns of E are assumed
    !>                    to be *left* eigenvectors.
    !>          =.FALSE.: The eigenvectors in the columns of E are assumed
    !>                    to be *right* eigenvectors.
    !>

    N

    !>          N is INTEGER
    !>          The size of the matrices.  If it is zero, CGET52 does
    !>          nothing.  It must be at least zero.
    !>

    A

    !>          A is COMPLEX array, dimension (LDA, N)
    !>          The matrix A.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of A.  It must be at least 1
    !>          and at least N.
    !>

    B

    !>          B is COMPLEX array, dimension (LDB, N)
    !>          The matrix B.
    !>

    LDB

    !>          LDB is INTEGER
    !>          The leading dimension of B.  It must be at least 1
    !>          and at least N.
    !>

    E

    !>          E is COMPLEX array, dimension (LDE, N)
    !>          The matrix of eigenvectors.  It must be O( 1 ).
    !>

    LDE

    !>          LDE is INTEGER
    !>          The leading dimension of E.  It must be at least 1 and at
    !>          least N.
    !>

    ALPHA

    !>          ALPHA is COMPLEX array, dimension (N)
    !>          The values a(i) as described above, which, along with b(i),
    !>          define the generalized eigenvalues.
    !>

    BETA

    !>          BETA is COMPLEX array, dimension (N)
    !>          The values b(i) as described above, which, along with a(i),
    !>          define the generalized eigenvalues.
    !>

    WORK

    !>          WORK is COMPLEX array, dimension (N**2)
    !>

    RWORK

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

    RESULT

    !>          RESULT is REAL array, dimension (2)
    !>          The values computed by the test described above.  If A E or
    !>          B E is likely to overflow, then RESULT(1:2) is set to
    !>          10 / ulp.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 159 of file cget52.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.