--- rpl/lapack/lapack/dlasd5.f 2010/12/21 13:53:33 1.7 +++ rpl/lapack/lapack/dlasd5.f 2011/11/21 20:42:58 1.8 @@ -1,9 +1,125 @@ +*> \brief \b DLASD5 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download DLASD5 + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* SUBROUTINE DLASD5( I, D, Z, DELTA, RHO, DSIGMA, WORK ) +* +* .. Scalar Arguments .. +* INTEGER I +* DOUBLE PRECISION DSIGMA, RHO +* .. +* .. Array Arguments .. +* DOUBLE PRECISION D( 2 ), DELTA( 2 ), WORK( 2 ), Z( 2 ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> This subroutine computes the square root of the I-th eigenvalue +*> of a positive symmetric rank-one modification of a 2-by-2 diagonal +*> matrix +*> +*> diag( D ) * diag( D ) + RHO * Z * transpose(Z) . +*> +*> The diagonal entries in the array D are assumed to satisfy +*> +*> 0 <= 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 0 <= 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 ) +*> Contains (D(j) - sigma_I) in its j-th component. +*> 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] DSIGMA +*> \verbatim +*> DSIGMA is DOUBLE PRECISION +*> The computed sigma_I, the I-th updated eigenvalue. +*> \endverbatim +*> +*> \param[out] WORK +*> \verbatim +*> WORK is DOUBLE PRECISION array, dimension ( 2 ) +*> WORK contains (D(j) + sigma_I) in its j-th component. +*> \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: +* ================== +*> +*> Ren-Cang Li, Computer Science Division, University of California +*> at Berkeley, USA +*> +* ===================================================================== SUBROUTINE DLASD5( I, D, Z, DELTA, RHO, DSIGMA, WORK ) * -* -- LAPACK auxiliary routine (version 3.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..-- -* November 2006 +* November 2011 * * .. Scalar Arguments .. INTEGER I @@ -13,55 +129,6 @@ DOUBLE PRECISION D( 2 ), DELTA( 2 ), WORK( 2 ), Z( 2 ) * .. * -* Purpose -* ======= -* -* This subroutine computes the square root of the I-th eigenvalue -* of a positive symmetric rank-one modification of a 2-by-2 diagonal -* matrix -* -* diag( D ) * diag( D ) + RHO * Z * transpose(Z) . -* -* The diagonal entries in the array D are assumed to satisfy -* -* 0 <= 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 0 <= D(1) < D(2). -* -* Z (input) DOUBLE PRECISION array, dimension ( 2 ) -* The components of the updating vector. -* -* DELTA (output) DOUBLE PRECISION array, dimension ( 2 ) -* Contains (D(j) - sigma_I) in its j-th component. -* The vector DELTA contains the information necessary -* to construct the eigenvectors. -* -* RHO (input) DOUBLE PRECISION -* The scalar in the symmetric updating formula. -* -* DSIGMA (output) DOUBLE PRECISION -* The computed sigma_I, the I-th updated eigenvalue. -* -* WORK (workspace) DOUBLE PRECISION array, dimension ( 2 ) -* WORK contains (D(j) + sigma_I) in its j-th component. -* -* Further Details -* =============== -* -* Based on contributions by -* Ren-Cang Li, Computer Science Division, University of California -* at Berkeley, USA -* * ===================================================================== * * .. Parameters ..