Diff for /rpl/lapack/lapack/zsyequb.f between versions 1.14 and 1.15

version 1.14, 2018/05/29 07:18:36 version 1.15, 2023/08/07 08:39:38
Line 117 Line 117
 *> \author Univ. of Colorado Denver  *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.  *> \author NAG Ltd.
 *  *
 *> \date November 2017  
 *  
 *> \ingroup complex16SYcomputational  *> \ingroup complex16SYcomputational
 *  *
 *> \par References:  *> \par References:
Line 132 Line 130
 *  =====================================================================  *  =====================================================================
       SUBROUTINE ZSYEQUB( UPLO, N, A, LDA, S, SCOND, AMAX, WORK, INFO )        SUBROUTINE ZSYEQUB( UPLO, N, A, LDA, S, SCOND, AMAX, WORK, INFO )
 *  *
 *  -- LAPACK computational routine (version 3.8.0) --  *  -- LAPACK computational 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..--
 *     November 2017  
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            INFO, LDA, N        INTEGER            INFO, LDA, N
Line 266 Line 263
 *        avg = s^T beta / n  *        avg = s^T beta / n
          AVG = 0.0D0           AVG = 0.0D0
          DO I = 1, N           DO I = 1, N
             AVG = AVG + S( I )*WORK( I )              AVG = AVG + S( I ) * DBLE( WORK( I ) )
          END DO           END DO
          AVG = AVG / N           AVG = AVG / N
   
Line 283 Line 280
             T = CABS1( A( I, I ) )              T = CABS1( A( I, I ) )
             SI = S( I )              SI = S( I )
             C2 = ( N-1 ) * T              C2 = ( N-1 ) * T
             C1 = ( N-2 ) * ( WORK( I ) - T*SI )              C1 = ( N-2 ) * ( DBLE( WORK( I ) ) - T*SI )
             C0 = -(T*SI)*SI + 2*WORK( I )*SI - N*AVG              C0 = -(T*SI)*SI + 2 * DBLE( WORK( I ) ) * SI - N*AVG
             D = C1*C1 - 4*C0*C2              D = C1*C1 - 4*C0*C2
   
             IF ( D .LE. 0 ) THEN              IF ( D .LE. 0 ) THEN
Line 319 Line 316
                END DO                 END DO
             END IF              END IF
   
             AVG = AVG + ( U + WORK( I ) ) * D / N              AVG = AVG + ( U + DBLE( WORK( I ) ) ) * D / N
             S( I ) = SI              S( I ) = SI
          END DO           END DO
       END DO        END DO

Removed from v.1.14  
changed lines
  Added in v.1.15


CVSweb interface <joel.bertrand@systella.fr>