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 )