CXML

DLASQ2 (3lapack)


SYNOPSIS

  SUBROUTINE DLASQ2( M, Q, E, QQ, EE, EPS, TOL2, SMALL2, SUP, KEND, INFO )

      INTEGER        INFO, KEND, M

      DOUBLE         PRECISION EPS, SMALL2, SUP, TOL2

      DOUBLE         PRECISION E( * ), EE( * ), Q( * ), QQ( * )

PURPOSE

     DLASQ2 computes the singular values of a real N-by-N unreduced
     bidiagonal matrix with squared diagonal elements in Q and
     squared off-diagonal elements in E. The singular values are
     computed to relative accuracy TOL, barring over/underflow or
     denormalization.

ARGUMENTS

  M       (input) INTEGER
          The number of rows and columns in the matrix. M >= 0.

  Q       (output) DOUBLE PRECISION array, dimension (M)
          On normal exit, contains the squared singular values.

  E       (workspace) DOUBLE PRECISION array, dimension (M)

  QQ      (input/output) DOUBLE PRECISION array, dimension (M)
          On entry, QQ contains the squared diagonal elements of the
          bidiagonal matrix whose SVD is desired.  On exit, QQ is
          overwritten.

  EE      (input/output) DOUBLE PRECISION array, dimension (M)
          On entry, EE(1:N-1) contains the squared off-diagonal elements of
          the bidiagonal matrix whose SVD is desired.  On exit, EE is
          overwritten.

  EPS     (input) DOUBLE PRECISION
          Machine epsilon.

  TOL2    (input) DOUBLE PRECISION
          Desired relative accuracy of computed eigenvalues as defined in
          DLASQ1.

  SMALL2  (input) DOUBLE PRECISION
          A threshold value as defined in DLASQ1.

  SUP     (input/output) DOUBLE PRECISION
          Upper bound for the smallest eigenvalue.

  KEND    (input/output) INTEGER
          Index where minimum d occurs.

  INFO    (output) INTEGER
          = 0:  successful exit
          < 0:  if INFO = -i, the i-th argument had an illegal value
          > 0:  if INFO = i, the algorithm did not converge;  i specifies how
          many superdiagonals did not converge.

CXML Home Page

Index of CXML Routines