Man Linux: Main Page and Category List

NAME

       DSTEQR2 - i a modified version of LAPACK routine DSTEQR

SYNOPSIS

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

           CHARACTER       COMPZ

           INTEGER         INFO, LDZ, N, NR

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

PURPOSE

       DSTEQR2  is  a  modified  version  of  LAPACK  routine DSTEQR.  DSTEQR2
       computes all eigenvalues and, optionally, eigenvectors of  a  symmetric
       tridiagonal  matrix  using  the  implicit  QL or QR method.  DSTEQR2 is
       modified from DSTEQR to allow each ScaLAPACK process running DSTEQR2 to
       perform updates on a distributed matrix Q.  Proper usage of DSTEQR2 can
       be gleaned from examination of ScaLAPACK’s PDSYEV.

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
               PDLASET or DLASET prior to entering this subroutine.

       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       (local input/local output) DOUBLE PRECISION 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
               eigenvectors 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) 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
               elements   of   a   symmetric   tridiagonal   matrix  which  is
               orthogonally similar to the original matrix.