ZSTEQR  -  compute all eigenvalues and, optionally, eigen­
       vectors  of  a  symmetric  tridiagonal  matrix  using  the
       implicit QL or QR method


SYNOPSIS

       SUBROUTINE ZSTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO )

           CHARACTER      COMPZ

           INTEGER        INFO, LDZ, N

           DOUBLE         PRECISION D( * ), E( * ), WORK( * )

           COMPLEX*16     Z( LDZ, * )


PURPOSE

       ZSTEQR computes all eigenvalues and, optionally, eigenvec­
       tors of a symmetric tridiagonal matrix using the  implicit
       QL  or  QR method. The eigenvectors of a full or band com­
       plex Hermitian matrix can also be found if ZHETRD or  ZHP­
       TRD  or  ZHBTRD  has  been  used  to reduce this matrix to
       tridiagonal form.


ARGUMENTS

       COMPZ   (input) CHARACTER*1
               = 'N':  Compute eigenvalues only.
               = 'V':  Compute eigenvalues  and  eigenvectors  of
               the  original  Hermitian matrix.  On entry, Z must
               contain the unitary  matrix  used  to  reduce  the
               original matrix to tridiagonal form.  = 'I':  Com­
               pute eigenvalues and eigenvectors of the tridiago­
               nal  matrix.   Z  is  initialized  to the identity
               matrix.

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

       D       (input/output) DOUBLE PRECISION array, dimension
               (N)
               On entry, the diagonal elements of the tridiagonal
               matrix.  On exit, if INFO = 0, the eigenvalues  in
               ascending order.

       E       (input/output) DOUBLE PRECISION array, dimension
               (N-1)
               On entry, the (n-1) subdiagonal  elements  of  the
               tridiagonal   matrix.    On   exit,   E  has  been
               destroyed.

       Z       (input/output) COMPLEX*16 array, dimension (LDZ,
               N)
               On  entry,  if   COMPZ  = 'V', then Z contains the

               nal  form.   On exit, if INFO = 0, then if COMPZ =
               'V', Z contains the  orthonormal  eigenvectors  of
               the original Hermitian matrix, and if COMPZ = 'I',
               Z contains the  orthonormal  eigenvectors  of  the
               symmetric  tridiagonal  matrix.   If  COMPZ = 'N',
               then Z is not referenced.

       LDZ     (input) INTEGER
               The leading dimension of the array Z.  LDZ  >=  1,
               and  if  eigenvectors  are  desired,  then  LDZ >=
               max(1,N).

       WORK      (workspace)   DOUBLE   PRECISION    array,
               dimension (max(1,2*N-2))
               If COMPZ = 'N', then WORK is not referenced.

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille­
               gal value
               >  0:   the  algorithm  has failed to find all the
               eigenvalues in a total of 30*N iterations; if INFO
               =  i,  then  i elements of E have not converged to
               zero; on exit, D and E contain the elements  of  a
               symmetric  tridiagonal  matrix  which is unitarily
               similar to the original matrix.


Man(1) output converted with man2html