![]() |
LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
| subroutine dlasq5 | ( | integer | i0, |
| integer | n0, | ||
| double precision, dimension( * ) | z, | ||
| integer | pp, | ||
| double precision | tau, | ||
| double precision | sigma, | ||
| double precision | dmin, | ||
| double precision | dmin1, | ||
| double precision | dmin2, | ||
| double precision | dn, | ||
| double precision | dnm1, | ||
| double precision | dnm2, | ||
| logical | ieee, | ||
| double precision | eps ) |
DLASQ5 computes one dqds transform in ping-pong form. Used by sbdsqr and sstegr.
Download DLASQ5 + dependencies [TGZ] [ZIP] [TXT]
!> !> DLASQ5 computes one dqds transform in ping-pong form, one !> version for IEEE machines another for non IEEE machines. !>
| [in] | I0 | !> I0 is INTEGER !> First index. !> |
| [in] | N0 | !> N0 is INTEGER !> Last index. !> |
| [in] | Z | !> Z is DOUBLE PRECISION array, dimension ( 4*N ) !> Z holds the qd array. EMIN is stored in Z(4*N0) to avoid !> an extra argument. !> |
| [in] | PP | !> PP is INTEGER !> PP=0 for ping, PP=1 for pong. !> |
| [in] | TAU | !> TAU is DOUBLE PRECISION !> This is the shift. !> |
| [in] | SIGMA | !> SIGMA is DOUBLE PRECISION !> This is the accumulated shift up to this step. !> |
| [out] | DMIN | !> DMIN is DOUBLE PRECISION !> Minimum value of d. !> |
| [out] | DMIN1 | !> DMIN1 is DOUBLE PRECISION !> Minimum value of d, excluding D( N0 ). !> |
| [out] | DMIN2 | !> DMIN2 is DOUBLE PRECISION !> Minimum value of d, excluding D( N0 ) and D( N0-1 ). !> |
| [out] | DN | !> DN is DOUBLE PRECISION !> d(N0), the last value of d. !> |
| [out] | DNM1 | !> DNM1 is DOUBLE PRECISION !> d(N0-1). !> |
| [out] | DNM2 | !> DNM2 is DOUBLE PRECISION !> d(N0-2). !> |
| [in] | IEEE | !> IEEE is LOGICAL !> Flag for IEEE or non IEEE arithmetic. !> |
| [in] | EPS | !> EPS is DOUBLE PRECISION !> This is the value of epsilon used. !> |