96      REAL             function 
crzt01( m, n, a, af, lda, tau, work,
 
  104      INTEGER            lda, lwork, m, n
 
  107      COMPLEX            a( lda, * ), af( lda, * ), tau( * ),
 
  115      parameter( zero = 0.0e0, one = 1.0e0 )
 
  132      INTRINSIC          cmplx, max, real
 
  138      IF( lwork.LT.m*n+m ) 
THEN 
  139         CALL xerbla( 
'CRZT01', 8 )
 
  145      IF( m.LE.0 .OR. n.LE.0 )
 
  148      norma = 
clange( 
'One-norm', m, n, a, lda, rwork )
 
  152      CALL claset( 
'Full', m, n, cmplx( zero ), cmplx( zero ), work, m )
 
  155            work( ( j-1 )*m+i ) = af( i, j )
 
  161      CALL cunmrz( 
'Right', 
'No transpose', m, n, m, n-m, af, lda, tau,
 
  162     $             work, m, work( m*n+1 ), lwork-m*n, info )
 
  167         CALL caxpy( m, cmplx( -one ), a( 1, i ), 1,
 
  168     $               work( ( i-1 )*m+1 ), 1 )
 
 
subroutine xerbla(srname, info)
real function crzt01(m, n, a, af, lda, tau, work, lwork)
CRZT01
subroutine caxpy(n, ca, cx, incx, cy, incy)
CAXPY
real function slamch(cmach)
SLAMCH
real function clange(norm, m, n, a, lda, work)
CLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine claset(uplo, m, n, alpha, beta, a, lda)
CLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
subroutine cunmrz(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info)
CUNMRZ