CSTEQR2(3)    ScaLAPACK routine of NEC Numeric Library Collection   CSTEQR2(3)



NAME
       CSTEQR2 - i a modified version of LAPACK routine CSTEQR

SYNOPSIS
       SUBROUTINE CSTEQR2( COMPZ, N, D, E, Z, LDZ, NR, WORK, INFO )

           CHARACTER       COMPZ

           INTEGER         INFO, LDZ, N, NR

           REAL            D( * ), E( * ), WORK( * )

           COMPLEX         Z( LDZ, * )

PURPOSE
       CSTEQR2  is  a  modified version of LAPACK routine CSTEQR. CSTEQR2 com-
       putes all eigenvalues and,  optionally,  eigenvectors  of  a  symmetric
       tridiagonal matrix using the implicit QL or QR method.  CSTEQR2 is mod-
       ified from CSTEQR to allow each ScaLAPACK process  running  CSTEQR2  to
       perform updates on a distributed matrix Q.  Proper usage of CSTEQR2 can
       be gleaned from
       examination of ScaLAPACK's *  PCHEEV.
       CSTEQR2 incorporates changes attributed to Greg Henry.


ARGUMENTS
       COMPZ   (input) CHARACTER*1
               = 'N':  Compute eigenvalues only.
               = 'I':  Compute eigenvalues and eigenvectors of the tridiagonal
               matrix.   Z  must  be  initialized  to  the  identity matrix by
               PCLASET or CLASET prior to entering this subroutine.

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

       D       (input/output) REAL 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) REAL array, dimension (N-1)
               On  entry,  the  (n-1)  subdiagonal elements of the tridiagonal
               matrix.  On exit, E has been destroyed.

       Z       (local input/local output) COMPLEX array, global
               dimension (N, N), local dimension  (LDZ,  NR).   On  entry,  if
               COMPZ  = 'V', then Z contains the orthogonal 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 symmetric 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  eigen-
               vectors are desired, then  LDZ >= max(1,N).

       NR      (input) INTEGER
               NR  =  MAX(1, NUMROC( N, NB, MYPROW, 0, NPROCS ) ).  If COMPZ =
               'N', then NR is not referenced.

       WORK    (workspace) REAL 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 orthogonally
               similar to the original matrix.



ScaLAPACK routine               31 October 2017                     CSTEQR2(3)