126      SUBROUTINE cgelq2( M, N, A, LDA, TAU, WORK, INFO )
 
  133      INTEGER            INFO, LDA, M, N
 
  136      COMPLEX            A( LDA, * ), TAU( * ), WORK( * )
 
  157      ELSE IF( n.LT.0 ) 
THEN 
  159      ELSE IF( lda.LT.max( 1, m ) ) 
THEN 
  163         CALL xerbla( 
'CGELQ2', -info )
 
  173         CALL clacgv( n-i+1, a( i, i ), lda )
 
  174         CALL clarfg( n-i+1, a( i, i ), a( i, min( i+1, n ) ), lda,
 
  180            CALL clarf1f( 
'Right', m-i, n-i+1, a( i, i ), lda,
 
  181     $                    tau( i ), a( i+1, i ), lda, work )
 
  183         CALL clacgv( n-i+1, a( i, i ), lda )
 
 
subroutine clarf1f(side, m, n, v, incv, tau, c, ldc, work)
CLARF1F applies an elementary reflector to a general rectangular
subroutine cgelq2(m, n, a, lda, tau, work, info)
CGELQ2 computes the LQ factorization of a general rectangular matrix using an unblocked algorithm.
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).