SLASD0  -  a  divide and conquer approach, SLASD0 computes
       the singular value decomposition (SVD)  of  a  real  upper
       bidiagonal N-by-M matrix B with diagonal D and offdiagonal
       E, where M = N + SQRE


SYNOPSIS

       SUBROUTINE SLASD0( N, SQRE, D, E, U, LDU, VT,  LDVT,  SML­
                          SIZ, IWORK, WORK, INFO )

           INTEGER        INFO, LDU, LDVT, N, SMLSIZ, SQRE

           INTEGER        IWORK( * )

           REAL           D(  * ), E( * ), U( LDU, * ), VT( LDVT,
                          * ), WORK( * )


PURPOSE

       Using a divide and conquer approach, SLASD0  computes  the
       singular value decomposition (SVD) of a real upper bidiag­
       onal N-by-M matrix B with diagonal D  and  offdiagonal  E,
       where  M  =  N  +  SQRE. The algorithm computes orthogonal
       matrices U and VT such that B = U * S * VT.  The  singular
       values S are overwritten on D.

       A  related  subroutine, SLASDA, computes only the singular
       values, and optionally, the singular  vectors  in  compact
       form.


ARGUMENTS

       N      (input) INTEGER
              On entry, the row dimension of the upper bidiagonal
              matrix.  This is also the  dimension  of  the  main
              diagonal array D.

       SQRE   (input) INTEGER
              Specifies  the  column  dimension of the bidiagonal
              matrix.  = 0:  The  bidiagonal  matrix  has  column
              dimension M = N;
              = 1: The bidiagonal matrix has column dimension M =
              N+1;

       D      (input/output) REAL array, dimension (N)
              On entry D contains the main diagonal of the  bidi­
              agonal  matrix.   On  exit D, if INFO = 0, contains
              its singular values.

       E      (input) REAL array, dimension (M-1)
              Contains the subdiagonal entries of the  bidiagonal
              matrix.  On exit, E has been destroyed.

       U      (output) REAL array, dimension at least (LDQ, N)
              On exit, U contains the left singular vectors.

              On entry, leading dimension of U.

       VT     (output) REAL array, dimension at least (LDVT, M)
              On exit, VT' contains the right singular vectors.

       LDVT   (input) INTEGER
              On entry, leading dimension of VT.

              SMLSIZ  (input)  INTEGER  On entry, maximum size of
              the subproblems at the bottom  of  the  computation
              tree.

       IWORK  INTEGER work array.
              Dimension must be at least (8 * N)

       WORK   REAL work array.
              Dimension must be at least (3 * M**2 + 2 * M)

       INFO   (output) INTEGER
              = 0:  successful exit.
              <  0:  if INFO = -i, the i-th argument had an ille­
              gal value.
              > 0:  if INFO = 1, an singular value did  not  con­
              verge


FURTHER DETAILS

       Based on contributions by
          Ming  Gu  and Huan Ren, Computer Science Division, Uni­
       versity of
          California at Berkeley, USA


Man(1) output converted with man2html