1 SUBROUTINE zlauu2( UPLO, N, A, LDA, INFO )
13 COMPLEX*16 a( lda, * )
60 parameter( one = ( 1.0d+0, 0.0d+0 ) )
73 EXTERNAL xerbla, zdscal, zgemv, zlacgv
76 INTRINSIC dble, dcmplx,
max
83 upper = lsame(
uplo,
'U' )
84 IF( .NOT.upper .AND. .NOT.lsame(
uplo,
'L' ) )
THEN
86 ELSE IF( n.LT.0 )
THEN
88 ELSE IF( lda.LT.
max( 1, n ) )
THEN
92 CALL
xerbla(
'ZLAUU2', -info )
108 a( i, i ) = aii*aii + dble( zdotc( n-i, a( i, i+1 ), lda,
109 $ a( i, i+1 ), lda ) )
110 CALL zlacgv( n-i, a( i, i+1 ), lda )
111 CALL zgemv(
'No transpose', i-1, n-i, one, a( 1, i+1 ),
112 $ lda, a( i, i+1 ), lda, dcmplx( aii ),
114 CALL zlacgv( n-i, a( i, i+1 ), lda )
116 CALL zdscal( i, aii, a( 1, i ), 1 )
127 a( i, i ) = aii*aii + dble( zdotc( n-i, a( i+1, i ), 1,
129 CALL zlacgv( i-1, a( i, 1 ), lda )
130 CALL zgemv(
'Conjugate transpose', n-i, i-1, one,
131 $ a( i+1, 1 ), lda, a( i+1, i ), 1,
132 $ dcmplx( aii ), a( i, 1 ), lda )
133 CALL zlacgv( i-1, a( i, 1 ), lda )
135 CALL zdscal( i, aii, a( i, 1 ), lda )