![]() |
LAPACK 3.12.0
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. |