version 1.3, 2018/05/29 07:18:20
|
version 1.5, 2023/08/07 08:39:24
|
Line 208
|
Line 208
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date December 2016 |
|
* |
|
*> \ingroup complex16HEcomputational |
*> \ingroup complex16HEcomputational |
* |
* |
*> \par Further Details: |
*> \par Further Details: |
Line 241
|
Line 239
|
* ===================================================================== |
* ===================================================================== |
SUBROUTINE ZHETF2_RK( UPLO, N, A, LDA, E, IPIV, INFO ) |
SUBROUTINE ZHETF2_RK( UPLO, N, A, LDA, E, IPIV, 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 322
|
Line 319
|
* |
* |
* Factorize A as U*D*U**H using the upper triangle of A |
* Factorize A as U*D*U**H using the upper triangle of A |
* |
* |
* Initilize the first entry of array E, where superdiagonal |
* Initialize the first entry of array E, where superdiagonal |
* elements of D are stored |
* elements of D are stored |
* |
* |
E( 1 ) = CZERO |
E( 1 ) = CZERO |
Line 420
|
Line 417
|
* |
* |
* Case(2) |
* Case(2) |
* Equivalent to testing for |
* Equivalent to testing for |
* ABS( REAL( W( IMAX,KW-1 ) ) ).GE.ALPHA*ROWMAX |
* ABS( DBLE( W( IMAX,KW-1 ) ) ).GE.ALPHA*ROWMAX |
* (used to handle NaN and Inf) |
* (used to handle NaN and Inf) |
* |
* |
IF( .NOT.( ABS( DBLE( A( IMAX, IMAX ) ) ) |
IF( .NOT.( ABS( DBLE( A( IMAX, IMAX ) ) ) |
Line 611
|
Line 608
|
* D = |A12| |
* D = |A12| |
D = DLAPY2( DBLE( A( K-1, K ) ), |
D = DLAPY2( DBLE( A( K-1, K ) ), |
$ DIMAG( A( K-1, K ) ) ) |
$ DIMAG( A( K-1, K ) ) ) |
D11 = A( K, K ) / D |
D11 = DBLE( A( K, K ) / D ) |
D22 = A( K-1, K-1 ) / D |
D22 = DBLE( A( K-1, K-1 ) / D ) |
D12 = A( K-1, K ) / D |
D12 = A( K-1, K ) / D |
TT = ONE / ( D11*D22-ONE ) |
TT = ONE / ( D11*D22-ONE ) |
* |
* |
Line 676
|
Line 673
|
* |
* |
* Factorize A as L*D*L**H using the lower triangle of A |
* Factorize A as L*D*L**H using the lower triangle of A |
* |
* |
* Initilize the unused last entry of the subdiagonal array E. |
* Initialize the unused last entry of the subdiagonal array E. |
* |
* |
E( N ) = CZERO |
E( N ) = CZERO |
* |
* |
Line 773
|
Line 770
|
* |
* |
* Case(2) |
* Case(2) |
* Equivalent to testing for |
* Equivalent to testing for |
* ABS( REAL( W( IMAX,KW-1 ) ) ).GE.ALPHA*ROWMAX |
* ABS( DBLE( W( IMAX,KW-1 ) ) ).GE.ALPHA*ROWMAX |
* (used to handle NaN and Inf) |
* (used to handle NaN and Inf) |
* |
* |
IF( .NOT.( ABS( DBLE( A( IMAX, IMAX ) ) ) |
IF( .NOT.( ABS( DBLE( A( IMAX, IMAX ) ) ) |