LAPACK
3.6.1
LAPACK: Linear Algebra PACKage
|
subroutine slasq3 | ( | integer | I0, |
integer | N0, | ||
real, dimension( * ) | Z, | ||
integer | PP, | ||
real | DMIN, | ||
real | SIGMA, | ||
real | DESIG, | ||
real | QMAX, | ||
integer | NFAIL, | ||
integer | ITER, | ||
integer | NDIV, | ||
logical | IEEE, | ||
integer | TTYPE, | ||
real | DMIN1, | ||
real | DMIN2, | ||
real | DN, | ||
real | DN1, | ||
real | DN2, | ||
real | G, | ||
real | TAU | ||
) |
SLASQ3 checks for deflation, computes a shift and calls dqds. Used by sbdsqr.
Download SLASQ3 + dependencies [TGZ] [ZIP] [TXT]
SLASQ3 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 REAL 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 REAL Minimum value of d. |
[out] | SIGMA | SIGMA is REAL Sum of shifts used in current segment. |
[in,out] | DESIG | DESIG is REAL Lower order part of SIGMA |
[in] | QMAX | QMAX is REAL 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 SLASQ5). |
[in,out] | TTYPE | TTYPE is INTEGER Shift type. |
[in,out] | DMIN1 | DMIN1 is REAL |
[in,out] | DMIN2 | DMIN2 is REAL |
[in,out] | DN | DN is REAL |
[in,out] | DN1 | DN1 is REAL |
[in,out] | DN2 | DN2 is REAL |
[in,out] | G | G is REAL |
[in,out] | TAU | TAU is REAL These are passed as arguments in order to save their values between calls to SLASQ3. |
Definition at line 184 of file slasq3.f.