--- rpl/lapack/lapack/dlaed6.f 2011/07/22 07:40:26 1.8 +++ rpl/lapack/lapack/dlaed6.f 2011/11/21 20:42:54 1.9 @@ -1,9 +1,149 @@ +*> \brief \b DLAED6 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download DLAED6 + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* SUBROUTINE DLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) +* +* .. Scalar Arguments .. +* LOGICAL ORGATI +* INTEGER INFO, KNITER +* DOUBLE PRECISION FINIT, RHO, TAU +* .. +* .. Array Arguments .. +* DOUBLE PRECISION D( 3 ), Z( 3 ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> 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. +*> \endverbatim +* +* Arguments: +* ========== +* +*> \param[in] KNITER +*> \verbatim +*> KNITER is INTEGER +*> Refer to DLAED4 for its significance. +*> \endverbatim +*> +*> \param[in] ORGATI +*> \verbatim +*> 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. +*> \endverbatim +*> +*> \param[in] RHO +*> \verbatim +*> RHO is DOUBLE PRECISION +*> Refer to the equation f(x) above. +*> \endverbatim +*> +*> \param[in] D +*> \verbatim +*> D is DOUBLE PRECISION array, dimension (3) +*> D satisfies d(1) < d(2) < d(3). +*> \endverbatim +*> +*> \param[in] Z +*> \verbatim +*> Z is DOUBLE PRECISION array, dimension (3) +*> Each of the elements in z must be positive. +*> \endverbatim +*> +*> \param[in] FINIT +*> \verbatim +*> 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). +*> \endverbatim +*> +*> \param[out] TAU +*> \verbatim +*> TAU is DOUBLE PRECISION +*> The root of the equation f(x). +*> \endverbatim +*> +*> \param[out] INFO +*> \verbatim +*> INFO is INTEGER +*> = 0: successful exit +*> > 0: if INFO = 1, failure to converge +*> \endverbatim +* +* Authors: +* ======== +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup auxOTHERcomputational +* +*> \par Further Details: +* ===================== +*> +*> \verbatim +*> +*> 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. +*> \endverbatim +* +*> \par Contributors: +* ================== +*> +*> Ren-Cang Li, Computer Science Division, University of California +*> at Berkeley, USA +*> +* ===================================================================== SUBROUTINE DLAED6( KNITER, ORGATI, RHO, D, Z, FINIT, TAU, INFO ) * -* -- LAPACK routine (version 3.2) -- +* -- LAPACK computational routine (version 3.4.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* February 2007 +* November 2011 * * .. Scalar Arguments .. LOGICAL ORGATI @@ -14,69 +154,6 @@ DOUBLE PRECISION D( 3 ), Z( 3 ) * .. * -* Purpose -* ======= -* -* 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. -* -* Arguments -* ========= -* -* KNITER (input) INTEGER -* Refer to DLAED4 for its significance. -* -* ORGATI (input) 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. -* -* RHO (input) DOUBLE PRECISION -* Refer to the equation f(x) above. -* -* D (input) DOUBLE PRECISION array, dimension (3) -* D satisfies d(1) < d(2) < d(3). -* -* Z (input) DOUBLE PRECISION array, dimension (3) -* Each of the elements in z must be positive. -* -* FINIT (input) 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). -* -* TAU (output) DOUBLE PRECISION -* The root of the equation f(x). -* -* INFO (output) INTEGER -* = 0: successful exit -* > 0: if INFO = 1, failure to converge -* -* Further Details -* =============== -* -* 30/06/99: Based on contributions by -* Ren-Cang Li, Computer Science Division, University of California -* at Berkeley, USA -* -* 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. -* * ===================================================================== * * .. Parameters ..