slazq3 (l)  Linux Manuals
slazq3: for deflation, computes a shift (TAU) and calls dqds
NAME
SLAZQ3  for deflation, computes a shift (TAU) and calls dqdsSYNOPSIS
 SUBROUTINE SLAZQ3(
 I0, N0, Z, PP, DMIN, SIGMA, DESIG, QMAX, NFAIL, ITER, NDIV, IEEE, TTYPE, DMIN1, DMIN2, DN, DN1, DN2, TAU )
 LOGICAL IEEE
 INTEGER I0, ITER, N0, NDIV, NFAIL, PP, TTYPE
 REAL DESIG, DMIN, DMIN1, DMIN2, DN, DN1, DN2, QMAX, SIGMA, TAU
 REAL Z( * )
PURPOSE
SLAZQ3 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) INTEGER
 First index.
 N0 (input) INTEGER
 Last index.
 Z (input) REAL array, dimension ( 4*N )
 Z holds the qd array.
 PP (input) INTEGER
 PP=0 for ping, PP=1 for pong.
 DMIN (output) REAL
 Minimum value of d.
 SIGMA (output) REAL
 Sum of shifts used in current segment.
 DESIG (input/output) REAL
 Lower order part of SIGMA
 QMAX (input) REAL
 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.
 IEEE (input) LOGICAL
 Flag for IEEE or non IEEE arithmetic (passed to SLASQ5).
 TTYPE (input/output) INTEGER
 Shift type. TTYPE is passed as an argument in order to save its value between calls to SLAZQ3
 DMIN1 (input/output) REAL

DMIN2 (input/output) REAL
DN (input/output) REAL
DN1 (input/output) REAL
DN2 (input/output) REAL
TAU (input/output) REAL
These are passed as arguments in order to save their values
between calls to SLAZQ3
This is a thread safe version of SLASQ3, which passes TTYPE, DMIN1, DMIN2, DN, DN1. DN2 and TAU through the argument list in place of declaring them in a SAVE statment.