DLASQ3
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.
In case of failure it changes shifts, and tries again until output
is positive.
Arguments
I0 |
(input) INTEGER
First index.
|
N0 |
(input/output) INTEGER
Last index.
|
Z |
(input) DOUBLE PRECISION array, dimension ( 4*N )
Z holds the qd array.
|
PP |
(input/output) 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) 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.
|
IEEE |
(input) LOGICAL
Flag for IEEE or non IEEE arithmetic (passed to DLASQ5).
|
TTYPE |
(input/output) INTEGER
Shift type.
|
DMIN1 |
(input/output) DOUBLE PRECISION
|
DMIN2 |
(input/output) DOUBLE PRECISION
|
DN |
(input/output) DOUBLE PRECISION
|
DN1 |
(input/output) DOUBLE PRECISION
|
DN2 |
(input/output) DOUBLE PRECISION
|
G |
(input/output) DOUBLE PRECISION
|
TAU |
(input/output) DOUBLE PRECISION
These are passed as arguments in order to save their values between calls to DLASQ3. |