LASQ5 - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void lasq5(integer *i0, integer *n0, T *z, integer *pp, T *tau, T *sigma, T *dmin, T *dmin1, T *dmin2, T *dn, T *dnm1, T *dnm2, logical *ieee, T *eps)#

LASQ5 computes one dqds transform in ping-pong form. Used by sbdsqr and sstegr.

Purpose:

 LASQ5 computes one dqds transform in ping-pong form, one
 version for IEEE machines another for non IEEE machines.
Parameters:
  • I0[in]

    I0 is INTEGER

    First index.

  • N0[in]

    N0 is INTEGER

    Last index.

  • Z[in]

    Z is REAL array, dimension (4*N)

    Z holds the qd array. EMIN is stored in Z(4*N0) to avoid an extra argument.

  • PP[in]

    PP is INTEGER

    PP=0 for ping, PP=1 for pong.

  • TAU[in]

    TAU is REAL

    This is the shift.

  • SIGMA[in]

    SIGMA is REAL

    This is the accumulated shift up to this step.

  • DMIN[out]

    DMIN is REAL

    Minimum value of d.

  • DMIN1[out]

    DMIN1 is REAL

    Minimum value of d, excluding D(N0).

  • DMIN2[out]

    DMIN2 is REAL

    Minimum value of d, excluding D(N0) and D(N0-1).

  • DN[out]

    DN is REAL

    d(N0), the last value of d.

  • DNM1[out]

    DNM1 is REAL

    d(N0-1).

  • DNM2[out]

    DNM2 is REAL

    d(N0-2).

  • IEEE[in]

    IEEE is LOGICAL

    Flag for IEEE or non IEEE arithmetic.

  • EPS[in]

    EPS is REAL

    This is the value of epsilon used.