--- rpl/lapack/lapack/zhb2st_kernels.f 2018/05/29 07:18:18 1.4
+++ rpl/lapack/lapack/zhb2st_kernels.f 2023/08/07 08:39:22 1.6
@@ -1,26 +1,26 @@
*> \brief \b ZHB2ST_KERNELS
*
* @precisions fortran z -> s d c
-*
+*
* =========== 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 ZHB2ST_KERNELS + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download ZHB2ST_KERNELS + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
*
-* SUBROUTINE ZHB2ST_KERNELS( UPLO, WANTZ, TTYPE,
+* SUBROUTINE ZHB2ST_KERNELS( UPLO, WANTZ, TTYPE,
* ST, ED, SWEEP, N, NB, IB,
* A, LDA, V, TAU, LDVT, WORK)
*
@@ -32,9 +32,9 @@
* INTEGER TTYPE, ST, ED, SWEEP, N, NB, IB, LDA, LDVT
* ..
* .. Array Arguments ..
-* COMPLEX*16 A( LDA, * ), V( * ),
+* COMPLEX*16 A( LDA, * ), V( * ),
* TAU( * ), WORK( * )
-*
+*
*> \par Purpose:
* =============
*>
@@ -124,7 +124,7 @@
*> LDVT is INTEGER.
*> \endverbatim
*>
-*> \param[in] WORK
+*> \param[out] WORK
*> \verbatim
*> WORK is COMPLEX*16 array. Workspace of size nb.
*> \endverbatim
@@ -147,7 +147,7 @@
*> http://doi.acm.org/10.1145/2063384.2063394
*>
*> A. Haidar, J. Kurzak, P. Luszczek, 2013.
-*> An improved parallel singular value algorithm and its implementation
+*> An improved parallel singular value algorithm and its implementation
*> for multicore hardware, In Proceedings of 2013 International Conference
*> for High Performance Computing, Networking, Storage and Analysis (SC '13).
*> Denver, Colorado, USA, 2013.
@@ -155,25 +155,24 @@
*> http://doi.acm.org/10.1145/2503210.2503292
*>
*> A. Haidar, R. Solca, S. Tomov, T. Schulthess and J. Dongarra.
-*> A novel hybrid CPU-GPU generalized eigensolver for electronic structure
+*> A novel hybrid CPU-GPU generalized eigensolver for electronic structure
*> calculations based on fine-grained memory aware tasks.
*> International Journal of High Performance Computing Applications.
*> Volume 28 Issue 2, Pages 196-209, May 2014.
-*> http://hpc.sagepub.com/content/28/2/196
+*> http://hpc.sagepub.com/content/28/2/196
*>
*> \endverbatim
*>
* =====================================================================
- SUBROUTINE ZHB2ST_KERNELS( UPLO, WANTZ, TTYPE,
+ SUBROUTINE ZHB2ST_KERNELS( UPLO, WANTZ, TTYPE,
$ ST, ED, SWEEP, N, NB, IB,
$ A, LDA, V, TAU, LDVT, WORK)
*
IMPLICIT NONE
*
-* -- LAPACK computational routine (version 3.7.1) --
+* -- LAPACK computational routine --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* June 2017
*
* .. Scalar Arguments ..
CHARACTER UPLO
@@ -181,7 +180,7 @@
INTEGER TTYPE, ST, ED, SWEEP, N, NB, IB, LDA, LDVT
* ..
* .. Array Arguments ..
- COMPLEX*16 A( LDA, * ), V( * ),
+ COMPLEX*16 A( LDA, * ), V( * ),
$ TAU( * ), WORK( * )
* ..
*
@@ -195,8 +194,8 @@
* .. Local Scalars ..
LOGICAL UPPER
INTEGER I, J1, J2, LM, LN, VPOS, TAUPOS,
- $ DPOS, OFDPOS, AJETER
- COMPLEX*16 CTMP
+ $ DPOS, OFDPOS, AJETER
+ COMPLEX*16 CTMP
* ..
* .. External Subroutines ..
EXTERNAL ZLARFG, ZLARFX, ZLARFY
@@ -209,7 +208,7 @@
* ..
* ..
* .. Executable Statements ..
-*
+*
AJETER = IB + LDVT
UPPER = LSAME( UPLO, 'U' )
@@ -240,10 +239,10 @@
V( VPOS ) = ONE
DO 10 I = 1, LM-1
V( VPOS+I ) = DCONJG( A( OFDPOS-I, ST+I ) )
- A( OFDPOS-I, ST+I ) = ZERO
+ A( OFDPOS-I, ST+I ) = ZERO
10 CONTINUE
CTMP = DCONJG( A( OFDPOS, ST ) )
- CALL ZLARFG( LM, CTMP, V( VPOS+1 ), 1,
+ CALL ZLARFG( LM, CTMP, V( VPOS+1 ), 1,
$ TAU( TAUPOS ) )
A( OFDPOS, ST ) = CTMP
*
@@ -281,14 +280,14 @@
*
V( VPOS ) = ONE
DO 30 I = 1, LM-1
- V( VPOS+I ) =
+ V( VPOS+I ) =
$ DCONJG( A( DPOS-NB-I, J1+I ) )
A( DPOS-NB-I, J1+I ) = ZERO
30 CONTINUE
CTMP = DCONJG( A( DPOS-NB, J1 ) )
CALL ZLARFG( LM, CTMP, V( VPOS+1 ), 1, TAU( TAUPOS ) )
A( DPOS-NB, J1 ) = CTMP
-*
+*
CALL ZLARFX( 'Right', LN-1, LM, V( VPOS ),
$ TAU( TAUPOS ),
$ A( DPOS-NB+1, J1 ), LDA-1, WORK)
@@ -296,9 +295,9 @@
ENDIF
*
* Lower case
-*
+*
ELSE
-*
+*
IF( WANTZ ) THEN
VPOS = MOD( SWEEP-1, 2 ) * N + ST
TAUPOS = MOD( SWEEP-1, 2 ) * N + ST
@@ -313,9 +312,9 @@
V( VPOS ) = ONE
DO 20 I = 1, LM-1
V( VPOS+I ) = A( OFDPOS+I, ST-1 )
- A( OFDPOS+I, ST-1 ) = ZERO
+ A( OFDPOS+I, ST-1 ) = ZERO
20 CONTINUE
- CALL ZLARFG( LM, A( OFDPOS, ST-1 ), V( VPOS+1 ), 1,
+ CALL ZLARFG( LM, A( OFDPOS, ST-1 ), V( VPOS+1 ), 1,
$ TAU( TAUPOS ) )
*
LM = ED - ST + 1
@@ -342,7 +341,7 @@
LM = J2-J1+1
*
IF( LM.GT.0) THEN
- CALL ZLARFX( 'Right', LM, LN, V( VPOS ),
+ CALL ZLARFX( 'Right', LM, LN, V( VPOS ),
$ TAU( TAUPOS ), A( DPOS+NB, ST ),
$ LDA-1, WORK)
*
@@ -359,19 +358,19 @@
V( VPOS+I ) = A( DPOS+NB+I, ST )
A( DPOS+NB+I, ST ) = ZERO
40 CONTINUE
- CALL ZLARFG( LM, A( DPOS+NB, ST ), V( VPOS+1 ), 1,
+ CALL ZLARFG( LM, A( DPOS+NB, ST ), V( VPOS+1 ), 1,
$ TAU( TAUPOS ) )
*
- CALL ZLARFX( 'Left', LM, LN-1, V( VPOS ),
+ CALL ZLARFX( 'Left', LM, LN-1, V( VPOS ),
$ DCONJG( TAU( TAUPOS ) ),
$ A( DPOS+NB-1, ST+1 ), LDA-1, WORK)
-
+
ENDIF
ENDIF
ENDIF
*
RETURN
*
-* END OF ZHB2ST_KERNELS
+* End of ZHB2ST_KERNELS
*
- END
+ END