CHEEV - compute all eigenvalues and, optionally, eigenvec­
       tors of a complex Hermitian matrix A


SYNOPSIS

       SUBROUTINE CHEEV( JOBZ, UPLO, N, A, LDA, W,  WORK,  LWORK,
                         RWORK, INFO )

           CHARACTER     JOBZ, UPLO

           INTEGER       INFO, LDA, LWORK, N

           REAL          RWORK( * ), W( * )

           COMPLEX       A( LDA, * ), WORK( * )


PURPOSE

       CHEEV  computes all eigenvalues and, optionally, eigenvec­
       tors of a complex Hermitian matrix A.


ARGUMENTS

       JOBZ    (input) CHARACTER*1
               = 'N':  Compute eigenvalues only;
               = 'V':  Compute eigenvalues and eigenvectors.

       UPLO    (input) CHARACTER*1
               = 'U':  Upper triangle of A is stored;
               = 'L':  Lower triangle of A is stored.

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

       A       (input/output) COMPLEX array, dimension (LDA, N)
               On entry, the Hermitian matrix A.  If UPLO =  'U',
               the leading N-by-N upper triangular part of A con­
               tains the upper triangular part of the  matrix  A.
               If UPLO = 'L', the leading N-by-N lower triangular
               part of A contains the lower  triangular  part  of
               the  matrix  A.   On  exit, if JOBZ = 'V', then if
               INFO = 0, A contains the orthonormal  eigenvectors
               of  the matrix A.  If JOBZ = 'N', then on exit the
               lower triangle (if UPLO='L') or the upper triangle
               (if  UPLO='U')  of  A,  including the diagonal, is
               destroyed.

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

       W       (output) REAL array, dimension (N)
               If INFO = 0, the eigenvalues in ascending order.

       WORK    (workspace/output) COMPLEX array, dimension
               (LWORK)

               LWORK.

       LWORK   (input) INTEGER
               The   length   of   the   array  WORK.   LWORK  >=
               max(1,2*N-1).  For optimal  efficiency,  LWORK  >=
               (NB+1)*N,  where  NB  is  the blocksize for CHETRD
               returned by ILAENV.

               If LWORK = -1, then a workspace query is  assumed;
               the  routine  only  calculates the optimal size of
               the WORK array, returns this value  as  the  first
               entry  of  the  WORK  array,  and no error message
               related to LWORK is issued by XERBLA.

       RWORK   (workspace) REAL array, dimension (max(1, 3*N-2))

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille­
               gal value
               >  0:   if  INFO = i, the algorithm failed to con­
               verge; i off-diagonal elements of an  intermediate
               tridiagonal form did not converge to zero.


Man(1) output converted with man2html