laed6#

Functions

void slaed6(
    const INT           kniter,
    const INT           orgati,
    const f32           rho,
    const f32* restrict D,
    const f32* restrict Z,
    const f32           finit,
          f32*          tau,
          INT*          info
);
void slaed6(const INT kniter, const INT orgati, const f32 rho, const f32 *restrict D, const f32 *restrict Z, const f32 finit, f32 *tau, INT *info)#

SLAED6 computes the positive or negative root (closest to the origin) of z(0) z(1) z(2) f(x) = rho + ——— + ——-— + ——— d(0)-x d(1)-x d(2)-x.

It is assumed that

  if orgati is true the root is between d[1] and d[2];
  otherwise it is between d[0] and d[1]
This routine will be called by SLAED4 when necessary. In most cases, the root sought is the smallest in magnitude, though it might not be in some extremely rare situations.

Parameters

in
kniter

Refer to SLAED4 for its significance.

in
orgati

If orgati is nonzero (true), the needed root is between d[1] and d[2]; otherwise it is between d[0] and d[1]. See SLAED4 for further details.

in
rho

The scalar in the equation f(x) above.

in
D

Double precision array, dimension (3). D satisfies d[0] < d[1] < d[2].

in
Z

Double precision array, dimension (3). Each of the elements in Z must be positive.

in
finit

The value of f at 0. It is more accurate than the one evaluated inside this routine.

out
tau

The root of the equation f(x).

out
info

  • = 0: successful exit

  • > 0: if info = 1, failure to converge

Functions

void dlaed6(
    const INT           kniter,
    const INT           orgati,
    const f64           rho,
    const f64* restrict D,
    const f64* restrict Z,
    const f64           finit,
          f64*          tau,
          INT*          info
);
void dlaed6(const INT kniter, const INT orgati, const f64 rho, const f64 *restrict D, const f64 *restrict Z, const f64 finit, f64 *tau, INT *info)#

DLAED6 computes the positive or negative root (closest to the origin) of z(0) z(1) z(2) f(x) = rho + ——&#8212; + ——-&#8212; + ——&#8212; d(0)-x d(1)-x d(2)-x.

It is assumed that

  if orgati is true the root is between d[1] and d[2];
  otherwise it is between d[0] and d[1]
This routine will be called by DLAED4 when necessary. In most cases, the root sought is the smallest in magnitude, though it might not be in some extremely rare situations.

Parameters

in
kniter

Refer to DLAED4 for its significance.

in
orgati

If orgati is nonzero (true), the needed root is between d[1] and d[2]; otherwise it is between d[0] and d[1]. See DLAED4 for further details.

in
rho

The scalar in the equation f(x) above.

in
D

Double precision array, dimension (3). D satisfies d[0] < d[1] < d[2].

in
Z

Double precision array, dimension (3). Each of the elements in Z must be positive.

in
finit

The value of f at 0. It is more accurate than the one evaluated inside this routine.

out
tau

The root of the equation f(x).

out
info

  • = 0: successful exit

  • > 0: if info = 1, failure to converge