Skip to content

Commit

Permalink
Harmonize [SD]TREVC[3] with its complex counterpart
Browse files Browse the repository at this point in the history
Compute majorant through a call to the BLAS as done
in [CZ]TREVC[3]
  • Loading branch information
angsch committed Jun 19, 2022
1 parent fc19446 commit b3caae4
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 24 deletions.
9 changes: 3 additions & 6 deletions SRC/dtrevc.f
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,8 @@ SUBROUTINE DTREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
* .. External Functions ..
LOGICAL LSAME
INTEGER IDAMAX
DOUBLE PRECISION DDOT, DLAMCH
EXTERNAL LSAME, IDAMAX, DDOT, DLAMCH
DOUBLE PRECISION DASUM, DDOT, DLAMCH
EXTERNAL DASUM, LSAME, IDAMAX, DDOT, DLAMCH
* ..
* .. External Subroutines ..
EXTERNAL DLABAD, DAXPY, DCOPY, DGEMV, DLALN2, DSCAL,
Expand Down Expand Up @@ -351,10 +351,7 @@ SUBROUTINE DTREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
*
WORK( 1 ) = ZERO
DO 30 J = 2, N
WORK( J ) = ZERO
DO 20 I = 1, J - 1
WORK( J ) = WORK( J ) + ABS( T( I, J ) )
20 CONTINUE
WORK( J ) = DASUM( J-1, T( I, J ), 1 )
30 CONTINUE
*
* Index IP is used to specify the real or complex eigenvalue:
Expand Down
9 changes: 3 additions & 6 deletions SRC/dtrevc3.f
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ SUBROUTINE DTREVC3( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL,
* .. External Functions ..
LOGICAL LSAME
INTEGER IDAMAX, ILAENV
DOUBLE PRECISION DDOT, DLAMCH
EXTERNAL LSAME, IDAMAX, ILAENV, DDOT, DLAMCH
DOUBLE PRECISION DASUM, DDOT, DLAMCH
EXTERNAL DASUM, LSAME, IDAMAX, ILAENV, DDOT, DLAMCH
* ..
* .. External Subroutines ..
EXTERNAL DAXPY, DCOPY, DGEMV, DLALN2, DSCAL, XERBLA,
Expand Down Expand Up @@ -391,10 +391,7 @@ SUBROUTINE DTREVC3( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL,
*
WORK( 1 ) = ZERO
DO 30 J = 2, N
WORK( J ) = ZERO
DO 20 I = 1, J - 1
WORK( J ) = WORK( J ) + ABS( T( I, J ) )
20 CONTINUE
WORK( J ) = DASUM( J-1, T( I, J ), 1 )
30 CONTINUE
*
* Index IP is used to specify the real or complex eigenvalue:
Expand Down
9 changes: 3 additions & 6 deletions SRC/strevc.f
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,8 @@ SUBROUTINE STREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
* .. External Functions ..
LOGICAL LSAME
INTEGER ISAMAX
REAL SDOT, SLAMCH
EXTERNAL LSAME, ISAMAX, SDOT, SLAMCH
REAL SASUM, SDOT, SLAMCH
EXTERNAL SASUM, LSAME, ISAMAX, SDOT, SLAMCH
* ..
* .. External Subroutines ..
EXTERNAL SAXPY, SCOPY, SGEMV, SLABAD, SLALN2, SSCAL,
Expand Down Expand Up @@ -351,10 +351,7 @@ SUBROUTINE STREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR,
*
WORK( 1 ) = ZERO
DO 30 J = 2, N
WORK( J ) = ZERO
DO 20 I = 1, J - 1
WORK( J ) = WORK( J ) + ABS( T( I, J ) )
20 CONTINUE
WORK( J ) = SASUM( J-1, T( I, J ), 1 )
30 CONTINUE
*
* Index IP is used to specify the real or complex eigenvalue:
Expand Down
9 changes: 3 additions & 6 deletions SRC/strevc3.f
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ SUBROUTINE STREVC3( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL,
* .. External Functions ..
LOGICAL LSAME
INTEGER ISAMAX, ILAENV
REAL SDOT, SLAMCH
EXTERNAL LSAME, ISAMAX, ILAENV, SDOT, SLAMCH
REAL SASUM, SDOT, SLAMCH
EXTERNAL SASUM, LSAME, ISAMAX, ILAENV, SDOT, SLAMCH
* ..
* .. External Subroutines ..
EXTERNAL SAXPY, SCOPY, SGEMV, SLALN2, SSCAL, XERBLA,
Expand Down Expand Up @@ -391,10 +391,7 @@ SUBROUTINE STREVC3( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL,
*
WORK( 1 ) = ZERO
DO 30 J = 2, N
WORK( J ) = ZERO
DO 20 I = 1, J - 1
WORK( J ) = WORK( J ) + ABS( T( I, J ) )
20 CONTINUE
WORK( J ) = SASUM( J-1, T( I, J ), 1 )
30 CONTINUE
*
* Index IP is used to specify the real or complex eigenvalue:
Expand Down

0 comments on commit b3caae4

Please sign in to comment.