version 1.18, 2018/05/29 07:18:20
|
version 1.19, 2023/08/07 08:39:24
|
Line 122
|
Line 122
|
*> \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 175
|
Line 173
|
* ===================================================================== |
* ===================================================================== |
SUBROUTINE ZHETD2( UPLO, N, A, LDA, D, E, TAU, INFO ) |
SUBROUTINE ZHETD2( UPLO, N, A, LDA, D, E, TAU, 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 248
|
Line 245
|
* |
* |
ALPHA = A( I, I+1 ) |
ALPHA = A( I, I+1 ) |
CALL ZLARFG( I, ALPHA, A( 1, I+1 ), 1, TAUI ) |
CALL ZLARFG( I, ALPHA, A( 1, I+1 ), 1, TAUI ) |
E( I ) = ALPHA |
E( I ) = DBLE( ALPHA ) |
* |
* |
IF( TAUI.NE.ZERO ) THEN |
IF( TAUI.NE.ZERO ) THEN |
* |
* |
Line 276
|
Line 273
|
A( I, I ) = DBLE( A( I, I ) ) |
A( I, I ) = DBLE( A( I, I ) ) |
END IF |
END IF |
A( I, I+1 ) = E( I ) |
A( I, I+1 ) = E( I ) |
D( I+1 ) = A( I+1, I+1 ) |
D( I+1 ) = DBLE( A( I+1, I+1 ) ) |
TAU( I ) = TAUI |
TAU( I ) = TAUI |
10 CONTINUE |
10 CONTINUE |
D( 1 ) = A( 1, 1 ) |
D( 1 ) = DBLE( A( 1, 1 ) ) |
ELSE |
ELSE |
* |
* |
* Reduce the lower triangle of A |
* Reduce the lower triangle of A |
Line 292
|
Line 289
|
* |
* |
ALPHA = A( I+1, I ) |
ALPHA = A( I+1, I ) |
CALL ZLARFG( N-I, ALPHA, A( MIN( I+2, N ), I ), 1, TAUI ) |
CALL ZLARFG( N-I, ALPHA, A( MIN( I+2, N ), I ), 1, TAUI ) |
E( I ) = ALPHA |
E( I ) = DBLE( ALPHA ) |
* |
* |
IF( TAUI.NE.ZERO ) THEN |
IF( TAUI.NE.ZERO ) THEN |
* |
* |
Line 321
|
Line 318
|
A( I+1, I+1 ) = DBLE( A( I+1, I+1 ) ) |
A( I+1, I+1 ) = DBLE( A( I+1, I+1 ) ) |
END IF |
END IF |
A( I+1, I ) = E( I ) |
A( I+1, I ) = E( I ) |
D( I ) = A( I, I ) |
D( I ) = DBLE( A( I, I ) ) |
TAU( I ) = TAUI |
TAU( I ) = TAUI |
20 CONTINUE |
20 CONTINUE |
D( N ) = A( N, N ) |
D( N ) = DBLE( A( N, N ) ) |
END IF |
END IF |
* |
* |
RETURN |
RETURN |