125      SUBROUTINE zlarf( SIDE, M, N, V, INCV, TAU, C, LDC, WORK )
 
  133      INTEGER            INCV, LDC, M, N
 
  137      COMPLEX*16         C( LDC, * ), V( * ), WORK( * )
 
  144      parameter( one = ( 1.0d+0, 0.0d+0 ),
 
  145     $                   zero = ( 0.0d+0, 0.0d+0 ) )
 
  149      INTEGER            I, LASTV, LASTC
 
  156      INTEGER            ILAZLR, ILAZLC
 
  157      EXTERNAL           lsame, ilazlr, ilazlc
 
  161      applyleft = lsame( side, 
'L' )
 
  164      IF( tau.NE.zero ) 
THEN 
  173            i = 1 + (lastv-1) * incv
 
  178         DO WHILE( lastv.GT.0 .AND. v( i ).EQ.zero )
 
  184            lastc = ilazlc(lastv, n, c, ldc)
 
  187            lastc = ilazlr(m, lastv, c, ldc)
 
  196         IF( lastv.GT.0 ) 
THEN 
  200            CALL zgemv( 
'Conjugate transpose', lastv, lastc, one,
 
  201     $           c, ldc, v, incv, zero, work, 1 )
 
  205            CALL zgerc( lastv, lastc, -tau, v, incv, work, 1, c,
 
  212         IF( lastv.GT.0 ) 
THEN 
  216            CALL zgemv( 
'No transpose', lastc, lastv, one, c, ldc,
 
  217     $           v, incv, zero, work, 1 )
 
  221            CALL zgerc( lastc, lastv, -tau, work, 1, v, incv, c,
 
 
subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
subroutine zgerc(m, n, alpha, x, incx, y, incy, a, lda)
ZGERC
subroutine zlarf(side, m, n, v, incv, tau, c, ldc, work)
ZLARF applies an elementary reflector to a general rectangular matrix.