103 SUBROUTINE zlauu2( UPLO, N, A, LDA, INFO )
115 COMPLEX*16 a( lda, * )
122 parameter( one = ( 1.0d+0, 0.0d+0 ) )
138 INTRINSIC dble, dcmplx, max
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(
'ZLAUU2', -info )
170 a( i, i ) = aii*aii + dble(
zdotc( n-i, a( i, i+1 ), lda,
171 $ a( i, i+1 ), lda ) )
172 CALL
zlacgv( n-i, a( i, i+1 ), lda )
173 CALL
zgemv(
'No transpose', i-1, n-i, one, a( 1, i+1 ),
174 $ lda, a( i, i+1 ), lda, dcmplx( aii ),
176 CALL
zlacgv( n-i, a( i, i+1 ), lda )
178 CALL
zdscal( i, aii, a( 1, i ), 1 )
189 a( i, i ) = aii*aii + dble(
zdotc( n-i, a( i+1, i ), 1,
191 CALL
zlacgv( i-1, a( i, 1 ), lda )
192 CALL
zgemv(
'Conjugate transpose', n-i, i-1, one,
193 $ a( i+1, 1 ), lda, a( i+1, i ), 1,
194 $ dcmplx( aii ), a( i, 1 ), lda )
195 CALL
zlacgv( i-1, a( i, 1 ), lda )
197 CALL
zdscal( i, aii, a( i, 1 ), lda )
subroutine zgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZGEMV
subroutine zdscal(N, DA, ZX, INCX)
ZDSCAL
subroutine zlauu2(UPLO, N, A, LDA, INFO)
ZLAUU2 computes the product UUH or LHL, where U and L are upper or lower triangular matrices (unblock...
complex *16 function zdotc(N, ZX, INCX, ZY, INCY)
ZDOTC
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.
logical function lsame(CA, CB)
LSAME