SRC/dlasq3.f(3)

NAME
SRC/dlasq3.f

SYNOPSIS

  Functions/Subroutines
subroutine dlasq3 (i0, n0, z, pp, dmin, sigma, desig, qmax, nfail, iter, ndiv, ieee, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau)
DLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr.

Function/Subroutine Documentation

  subroutine dlasq3 (integer i0, integer n0, double precision, dimension( * ) z, integer pp, double precision dmin, double precision sigma, double precision desig, double precision qmax, integer nfail, integer iter, integer ndiv, logical ieee, integer ttype, double precision dmin1, double precision dmin2, double precision dn, double precision dn1, double precision dn2, double precision g, double precision tau)

DLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr.

Purpose:

     DLASQ3 checks for deflation, computes a shift (TAU) and calls dqds.
     In case of failure it changes shifts, and tries again until output
     is positive.

Parameters
    I0

              I0 is INTEGER
             First index.

    N0

              N0 is INTEGER
             Last index.

    Z

              Z is DOUBLE PRECISION array, dimension ( 4*N0 )
             Z holds the qd array.

    PP

              PP is INTEGER
             PP=0 for ping, PP=1 for pong.
             PP=2 indicates that flipping was applied to the Z array
             and that the initial tests for deflation should not be
             performed.

    DMIN

              DMIN is DOUBLE PRECISION
             Minimum value of d.

    SIGMA

              SIGMA is DOUBLE PRECISION
             Sum of shifts used in current segment.

    DESIG

              DESIG is DOUBLE PRECISION
             Lower order part of SIGMA

    QMAX

              QMAX is DOUBLE PRECISION
             Maximum value of q.

    NFAIL

              NFAIL is INTEGER
             Increment NFAIL by 1 each time the shift was too big.

    ITER

              ITER is INTEGER
             Increment ITER by 1 for each iteration.

    NDIV

              NDIV is INTEGER
             Increment NDIV by 1 for each division.

    IEEE

              IEEE is LOGICAL
             Flag for IEEE or non IEEE arithmetic (passed to DLASQ5).

    TTYPE

              TTYPE is INTEGER
             Shift type.

    DMIN1

              DMIN1 is DOUBLE PRECISION

    DMIN2

              DMIN2 is DOUBLE PRECISION

    DN

              DN is DOUBLE PRECISION

    DN1

              DN1 is DOUBLE PRECISION

    DN2

              DN2 is DOUBLE PRECISION

    G

              G is DOUBLE PRECISION

    TAU

              TAU is DOUBLE PRECISION
             These are passed as arguments in order to save their values
             between calls to DLASQ3.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 179 of file dlasq3.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.