dlasq1(3F)

DLASQ1 - DLASQ1 computes the singular values of a real N-by-N bidiagonal matrix with diagonal D and off-diagonal E

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     DLASQ1 - DLASQ1 computes the singular values of a real N-by-N bidiagonal
     matrix with diagonal D and off-diagonal E

SYNOPSIS
     SUBROUTINE DLASQ1( N, D, E, WORK, INFO )

         INTEGER        INFO, N

         DOUBLE         PRECISION D( * ), E( * ), WORK( * )

PURPOSE
        DLASQ1 computes the singular values of a real N-by-N bidiagonal
        matrix with diagonal D and off-diagonal E. The singular values are
        computed to high relative accuracy, barring over/underflow or
        denormalization. The algorithm is described in

        "Accurate singular values and differential qd algorithms," by
        K. V. Fernando and B. N. Parlett,
        Numer. Math., Vol-67, No. 2, pp. 191-230,1994.

        See also
        "Implementation of differential qd algorithms," by
        K. V. Fernando and B. N. Parlett, Technical Report,
        Department of Mathematics, University of California at Berkeley,
        1994 (Under preparation).


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

     D       (input/output) DOUBLE PRECISION array, dimension (N)
             On entry, D contains the diagonal elements of the bidiagonal
             matrix whose SVD is desired. On normal exit, D contains the
             singular values in decreasing order.

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

     WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)

     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.