DLASQ3(3) LAPACK routine of NEC Numeric Library Collection DLASQ3(3) NAME DLASQ3 SYNOPSIS SUBROUTINE DLASQ3 (I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL, ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, DN2, G, TAU) 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. ARGUMENTS I0 (input) I0 is INTEGER First index. N0 (input/output) N0 is INTEGER Last index. Z (input) Z is DOUBLE PRECISION array, dimension ( 4*N ) Z holds the qd array. PP (input/output) 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 (output) DMIN is DOUBLE PRECISION Minimum value of d. SIGMA (output) SIGMA is DOUBLE PRECISION Sum of shifts used in current segment. DESIG (input/output) DESIG is DOUBLE PRECISION Lower order part of SIGMA QMAX (input) QMAX is DOUBLE PRECISION Maximum value of q. NFAIL (output) NFAIL is INTEGER Number of times shift was too big. ITER (output) ITER is INTEGER Number of iterations. NDIV (output) NDIV is INTEGER Number of divisions. IEEE (input) IEEE is LOGICAL Flag for IEEE or non IEEE arithmetic (passed to DLASQ5). TTYPE (input/output) TTYPE is INTEGER Shift type. DMIN1 (input/output) DMIN1 is DOUBLE PRECISION DMIN2 (input/output) DMIN2 is DOUBLE PRECISION DN (input/output) DN is DOUBLE PRECISION DN1 (input/output) DN1 is DOUBLE PRECISION DN2 (input/output) DN2 is DOUBLE PRECISION G (input/output) G is DOUBLE PRECISION TAU (input/output) TAU is DOUBLE PRECISION These are passed as arguments in order to save their values between calls to DLASQ3. LAPACK routine 31 October 2017 DLASQ3(3)