====================================================================
dlasq3 examples
====================================================================

====================================================================
Man Page Details
====================================================================

NAME
       DLASQ3 - for deflation, computes a shift (TAU) and calls dqds

SYNOPSIS
       SUBROUTINE DLASQ3( I0,  N0,  Z,  PP,  DMIN,  SIGMA, DESIG, QMAX, NFAIL,
                          ITER, NDIV, IEEE )

           LOGICAL        IEEE

           INTEGER        I0, ITER, N0, NDIV, NFAIL, PP

           DOUBLE         PRECISION DESIG, DMIN, QMAX, SIGMA

           DOUBLE         PRECISION Z( * )

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 pos-
       itive.


ARGUMENTS
       I0     (input) INTEGER
              First index.

       N0     (input) INTEGER
              Last index.

       Z      (input) DOUBLE PRECISION array, dimension ( 4*N )
              Z holds the qd array.

       PP     (input) INTEGER
              PP=0 for ping, PP=1 for pong.

       DMIN   (output) DOUBLE PRECISION
              Minimum value of d.

       SIGMA  (output) DOUBLE PRECISION
              Sum of shifts used in current segment.

       DESIG  (input/output) DOUBLE PRECISION
              Lower order part of SIGMA

       QMAX   (input) DOUBLE PRECISION
              Maximum value of q.

       NFAIL  (output) INTEGER
              Number of times shift was too big.

       ITER   (output) INTEGER
              Number of iterations.

       NDIV   (output) INTEGER
              Number of divisions.

       TTYPE  (output) INTEGER
              Shift type.

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

