DLARRB  -  the  relatively  robust representation(RRR) L D
       L^T, DLARRB  does  ``limited''  bisection  to  locate  the
       eigenvalues of L D L^T,


SYNOPSIS

       SUBROUTINE DLARRB( N, D, L, LD, LLD, IFIRST, ILAST, SIGMA,
                          RELTOL, W,  WGAP,  WERR,  WORK,  IWORK,
                          INFO )

           INTEGER        IFIRST, ILAST, INFO, N

           DOUBLE         PRECISION RELTOL, SIGMA

           INTEGER        IWORK( * )

           DOUBLE         PRECISION D( * ), L( * ), LD( * ), LLD(
                          * ), W( * ), WERR(  *  ),  WGAP(  *  ),
                          WORK( * )


PURPOSE

       Given  the  relatively robust representation(RRR) L D L^T,
       DLARRB does ``limited'' bisection to locate the  eigenval­
       ues  of  L  D  L^T,  W( IFIRST ) thru' W( ILAST ), to more
       accuracy. Intervals [left, right] are maintained by  stor­
       ing  their  mid-points and semi-widths in the arrays W and
       WERR respectively.


ARGUMENTS

       N       (input) INTEGER
               The order of the matrix.

       D       (input) DOUBLE PRECISION array, dimension (N)
               The n diagonal elements of the diagonal matrix  D.

       L       (input) DOUBLE PRECISION array, dimension (N-1)
               The  n-1 subdiagonal elements of the unit bidiago­
               nal matrix L.

       LD      (input) DOUBLE PRECISION array, dimension (N-1)
               The n-1 elements L(i)*D(i).

       LLD     (input) DOUBLE PRECISION array, dimension (N-1)
               The n-1 elements L(i)*L(i)*D(i).

       IFIRST  (input) INTEGER
               The index of the first eigenvalue in the  cluster.

       ILAST   (input) INTEGER
               The index of the last eigenvalue in the cluster.

       SIGMA   (input) DOUBLE PRECISION
               The shift used to form L D L^T (see DLARRF).

               The relative tolerance.

       W       (input/output) DOUBLE PRECISION array, dimension
               (N)
               On input, W( IFIRST ) thru' W( ILAST )  are  esti­
               mates of the corresponding eigenvalues of L D L^T.
               On output, these estimates are ``refined''.

       WGAP    (input/output) DOUBLE PRECISION array, dimension
               (N)
               The  gaps between the eigenvalues of L D L^T. Very
               small gaps are changed on output.

       WERR    (input/output) DOUBLE PRECISION array, dimension
               (N)
               On  input,  WERR( IFIRST ) thru' WERR( ILAST ) are
               the errors in the estimates W( IFIRST )  thru'  W(
               ILAST  ).   On  output,  these are the ``refined''
               errors.

       WORK    (input) DOUBLE PRECISION array, dimension (???)
               Workspace.

       IWORK   (input) INTEGER array, dimension (2*N)
               Workspace.

       INFO    (output) INTEGER
               Error flag.


FURTHER DETAILS

       Based on contributions by
          Inderjit Dhillon, IBM Almaden, USA
          Osni Marques, LBNL/NERSC, USA


Man(1) output converted with man2html