99      SUBROUTINE zlauu2( UPLO, N, A, LDA, INFO )
 
  110      COMPLEX*16         A( LDA, * )
 
  117      parameter( one = ( 1.0d+0, 0.0d+0 ) )
 
  127      EXTERNAL           lsame, zdotc
 
  133      INTRINSIC          dble, dcmplx, max
 
  140      upper = lsame( uplo, 
'U' )
 
  141      IF( .NOT.upper .AND. .NOT.lsame( uplo, 
'L' ) ) 
THEN 
  143      ELSE IF( n.LT.0 ) 
THEN 
  145      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  149         CALL xerbla( 
'ZLAUU2', -info )
 
  163            aii = dble( a( i, i ) )
 
  165               a( i, i ) = aii*aii + dble( zdotc( n-i, a( i, i+1 ),
 
  167     $                     a( i, i+1 ), lda ) )
 
  168               CALL zlacgv( n-i, a( i, i+1 ), lda )
 
  169               CALL zgemv( 
'No transpose', i-1, n-i, one, a( 1,
 
  171     $                     lda, a( i, i+1 ), lda, dcmplx( aii ),
 
  173               CALL zlacgv( n-i, a( i, i+1 ), lda )
 
  175               CALL zdscal( i, aii, a( 1, i ), 1 )
 
  184            aii = dble( a( i, i ) )
 
  186               a( i, i ) = aii*aii + dble( zdotc( n-i, a( i+1, i ),
 
  189               CALL zlacgv( i-1, a( i, 1 ), lda )
 
  190               CALL zgemv( 
'Conjugate transpose', n-i, i-1, one,
 
  191     $                     a( i+1, 1 ), lda, a( i+1, i ), 1,
 
  192     $                     dcmplx( aii ), a( i, 1 ), lda )
 
  193               CALL zlacgv( i-1, a( i, 1 ), lda )
 
  195               CALL zdscal( i, aii, a( i, 1 ), lda )
 
 
subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
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...