111      SUBROUTINE cungr2( M, N, K, A, LDA, TAU, WORK, INFO )
 
  118      INTEGER            INFO, K, LDA, M, N
 
  121      COMPLEX            A( LDA, * ), TAU( * ), WORK( * )
 
  128      parameter( one = ( 1.0e+0, 0.0e+0 ),
 
  129     $                   zero = ( 0.0e+0, 0.0e+0 ) )
 
  147      ELSE IF( n.LT.m ) 
THEN 
  149      ELSE IF( k.LT.0 .OR. k.GT.m ) 
THEN 
  151      ELSE IF( lda.LT.max( 1, m ) ) 
THEN 
  155         CALL xerbla( 
'CUNGR2', -info )
 
  172            IF( j.GT.n-m .AND. j.LE.n-k )
 
  173     $         a( m-n+j, j ) = one
 
  182         CALL clacgv( n-m+ii-1, a( ii, 1 ), lda )
 
  183         a( ii, n-m+ii ) = one
 
  184         CALL clarf1l( 
'Right', ii-1, n-m+ii, a( ii, 1 ), lda,
 
  185     $                 conjg( tau( i ) ), a, lda, work )
 
  186         CALL cscal( n-m+ii-1, -tau( i ), a( ii, 1 ), lda )
 
  187         CALL clacgv( n-m+ii-1, a( ii, 1 ), lda )
 
  188         a( ii, n-m+ii ) = one - conjg( tau( i ) )
 
  192         DO 30 l = n - m + ii + 1, n
 
 
subroutine clarf1l(side, m, n, v, incv, tau, c, ldc, work)
CLARF1L applies an elementary reflector to a general rectangular
subroutine cungr2(m, n, k, a, lda, tau, work, info)
CUNGR2 generates all or part of the unitary matrix Q from an RQ factorization determined by cgerqf (u...