--- rpl/lapack/lapack/zhetd2.f 2010/12/21 13:53:46 1.7 +++ rpl/lapack/lapack/zhetd2.f 2011/07/22 07:38:15 1.8 @@ -1,9 +1,9 @@ SUBROUTINE ZHETD2( UPLO, N, A, LDA, D, E, TAU, INFO ) * -* -- LAPACK routine (version 3.2) -- +* -- LAPACK routine (version 3.3.1) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2006 +* -- April 2011 -- * * .. Scalar Arguments .. CHARACTER UPLO @@ -19,7 +19,7 @@ * * ZHETD2 reduces a complex Hermitian matrix A to real symmetric * tridiagonal form T by a unitary similarity transformation: -* Q' * A * Q = T. +* Q**H * A * Q = T. * * Arguments * ========= @@ -81,7 +81,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in @@ -94,7 +94,7 @@ * * Each H(i) has the form * -* H(i) = I - tau * v * v' +* H(i) = I - tau * v * v**H * * where tau is a complex scalar, and v is a complex vector with * v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), @@ -143,7 +143,7 @@ * Test the input parameters * INFO = 0 - UPPER = LSAME( UPLO, 'U' ) + UPPER = LSAME( UPLO, 'U') IF( .NOT.UPPER .AND. .NOT.LSAME( UPLO, 'L' ) ) THEN INFO = -1 ELSE IF( N.LT.0 ) THEN @@ -168,7 +168,7 @@ A( N, N ) = DBLE( A( N, N ) ) DO 10 I = N - 1, 1, -1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(1:i-1,i+1) * ALPHA = A( I, I+1 ) @@ -186,13 +186,13 @@ CALL ZHEMV( UPLO, I, TAUI, A, LDA, A( 1, I+1 ), 1, ZERO, $ TAU, 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**H * v) * v * ALPHA = -HALF*TAUI*ZDOTC( I, TAU, 1, A( 1, I+1 ), 1 ) CALL ZAXPY( I, ALPHA, A( 1, I+1 ), 1, TAU, 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**H - w * v**H * CALL ZHER2( UPLO, I, -ONE, A( 1, I+1 ), 1, TAU, 1, A, $ LDA ) @@ -212,7 +212,7 @@ A( 1, 1 ) = DBLE( A( 1, 1 ) ) DO 20 I = 1, N - 1 * -* Generate elementary reflector H(i) = I - tau * v * v' +* Generate elementary reflector H(i) = I - tau * v * v**H * to annihilate A(i+2:n,i) * ALPHA = A( I+1, I ) @@ -230,14 +230,14 @@ CALL ZHEMV( UPLO, N-I, TAUI, A( I+1, I+1 ), LDA, $ A( I+1, I ), 1, ZERO, TAU( I ), 1 ) * -* Compute w := x - 1/2 * tau * (x'*v) * v +* Compute w := x - 1/2 * tau * (x**H * v) * v * ALPHA = -HALF*TAUI*ZDOTC( N-I, TAU( I ), 1, A( I+1, I ), $ 1 ) CALL ZAXPY( N-I, ALPHA, A( I+1, I ), 1, TAU( I ), 1 ) * * Apply the transformation as a rank-2 update: -* A := A - v * w' - w * v' +* A := A - v * w**H - w * v**H * CALL ZHER2( UPLO, N-I, -ONE, A( I+1, I ), 1, TAU( I ), 1, $ A( I+1, I+1 ), LDA )