--- rpl/lapack/lapack/dlarfgp.f 2012/08/22 09:48:19 1.8
+++ rpl/lapack/lapack/dlarfgp.f 2023/08/07 08:38:57 1.18
@@ -1,25 +1,25 @@
-*> \brief \b DLARFGP
+*> \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/
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
*
*> \htmlonly
-*> Download DLARFGP + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download DLARFGP + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
*
* SUBROUTINE DLARFGP( N, ALPHA, X, INCX, TAU )
-*
+*
* .. Scalar Arguments ..
* INTEGER INCX, N
* DOUBLE PRECISION ALPHA, TAU
@@ -27,7 +27,7 @@
* .. Array Arguments ..
* DOUBLE PRECISION X( * )
* ..
-*
+*
*
*> \par Purpose:
* =============
@@ -92,22 +92,19 @@
* Authors:
* ========
*
-*> \author Univ. of Tennessee
-*> \author Univ. of California Berkeley
-*> \author Univ. of Colorado Denver
-*> \author NAG Ltd.
-*
-*> \date November 2011
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
*
*> \ingroup doubleOTHERauxiliary
*
* =====================================================================
SUBROUTINE DLARFGP( N, ALPHA, X, INCX, TAU )
*
-* -- LAPACK auxiliary routine (version 3.4.0) --
+* -- LAPACK auxiliary routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2011
*
* .. Scalar Arguments ..
INTEGER INCX, N
@@ -181,7 +178,7 @@
CALL DSCAL( N-1, BIGNUM, X, INCX )
BETA = BETA*BIGNUM
ALPHA = ALPHA*BIGNUM
- IF( ABS( BETA ).LT.SMLNUM )
+ IF( (ABS( BETA ).LT.SMLNUM) .AND. (KNT .LT. 20) )
$ GO TO 10
*
* New BETA is at most 1, at least SMLNUM
@@ -203,7 +200,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.)
@@ -219,7 +216,7 @@
BETA = -SAVEALPHA
END IF
*
- ELSE
+ ELSE
*
* This is the general case.
*