Diff for /rpl/lapack/lapack/zlarfgp.f between versions 1.9 and 1.18

version 1.9, 2012/12/14 12:30:33 version 1.18, 2023/08/07 08:39:31
Line 1 Line 1
 *> \brief \b ZLARFGP generates an elementary reflector (Householder matrix) with non-negatibe beta.  *> \brief \b ZLARFGP generates an elementary reflector (Householder matrix) with non-negative beta.
 *  *
 *  =========== DOCUMENTATION ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *> \htmlonly  *> \htmlonly
 *> Download ZLARFGP + dependencies   *> Download ZLARFGP + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlarfgp.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlarfgp.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlarfgp.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlarfgp.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarfgp.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlarfgp.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE ZLARFGP( N, ALPHA, X, INCX, TAU )  *       SUBROUTINE ZLARFGP( N, ALPHA, X, INCX, TAU )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       INTEGER            INCX, N  *       INTEGER            INCX, N
 *       COMPLEX*16         ALPHA, TAU  *       COMPLEX*16         ALPHA, TAU
Line 27 Line 27
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       COMPLEX*16         X( * )  *       COMPLEX*16         X( * )
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 92 Line 92
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  
 *> \date September 2012  
 *  *
 *> \ingroup complex16OTHERauxiliary  *> \ingroup complex16OTHERauxiliary
 *  *
 *  =====================================================================  *  =====================================================================
       SUBROUTINE ZLARFGP( N, ALPHA, X, INCX, TAU )        SUBROUTINE ZLARFGP( N, ALPHA, X, INCX, TAU )
 *  *
 *  -- LAPACK auxiliary routine (version 3.4.2) --  *  -- LAPACK auxiliary routine --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     September 2012  
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            INCX, N        INTEGER            INCX, N
Line 197 Line 194
             BETA = BETA*BIGNUM              BETA = BETA*BIGNUM
             ALPHI = ALPHI*BIGNUM              ALPHI = ALPHI*BIGNUM
             ALPHR = ALPHR*BIGNUM              ALPHR = ALPHR*BIGNUM
             IF( ABS( BETA ).LT.SMLNUM )              IF( (ABS( BETA ).LT.SMLNUM) .AND. (KNT .LT. 20) )
      $         GO TO 10       $         GO TO 10
 *  *
 *           New BETA is at most 1, at least SMLNUM  *           New BETA is at most 1, at least SMLNUM
Line 222 Line 219
          IF ( ABS(TAU).LE.SMLNUM ) THEN           IF ( ABS(TAU).LE.SMLNUM ) THEN
 *  *
 *           In the case where the computed TAU ends up being a denormalized number,  *           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 (or TWO or whatever makes a nonnegative real number for BETA).  *           to ZERO (or TWO or whatever makes a nonnegative real number for BETA).
 *  *
 *           (Bug report provided by Pat Quillen from MathWorks on Jul 29, 2009.)  *           (Bug report provided by Pat Quillen from MathWorks on Jul 29, 2009.)
Line 238 Line 235
                   DO J = 1, N-1                    DO J = 1, N-1
                      X( 1 + (J-1)*INCX ) = ZERO                       X( 1 + (J-1)*INCX ) = ZERO
                   END DO                    END DO
                   BETA = -SAVEALPHA                    BETA = DBLE( -SAVEALPHA )
                END IF                 END IF
             ELSE              ELSE
                XNORM = DLAPY2( ALPHR, ALPHI )                 XNORM = DLAPY2( ALPHR, ALPHI )
Line 249 Line 246
                BETA = XNORM                 BETA = XNORM
             END IF              END IF
 *  *
          ELSE            ELSE
 *  *
 *           This is the general case.  *           This is the general case.
 *  *

Removed from v.1.9  
changed lines
  Added in v.1.18


CVSweb interface <joel.bertrand@systella.fr>