120      SUBROUTINE zgerq2( M, N, A, LDA, TAU, WORK, INFO )
 
  127      INTEGER            INFO, LDA, M, N
 
  130      COMPLEX*16         A( LDA, * ), TAU( * ), WORK( * )
 
  137      parameter( one = ( 1.0d+0, 0.0d+0 ) )
 
  155      ELSE IF( n.LT.0 ) 
THEN 
  157      ELSE IF( lda.LT.max( 1, m ) ) 
THEN 
  161         CALL xerbla( 
'ZGERQ2', -info )
 
  172         CALL zlacgv( n-k+i, a( m-k+i, 1 ), lda )
 
  173         CALL zlarfg( n-k+i, a( m-k+i, n-k+i ), a( m-k+i, 1 ), lda,
 
  178         CALL zlarf1l( 
'Right', m-k+i-1, n-k+i, a( m-k+i, 1 ), lda,
 
  179     $                 tau( i ), a, lda, work )
 
  180         CALL zlacgv( n-k+i-1, a( m-k+i, 1 ), lda )
 
 
subroutine zgerq2(m, n, a, lda, tau, work, info)
ZGERQ2 computes the RQ factorization of a general rectangular matrix using an unblocked algorithm.
subroutine zlarfg(n, alpha, x, incx, tau)
ZLARFG generates an elementary reflector (Householder matrix).
subroutine zlarf1l(side, m, n, v, incv, tau, c, ldc, work)
ZLARF1L applies an elementary reflector to a general rectangular