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


SYNOPSIS

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

           INTEGER        IFIRST, ILAST, INFO, N

           REAL           RELTOL, SIGMA

           INTEGER        IWORK( * )

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


PURPOSE

       Given the relatively robust representation(RRR) L  D  L^T,
       SLARRB  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) REAL array, dimension (N)
               The  n diagonal elements of the diagonal matrix D.

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

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

       LLD     (input) REAL 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) REAL
               The shift used to form L D L^T (see SLARRF).

               The relative tolerance.

       W       (input/output) REAL 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) REAL array, dimension (N)
               The gaps between the eigenvalues of L D L^T.  Very
               small gaps are changed on output.

       WERR    (input/output) REAL 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) REAL 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