120      SUBROUTINE cgeql2( M, N, A, LDA, TAU, WORK, INFO )
 
  127      INTEGER            INFO, LDA, M, N
 
  130      COMPLEX            A( LDA, * ), TAU( * ), WORK( * )
 
  142      INTRINSIC          conjg, max, min
 
  151      ELSE IF( n.LT.0 ) 
THEN 
  153      ELSE IF( lda.LT.max( 1, m ) ) 
THEN 
  157         CALL xerbla( 
'CGEQL2', -info )
 
  168         CALL clarfg( m-k+i, a( m-k+i, n-k+i ), a( 1, n-k+i ), 1,
 
  173         CALL clarf1l( 
'Left', m-k+i, n-k+i-1, a( 1, n-k+i ), 1,
 
  174     $                 conjg( tau( i ) ), a, lda, work )
 
 
subroutine xerbla(srname, info)
 
subroutine clarf1l(side, m, n, v, incv, tau, c, ldc, work)
CLARF1L applies an elementary reflector to a general rectangular
 
subroutine cgeql2(m, n, a, lda, tau, work, info)
CGEQL2 computes the QL factorization of a general rectangular matrix using an unblocked algorithm.
 
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).