--- rpl/lapack/lapack/dlarfgp.f 2010/08/13 21:03:51 1.3
+++ rpl/lapack/lapack/dlarfgp.f 2017/06/17 10:53:55 1.14
@@ -1,9 +1,113 @@
+*> \brief \b DLARFGP generates an elementary reflector (Householder matrix) with non-negative beta.
+*
+* =========== DOCUMENTATION ===========
+*
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
+*
+*> \htmlonly
+*> Download DLARFGP + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
+*> [TXT]
+*> \endhtmlonly
+*
+* Definition:
+* ===========
+*
+* SUBROUTINE DLARFGP( N, ALPHA, X, INCX, TAU )
+*
+* .. Scalar Arguments ..
+* INTEGER INCX, N
+* DOUBLE PRECISION ALPHA, TAU
+* ..
+* .. Array Arguments ..
+* DOUBLE PRECISION X( * )
+* ..
+*
+*
+*> \par Purpose:
+* =============
+*>
+*> \verbatim
+*>
+*> DLARFGP generates a real elementary reflector H of order n, such
+*> that
+*>
+*> H * ( alpha ) = ( beta ), H**T * H = I.
+*> ( x ) ( 0 )
+*>
+*> where alpha and beta are scalars, beta is non-negative, and x is
+*> an (n-1)-element real vector. H is represented in the form
+*>
+*> H = I - tau * ( 1 ) * ( 1 v**T ) ,
+*> ( v )
+*>
+*> where tau is a real scalar and v is a real (n-1)-element
+*> vector.
+*>
+*> If the elements of x are all zero, then tau = 0 and H is taken to be
+*> the unit matrix.
+*> \endverbatim
+*
+* Arguments:
+* ==========
+*
+*> \param[in] N
+*> \verbatim
+*> N is INTEGER
+*> The order of the elementary reflector.
+*> \endverbatim
+*>
+*> \param[in,out] ALPHA
+*> \verbatim
+*> ALPHA is DOUBLE PRECISION
+*> On entry, the value alpha.
+*> On exit, it is overwritten with the value beta.
+*> \endverbatim
+*>
+*> \param[in,out] X
+*> \verbatim
+*> X is DOUBLE PRECISION array, dimension
+*> (1+(N-2)*abs(INCX))
+*> On entry, the vector x.
+*> On exit, it is overwritten with the vector v.
+*> \endverbatim
+*>
+*> \param[in] INCX
+*> \verbatim
+*> INCX is INTEGER
+*> The increment between elements of X. INCX > 0.
+*> \endverbatim
+*>
+*> \param[out] TAU
+*> \verbatim
+*> TAU is DOUBLE PRECISION
+*> The value tau.
+*> \endverbatim
+*
+* Authors:
+* ========
+*
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
+*
+*> \date December 2016
+*
+*> \ingroup doubleOTHERauxiliary
+*
+* =====================================================================
SUBROUTINE DLARFGP( N, ALPHA, X, INCX, TAU )
*
-* -- LAPACK auxiliary routine (version 3.2.2) --
+* -- LAPACK auxiliary routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* June 2010
+* December 2016
*
* .. Scalar Arguments ..
INTEGER INCX, N
@@ -13,48 +117,6 @@
DOUBLE PRECISION X( * )
* ..
*
-* Purpose
-* =======
-*
-* DLARFGP generates a real elementary reflector H of order n, such
-* that
-*
-* H * ( alpha ) = ( beta ), H' * H = I.
-* ( x ) ( 0 )
-*
-* where alpha and beta are scalars, beta is non-negative, and x is
-* an (n-1)-element real vector. H is represented in the form
-*
-* H = I - tau * ( 1 ) * ( 1 v' ) ,
-* ( v )
-*
-* where tau is a real scalar and v is a real (n-1)-element
-* vector.
-*
-* If the elements of x are all zero, then tau = 0 and H is taken to be
-* the unit matrix.
-*
-* Arguments
-* =========
-*
-* N (input) INTEGER
-* The order of the elementary reflector.
-*
-* ALPHA (input/output) DOUBLE PRECISION
-* On entry, the value alpha.
-* On exit, it is overwritten with the value beta.
-*
-* X (input/output) DOUBLE PRECISION array, dimension
-* (1+(N-2)*abs(INCX))
-* On entry, the vector x.
-* On exit, it is overwritten with the vector v.
-*
-* INCX (input) INTEGER
-* The increment between elements of X. INCX > 0.
-*
-* TAU (output) DOUBLE PRECISION
-* The value tau.
-*
* =====================================================================
*
* .. Parameters ..
@@ -141,7 +203,7 @@
IF ( ABS(TAU).LE.SMLNUM ) THEN
*
* In the case where the computed TAU ends up being a denormalized number,
-* it loses relative accuracy. This is a BIG problem. Solution: flush TAU
+* it loses relative accuracy. This is a BIG problem. Solution: flush TAU
* to ZERO. This explains the next IF statement.
*
* (Bug report provided by Pat Quillen from MathWorks on Jul 29, 2009.)
@@ -157,7 +219,7 @@
BETA = -SAVEALPHA
END IF
*
- ELSE
+ ELSE
*
* This is the general case.
*