CXML

SLASQ2 (3lapack)


SYNOPSIS

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

      INTEGER        INFO, KEND, M

      REAL           EPS, SMALL2, SUP, TOL2

      REAL           E( * ), EE( * ), Q( * ), QQ( * )

PURPOSE

     SLASQ2 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) REAL array, dimension (M)
          On normal exit, contains the squared singular values.

  E       (workspace) REAL array, dimension (M)

  QQ      (input/output) REAL 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) REAL 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) REAL
          Machine epsilon.

  TOL2    (input) REAL
          Desired relative accuracy of computed eigenvalues as defined in
          SLASQ1.

  SMALL2  (input) REAL
          A threshold value as defined in SLASQ1.

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