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


SYNOPSIS

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

           CHARACTER     JOBZ, UPLO

           INTEGER       INFO, LDA, LWORK, N

           DOUBLE        PRECISION RWORK( * ), W( * )

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


PURPOSE

       ZHEEV  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*16 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) DOUBLE PRECISION array, dimension (N)
               If INFO = 0, the eigenvalues in ascending order.

               (LWORK)
               On  exit, if INFO = 0, WORK(1) returns the optimal
               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  ZHETRD
               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)  DOUBLE  PRECISION  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