SLAED0  - compute all eigenvalues and corresponding eigen­
       vectors of a symmetric tridiagonal matrix using the divide
       and conquer method


SYNOPSIS

       SUBROUTINE SLAED0( ICOMPQ,  QSIZ, N, D, E, Q, LDQ, QSTORE,
                          LDQS, WORK, IWORK, INFO )

           INTEGER        ICOMPQ, INFO, LDQ, LDQS, N, QSIZ

           INTEGER        IWORK( * )

           REAL           D( * ), E( * ), Q( LDQ,  *  ),  QSTORE(
                          LDQS, * ), WORK( * )


PURPOSE

       SLAED0  computes  all eigenvalues and corresponding eigen­
       vectors of a symmetric tridiagonal matrix using the divide
       and conquer method.


ARGUMENTS

       ICOMPQ  (input) INTEGER
               = 0:  Compute eigenvalues only.
               =  1:  Compute eigenvectors of original dense sym­
               metric matrix also.   On  entry,  Q  contains  the
               orthogonal  matrix  used  to  reduce  the original
               matrix to tridiagonal form.  = 2:  Compute  eigen­
               values and eigenvectors of tridiagonal matrix.

       QSIZ   (input) INTEGER
              The  dimension  of  the  orthogonal  matrix used to
              reduce the full matrix to tridiagonal  form.   QSIZ
              >= N if ICOMPQ = 1.

       N      (input) INTEGER
              The  dimension of the symmetric tridiagonal matrix.
              N >= 0.

       D      (input/output) REAL array, dimension (N)
              On entry, the  main  diagonal  of  the  tridiagonal
              matrix.  On exit, its eigenvalues.

       E      (input) REAL array, dimension (N-1)
              The   off-diagonal   elements  of  the  tridiagonal
              matrix.  On exit, E has been destroyed.

       Q      (input/output) REAL array, dimension (LDQ, N)
              On entry,  Q  must  contain  an  N-by-N  orthogonal
              matrix.   If ICOMPQ = 0    Q is not referenced.  If
              ICOMPQ = 1    On  entry,  Q  is  a  subset  of  the
              columns of the orthogonal matrix used to reduce the
              full matrix to tridiagonal  form  corresponding  to
              the  subset  of  the  full  matrix  which  is being

              entry,  Q  will be the identity matrix.  On exit, Q
              contains  the  eigenvectors  of   the   tridiagonal
              matrix.

       LDQ    (input) INTEGER
              The leading dimension of the array Q.  If eigenvec­
              tors are desired, then  LDQ >=  max(1,N).   In  any
              case,  LDQ >= 1.

              QSTORE  (workspace) REAL array, dimension (LDQS, N)
              Referenced only when ICOMPQ =  1.   Used  to  store
              parts  of  the eigenvector matrix when the updating
              matrix multiplies take place.

       LDQS   (input) INTEGER
              The leading dimension  of  the  array  QSTORE.   If
              ICOMPQ  =  1, then  LDQS >= max(1,N).  In any case,
              LDQS >= 1.

       WORK   (workspace) REAL array,
              If ICOMPQ = 0 or 1, the dimension of WORK  must  be
              at  least  1  + 3*N + 2*N*lg N + 2*N**2 ( lg( N ) =
              smallest integer k such that 2^k >= N ) If ICOMPQ =
              2,  the  dimension  of  WORK must be at least 4*N +
              N**2.

       IWORK  (workspace) INTEGER array,
              If ICOMPQ = 0 or 1, the dimension of IWORK must  be
              at  least 6 + 6*N + 5*N*lg N.  ( lg( N ) = smallest
              integer k such that 2^k >= N ) If ICOMPQ =  2,  the
              dimension of IWORK must be at least 3 + 5*N.

       INFO   (output) INTEGER
              = 0:  successful exit.
              <  0:  if INFO = -i, the i-th argument had an ille­
              gal value.
              > 0:  The algorithm failed to compute an eigenvalue
              while  working  on  the submatrix lying in rows and
              columns INFO/(N+1) through mod(INFO,N+1).


FURTHER DETAILS

       Based on contributions by
          Jeff Rutter, Computer Science Division,  University  of
       California
          at Berkeley, USA


Man(1) output converted with man2html