LAPACK  3.11.0
LAPACK: Linear Algebra PACKage

◆ slasq3()

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]

Purpose:
 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.
Parameters
[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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.