LAPACK
3.6.1
LAPACK: Linear Algebra PACKage
|
subroutine dlaed6 | ( | integer | KNITER, |
logical | ORGATI, | ||
double precision | RHO, | ||
double precision, dimension( 3 ) | D, | ||
double precision, dimension( 3 ) | Z, | ||
double precision | FINIT, | ||
double precision | TAU, | ||
integer | INFO | ||
) |
DLAED6 used by sstedc. Computes one Newton step in solution of the secular equation.
Download DLAED6 + dependencies [TGZ] [ZIP] [TXT]
DLAED6 computes the positive or negative root (closest to the origin) of z(1) z(2) z(3) f(x) = rho + --------- + ---------- + --------- d(1)-x d(2)-x d(3)-x It is assumed that if ORGATI = .true. the root is between d(2) and d(3); otherwise it is between d(1) and d(2) 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.
[in] | KNITER | KNITER is INTEGER Refer to DLAED4 for its significance. |
[in] | ORGATI | ORGATI is LOGICAL If ORGATI is true, the needed root is between d(2) and d(3); otherwise it is between d(1) and d(2). See DLAED4 for further details. |
[in] | RHO | RHO is DOUBLE PRECISION Refer to the equation f(x) above. |
[in] | D | D is DOUBLE PRECISION array, dimension (3) D satisfies d(1) < d(2) < d(3). |
[in] | Z | Z is DOUBLE PRECISION array, dimension (3) Each of the elements in z must be positive. |
[in] | FINIT | FINIT is DOUBLE PRECISION The value of f at 0. It is more accurate than the one evaluated inside this routine (if someone wants to do so). |
[out] | TAU | TAU is DOUBLE PRECISION The root of the equation f(x). |
[out] | INFO | INFO is INTEGER = 0: successful exit > 0: if INFO = 1, failure to converge |
10/02/03: This version has a few statements commented out for thread safety (machine parameters are computed on each entry). SJH. 05/10/06: Modified from a new version of Ren-Cang Li, use Gragg-Thornton-Warner cubic convergent scheme for better stability.
Definition at line 142 of file dlaed6.f.