Loading...
Searching...
No Matches

## dlasq6()

subroutine dlasq6 | ( | integer | i0,
|  | integer | n0,
|  | double precision, dimension( * ) | z,
|  | integer | pp,
|  | double precision | dmin,
|  | double precision | dmin1,
|  | double precision | dmin2,
|  | double precision | dn,
|  | double precision | dnm1,
|  | double precision | dnm2 )

DLASQ6 computes one dqd transform in ping-pong form. Used by sbdsqr and sstegr.

Download DLASQ6 + dependencies [TGZ] [ZIP] [TXT]

Purpose:

      !>
      !> DLASQ6 computes one dqd (shift equal to zero) transform in
      !> ping-pong form, with protection against underflow and overflow.
      !>

Parameters

  [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.
      !>

  [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).
      !>

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.