--- rpl/lapack/lapack/dlaneg.f 2010/12/21 13:53:30 1.8 +++ rpl/lapack/lapack/dlaneg.f 2011/11/21 20:42:55 1.9 @@ -1,10 +1,127 @@ +*> \brief \b DLANEG +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download DLANEG + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* INTEGER FUNCTION DLANEG( N, D, LLD, SIGMA, PIVMIN, R ) +* +* .. Scalar Arguments .. +* INTEGER N, R +* DOUBLE PRECISION PIVMIN, SIGMA +* .. +* .. Array Arguments .. +* DOUBLE PRECISION D( * ), LLD( * ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> DLANEG computes the Sturm count, the number of negative pivots +*> encountered while factoring tridiagonal T - sigma I = L D L^T. +*> This implementation works directly on the factors without forming +*> the tridiagonal matrix T. The Sturm count is also the number of +*> eigenvalues of T less than sigma. +*> +*> This routine is called from DLARRB. +*> +*> The current routine does not use the PIVMIN parameter but rather +*> requires IEEE-754 propagation of Infinities and NaNs. This +*> routine also has no input range restrictions but does require +*> default exception handling such that x/0 produces Inf when x is +*> non-zero, and Inf/Inf produces NaN. For more information, see: +*> +*> Marques, Riedy, and Voemel, "Benefits of IEEE-754 Features in +*> Modern Symmetric Tridiagonal Eigensolvers," SIAM Journal on +*> Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624 +*> (Tech report version in LAWN 172 with the same title.) +*> \endverbatim +* +* Arguments: +* ========== +* +*> \param[in] N +*> \verbatim +*> N is INTEGER +*> The order of the matrix. +*> \endverbatim +*> +*> \param[in] D +*> \verbatim +*> D is DOUBLE PRECISION array, dimension (N) +*> The N diagonal elements of the diagonal matrix D. +*> \endverbatim +*> +*> \param[in] LLD +*> \verbatim +*> LLD is DOUBLE PRECISION array, dimension (N-1) +*> The (N-1) elements L(i)*L(i)*D(i). +*> \endverbatim +*> +*> \param[in] SIGMA +*> \verbatim +*> SIGMA is DOUBLE PRECISION +*> Shift amount in T - sigma I = L D L^T. +*> \endverbatim +*> +*> \param[in] PIVMIN +*> \verbatim +*> PIVMIN is DOUBLE PRECISION +*> The minimum pivot in the Sturm sequence. May be used +*> when zero pivots are encountered on non-IEEE-754 +*> architectures. +*> \endverbatim +*> +*> \param[in] R +*> \verbatim +*> R is INTEGER +*> The twist index for the twisted factorization that is used +*> for the negcount. +*> \endverbatim +* +* Authors: +* ======== +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup auxOTHERauxiliary +* +*> \par Contributors: +* ================== +*> +*> Osni Marques, LBNL/NERSC, USA \n +*> Christof Voemel, University of California, Berkeley, USA \n +*> Jason Riedy, University of California, Berkeley, USA \n +*> +* ===================================================================== INTEGER FUNCTION DLANEG( N, D, LLD, SIGMA, PIVMIN, R ) - IMPLICIT NONE * -* -- LAPACK auxiliary routine (version 3.2.2) -- +* -- LAPACK auxiliary 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..-- -* June 2010 +* November 2011 * * .. Scalar Arguments .. INTEGER N, R @@ -14,60 +131,6 @@ DOUBLE PRECISION D( * ), LLD( * ) * .. * -* Purpose -* ======= -* -* DLANEG computes the Sturm count, the number of negative pivots -* encountered while factoring tridiagonal T - sigma I = L D L^T. -* This implementation works directly on the factors without forming -* the tridiagonal matrix T. The Sturm count is also the number of -* eigenvalues of T less than sigma. -* -* This routine is called from DLARRB. -* -* The current routine does not use the PIVMIN parameter but rather -* requires IEEE-754 propagation of Infinities and NaNs. This -* routine also has no input range restrictions but does require -* default exception handling such that x/0 produces Inf when x is -* non-zero, and Inf/Inf produces NaN. For more information, see: -* -* Marques, Riedy, and Voemel, "Benefits of IEEE-754 Features in -* Modern Symmetric Tridiagonal Eigensolvers," SIAM Journal on -* Scientific Computing, v28, n5, 2006. DOI 10.1137/050641624 -* (Tech report version in LAWN 172 with the same title.) -* -* Arguments -* ========= -* -* N (input) INTEGER -* The order of the matrix. -* -* D (input) DOUBLE PRECISION array, dimension (N) -* The N diagonal elements of the diagonal matrix D. -* -* LLD (input) DOUBLE PRECISION array, dimension (N-1) -* The (N-1) elements L(i)*L(i)*D(i). -* -* SIGMA (input) DOUBLE PRECISION -* Shift amount in T - sigma I = L D L^T. -* -* PIVMIN (input) DOUBLE PRECISION -* The minimum pivot in the Sturm sequence. May be used -* when zero pivots are encountered on non-IEEE-754 -* architectures. -* -* R (input) INTEGER -* The twist index for the twisted factorization that is used -* for the negcount. -* -* Further Details -* =============== -* -* Based on contributions by -* Osni Marques, LBNL/NERSC, USA -* Christof Voemel, University of California, Berkeley, USA -* Jason Riedy, University of California, Berkeley, USA -* * ===================================================================== * * .. Parameters ..