--- rpl/lapack/lapack/zlaic1.f 2011/07/22 07:38:17 1.8 +++ rpl/lapack/lapack/zlaic1.f 2011/11/21 20:43:15 1.9 @@ -1,9 +1,144 @@ +*> \brief \b ZLAIC1 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download ZLAIC1 + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* SUBROUTINE ZLAIC1( JOB, J, X, SEST, W, GAMMA, SESTPR, S, C ) +* +* .. Scalar Arguments .. +* INTEGER J, JOB +* DOUBLE PRECISION SEST, SESTPR +* COMPLEX*16 C, GAMMA, S +* .. +* .. Array Arguments .. +* COMPLEX*16 W( J ), X( J ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> ZLAIC1 applies one step of incremental condition estimation in +*> its simplest version: +*> +*> Let x, twonorm(x) = 1, be an approximate singular vector of an j-by-j +*> lower triangular matrix L, such that +*> twonorm(L*x) = sest +*> Then ZLAIC1 computes sestpr, s, c such that +*> the vector +*> [ s*x ] +*> xhat = [ c ] +*> is an approximate singular vector of +*> [ L 0 ] +*> Lhat = [ w**H gamma ] +*> in the sense that +*> twonorm(Lhat*xhat) = sestpr. +*> +*> Depending on JOB, an estimate for the largest or smallest singular +*> value is computed. +*> +*> Note that [s c]**H and sestpr**2 is an eigenpair of the system +*> +*> diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] +*> [ conjg(gamma) ] +*> +*> where alpha = x**H * w. +*> \endverbatim +* +* Arguments: +* ========== +* +*> \param[in] JOB +*> \verbatim +*> JOB is INTEGER +*> = 1: an estimate for the largest singular value is computed. +*> = 2: an estimate for the smallest singular value is computed. +*> \endverbatim +*> +*> \param[in] J +*> \verbatim +*> J is INTEGER +*> Length of X and W +*> \endverbatim +*> +*> \param[in] X +*> \verbatim +*> X is COMPLEX*16 array, dimension (J) +*> The j-vector x. +*> \endverbatim +*> +*> \param[in] SEST +*> \verbatim +*> SEST is DOUBLE PRECISION +*> Estimated singular value of j by j matrix L +*> \endverbatim +*> +*> \param[in] W +*> \verbatim +*> W is COMPLEX*16 array, dimension (J) +*> The j-vector w. +*> \endverbatim +*> +*> \param[in] GAMMA +*> \verbatim +*> GAMMA is COMPLEX*16 +*> The diagonal element gamma. +*> \endverbatim +*> +*> \param[out] SESTPR +*> \verbatim +*> SESTPR is DOUBLE PRECISION +*> Estimated singular value of (j+1) by (j+1) matrix Lhat. +*> \endverbatim +*> +*> \param[out] S +*> \verbatim +*> S is COMPLEX*16 +*> Sine needed in forming xhat. +*> \endverbatim +*> +*> \param[out] C +*> \verbatim +*> C is COMPLEX*16 +*> Cosine needed in forming xhat. +*> \endverbatim +* +* Authors: +* ======== +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup complex16OTHERauxiliary +* +* ===================================================================== SUBROUTINE ZLAIC1( JOB, J, X, SEST, W, GAMMA, SESTPR, S, C ) * -* -- LAPACK auxiliary routine (version 3.3.1) -- +* -- 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..-- -* -- April 2011 -- +* November 2011 * * .. Scalar Arguments .. INTEGER J, JOB @@ -14,66 +149,6 @@ COMPLEX*16 W( J ), X( J ) * .. * -* Purpose -* ======= -* -* ZLAIC1 applies one step of incremental condition estimation in -* its simplest version: -* -* Let x, twonorm(x) = 1, be an approximate singular vector of an j-by-j -* lower triangular matrix L, such that -* twonorm(L*x) = sest -* Then ZLAIC1 computes sestpr, s, c such that -* the vector -* [ s*x ] -* xhat = [ c ] -* is an approximate singular vector of -* [ L 0 ] -* Lhat = [ w**H gamma ] -* in the sense that -* twonorm(Lhat*xhat) = sestpr. -* -* Depending on JOB, an estimate for the largest or smallest singular -* value is computed. -* -* Note that [s c]**H and sestpr**2 is an eigenpair of the system -* -* diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] -* [ conjg(gamma) ] -* -* where alpha = x**H * w. -* -* Arguments -* ========= -* -* JOB (input) INTEGER -* = 1: an estimate for the largest singular value is computed. -* = 2: an estimate for the smallest singular value is computed. -* -* J (input) INTEGER -* Length of X and W -* -* X (input) COMPLEX*16 array, dimension (J) -* The j-vector x. -* -* SEST (input) DOUBLE PRECISION -* Estimated singular value of j by j matrix L -* -* W (input) COMPLEX*16 array, dimension (J) -* The j-vector w. -* -* GAMMA (input) COMPLEX*16 -* The diagonal element gamma. -* -* SESTPR (output) DOUBLE PRECISION -* Estimated singular value of (j+1) by (j+1) matrix Lhat. -* -* S (output) COMPLEX*16 -* Sine needed in forming xhat. -* -* C (output) COMPLEX*16 -* Cosine needed in forming xhat. -* * ===================================================================== * * .. Parameters ..