135      SUBROUTINE ctzrqf( M, N, A, LDA, TAU, INFO )
 
  142      INTEGER            INFO, LDA, M, N
 
  145      COMPLEX            A( LDA, * ), TAU( * )
 
  152      parameter( cone = ( 1.0e+0, 0.0e+0 ),
 
  153     $                   czero = ( 0.0e+0, 0.0e+0 ) )
 
  160      INTRINSIC          conjg, max, min
 
  173      ELSE IF( n.LT.m ) 
THEN 
  175      ELSE IF( lda.LT.max( 1, m ) ) 
THEN 
  179         CALL xerbla( 
'CTZRQF', -info )
 
  198            a( k, k ) = conjg( a( k, k ) )
 
  199            CALL clacgv( n-m, a( k, m1 ), lda )
 
  201            CALL clarfg( n-m+1, alpha, a( k, m1 ), lda, tau( k ) )
 
  203            tau( k ) = conjg( tau( k ) )
 
  205            IF( tau( k ).NE.czero .AND. k.GT.1 ) 
THEN 
  214               CALL ccopy( k-1, a( 1, k ), 1, tau, 1 )
 
  218               CALL cgemv( 
'No transpose', k-1, n-m, cone,
 
  219     $                     a( 1, m1 ), lda, a( k, m1 ), lda, cone,
 
  225               CALL caxpy( k-1, -conjg( tau( k ) ), tau, 1,
 
  227               CALL cgerc( k-1, n-m, -conjg( tau( k ) ), tau, 1,
 
  228     $                     a( k, m1 ), lda, a( 1, m1 ), lda )
 
 
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
 
subroutine cgerc(m, n, alpha, x, incx, y, incy, a, lda)
CGERC
 
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).