--- rpl/lapack/lapack/dlaed5.f 2010/12/21 13:53:29 1.7 +++ rpl/lapack/lapack/dlaed5.f 2011/11/21 20:42:54 1.8 @@ -1,9 +1,117 @@ +*> \brief \b DLAED5 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download DLAED5 + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* SUBROUTINE DLAED5( I, D, Z, DELTA, RHO, DLAM ) +* +* .. Scalar Arguments .. +* INTEGER I +* DOUBLE PRECISION DLAM, RHO +* .. +* .. Array Arguments .. +* DOUBLE PRECISION D( 2 ), DELTA( 2 ), Z( 2 ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> This subroutine computes the I-th eigenvalue of a symmetric rank-one +*> modification of a 2-by-2 diagonal matrix +*> +*> diag( D ) + RHO * Z * transpose(Z) . +*> +*> The diagonal elements in the array D are assumed to satisfy +*> +*> D(i) < D(j) for i < j . +*> +*> We also assume RHO > 0 and that the Euclidean norm of the vector +*> Z is one. +*> \endverbatim +* +* Arguments: +* ========== +* +*> \param[in] I +*> \verbatim +*> I is INTEGER +*> The index of the eigenvalue to be computed. I = 1 or I = 2. +*> \endverbatim +*> +*> \param[in] D +*> \verbatim +*> D is DOUBLE PRECISION array, dimension (2) +*> The original eigenvalues. We assume D(1) < D(2). +*> \endverbatim +*> +*> \param[in] Z +*> \verbatim +*> Z is DOUBLE PRECISION array, dimension (2) +*> The components of the updating vector. +*> \endverbatim +*> +*> \param[out] DELTA +*> \verbatim +*> DELTA is DOUBLE PRECISION array, dimension (2) +*> The vector DELTA contains the information necessary +*> to construct the eigenvectors. +*> \endverbatim +*> +*> \param[in] RHO +*> \verbatim +*> RHO is DOUBLE PRECISION +*> The scalar in the symmetric updating formula. +*> \endverbatim +*> +*> \param[out] DLAM +*> \verbatim +*> DLAM is DOUBLE PRECISION +*> The computed lambda_I, the I-th updated eigenvalue. +*> \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 Contributors: +* ================== +*> +*> Ren-Cang Li, Computer Science Division, University of California +*> at Berkeley, USA +*> +* ===================================================================== SUBROUTINE DLAED5( I, D, Z, DELTA, RHO, DLAM ) * -* -- 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..-- -* November 2006 +* November 2011 * * .. Scalar Arguments .. INTEGER I @@ -13,50 +121,6 @@ DOUBLE PRECISION D( 2 ), DELTA( 2 ), Z( 2 ) * .. * -* Purpose -* ======= -* -* This subroutine computes the I-th eigenvalue of a symmetric rank-one -* modification of a 2-by-2 diagonal matrix -* -* diag( D ) + RHO * Z * transpose(Z) . -* -* The diagonal elements in the array D are assumed to satisfy -* -* D(i) < D(j) for i < j . -* -* We also assume RHO > 0 and that the Euclidean norm of the vector -* Z is one. -* -* Arguments -* ========= -* -* I (input) INTEGER -* The index of the eigenvalue to be computed. I = 1 or I = 2. -* -* D (input) DOUBLE PRECISION array, dimension (2) -* The original eigenvalues. We assume D(1) < D(2). -* -* Z (input) DOUBLE PRECISION array, dimension (2) -* The components of the updating vector. -* -* DELTA (output) DOUBLE PRECISION array, dimension (2) -* The vector DELTA contains the information necessary -* to construct the eigenvectors. -* -* RHO (input) DOUBLE PRECISION -* The scalar in the symmetric updating formula. -* -* DLAM (output) DOUBLE PRECISION -* The computed lambda_I, the I-th updated eigenvalue. -* -* Further Details -* =============== -* -* Based on contributions by -* Ren-Cang Li, Computer Science Division, University of California -* at Berkeley, USA -* * ===================================================================== * * .. Parameters ..