![]() |
LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
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.
Download DLASQ3 + dependencies [TGZ] [ZIP] [TXT]
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] | I0 | I0 is INTEGER First index. |
[in,out] | N0 | N0 is INTEGER Last index. |
[in,out] | Z | Z is DOUBLE PRECISION array, dimension ( 4*N0 ) Z holds the qd array. |
[in,out] | 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. |
[out] | DMIN | DMIN is DOUBLE PRECISION Minimum value of d. |
[out] | SIGMA | SIGMA is DOUBLE PRECISION Sum of shifts used in current segment. |
[in,out] | DESIG | DESIG is DOUBLE PRECISION Lower order part of SIGMA |
[in] | QMAX | QMAX is DOUBLE PRECISION Maximum value of q. |
[in,out] | NFAIL | NFAIL is INTEGER Increment NFAIL by 1 each time the shift was too big. |
[in,out] | ITER | ITER is INTEGER Increment ITER by 1 for each iteration. |
[in,out] | NDIV | NDIV is INTEGER Increment NDIV by 1 for each division. |
[in] | IEEE | IEEE is LOGICAL Flag for IEEE or non IEEE arithmetic (passed to DLASQ5). |
[in,out] | TTYPE | TTYPE is INTEGER Shift type. |
[in,out] | DMIN1 | DMIN1 is DOUBLE PRECISION |
[in,out] | DMIN2 | DMIN2 is DOUBLE PRECISION |
[in,out] | DN | DN is DOUBLE PRECISION |
[in,out] | DN1 | DN1 is DOUBLE PRECISION |
[in,out] | DN2 | DN2 is DOUBLE PRECISION |
[in,out] | G | G is DOUBLE PRECISION |
[in,out] | TAU | TAU is DOUBLE PRECISION These are passed as arguments in order to save their values between calls to DLASQ3. |