103 SUBROUTINE clauu2( UPLO, N, A, LDA, INFO )
122 parameter( one = ( 1.0e+0, 0.0e+0 ) )
138 INTRINSIC cmplx, max, real
145 upper =
lsame( uplo,
'U' )
146 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
148 ELSE IF( n.LT.0 )
THEN
150 ELSE IF( lda.LT.max( 1, n ) )
THEN
154 CALL
xerbla(
'CLAUU2', -info )
170 a( i, i ) = aii*aii +
REAL( CDOTC( N-I, A( I, I+1 ), LDA,
$ A( I, I+1 ), LDA ) )
171 CALL
clacgv( n-i, a( i, i+1 ), lda )
172 CALL
cgemv(
'No transpose', i-1, n-i, one, a( 1, i+1 ),
173 $ lda, a( i, i+1 ), lda, cmplx( aii ),
175 CALL
clacgv( n-i, a( i, i+1 ), lda )
177 CALL
csscal( i, aii, a( 1, i ), 1 )
188 a( i, i ) = aii*aii +
REAL( CDOTC( N-I, A( I+1, I ), 1,
$ A( I+1, I ), 1 ) )
189 CALL
clacgv( i-1, a( i, 1 ), lda )
190 CALL
cgemv(
'Conjugate transpose', n-i, i-1, one,
191 $ a( i+1, 1 ), lda, a( i+1, i ), 1,
192 $ cmplx( aii ), a( i, 1 ), lda )
193 CALL
clacgv( i-1, a( i, 1 ), lda )
195 CALL
csscal( i, aii, a( i, 1 ), lda )
205 LOGICAL function lsame(CA, CB)
LSAME
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
COMPLEX function cdotc(N, CX, INCX, CY, INCY)
CDOTC
subroutine clauu2(UPLO, N, A, LDA, INFO)
CLAUU2 computes the product UUH or LHL, where U and L are upper or lower triangular matrices (unblock...
subroutine csscal(N, SA, CX, INCX)
CSSCAL