ZSTEQR(3)                  MathKeisan LAPACK routine                 ZSTEQR(3)



NAME
       ZSTEQR  -  all eigenvalues and, optionally, eigenvectors 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, eigenvectors of a sym-
       metric  tridiagonal  matrix  using  the  implicit QL or QR method.  The
       eigenvectors of a full or band complex Hermitian  matrix  can  also  be
       found if ZHETRD or ZHPTRD 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':
               Compute eigenvalues and eigenvectors of the tridiagonal 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  unitary  matrix
               used  in the reduction to tridiagonal 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 con-
               tains 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 eigen-
               vectors 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 illegal 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  ele-
               ments of a symmetric tridiagonal matrix which is unitarily sim-
               ilar to the original matrix.



 LAPACK routine (version 3.1)    November 2006                       ZSTEQR(3)