version 1.17, 2018/05/29 07:18:21
|
version 1.18, 2023/08/07 08:39:26
|
Line 106
|
Line 106
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date December 2016 |
|
* |
|
*> \ingroup complex16OTHERcomputational |
*> \ingroup complex16OTHERcomputational |
* |
* |
* ===================================================================== |
* ===================================================================== |
SUBROUTINE ZHPGST( ITYPE, UPLO, N, AP, BP, INFO ) |
SUBROUTINE ZHPGST( ITYPE, UPLO, N, AP, BP, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.7.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..-- |
* December 2016 |
|
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER UPLO |
CHARACTER UPLO |
Line 185
|
Line 182
|
* Compute the j-th column of the upper triangle of A |
* Compute the j-th column of the upper triangle of A |
* |
* |
AP( JJ ) = DBLE( AP( JJ ) ) |
AP( JJ ) = DBLE( AP( JJ ) ) |
BJJ = BP( JJ ) |
BJJ = DBLE( BP( JJ ) ) |
CALL ZTPSV( UPLO, 'Conjugate transpose', 'Non-unit', J, |
CALL ZTPSV( UPLO, 'Conjugate transpose', 'Non-unit', J, |
$ BP, AP( J1 ), 1 ) |
$ BP, AP( J1 ), 1 ) |
CALL ZHPMV( UPLO, J-1, -CONE, AP, BP( J1 ), 1, CONE, |
CALL ZHPMV( UPLO, J-1, -CONE, AP, BP( J1 ), 1, CONE, |
Line 206
|
Line 203
|
* |
* |
* Update the lower triangle of A(k:n,k:n) |
* Update the lower triangle of A(k:n,k:n) |
* |
* |
AKK = AP( KK ) |
AKK = DBLE( AP( KK ) ) |
BKK = BP( KK ) |
BKK = DBLE( BP( KK ) ) |
AKK = AKK / BKK**2 |
AKK = AKK / BKK**2 |
AP( KK ) = AKK |
AP( KK ) = AKK |
IF( K.LT.N ) THEN |
IF( K.LT.N ) THEN |
Line 237
|
Line 234
|
* |
* |
* Update the upper triangle of A(1:k,1:k) |
* Update the upper triangle of A(1:k,1:k) |
* |
* |
AKK = AP( KK ) |
AKK = DBLE( AP( KK ) ) |
BKK = BP( KK ) |
BKK = DBLE( BP( KK ) ) |
CALL ZTPMV( UPLO, 'No transpose', 'Non-unit', K-1, BP, |
CALL ZTPMV( UPLO, 'No transpose', 'Non-unit', K-1, BP, |
$ AP( K1 ), 1 ) |
$ AP( K1 ), 1 ) |
CT = HALF*AKK |
CT = HALF*AKK |
Line 261
|
Line 258
|
* |
* |
* Compute the j-th column of the lower triangle of A |
* Compute the j-th column of the lower triangle of A |
* |
* |
AJJ = AP( JJ ) |
AJJ = DBLE( AP( JJ ) ) |
BJJ = BP( JJ ) |
BJJ = DBLE( BP( JJ ) ) |
AP( JJ ) = AJJ*BJJ + ZDOTC( N-J, AP( JJ+1 ), 1, |
AP( JJ ) = AJJ*BJJ + ZDOTC( N-J, AP( JJ+1 ), 1, |
$ BP( JJ+1 ), 1 ) |
$ BP( JJ+1 ), 1 ) |
CALL ZDSCAL( N-J, BJJ, AP( JJ+1 ), 1 ) |
CALL ZDSCAL( N-J, BJJ, AP( JJ+1 ), 1 ) |