172      SUBROUTINE ctplqt( M, N, L, MB, A, LDA, B, LDB, T, LDT, WORK,
 
  180      INTEGER     INFO, LDA, LDB, LDT, N, M, L, MB
 
  183      COMPLEX     A( LDA, * ), B( LDB, * ), T( LDT, * ), WORK( * )
 
  190      INTEGER    I, IB, LB, NB, IINFO
 
  202      ELSE IF( n.LT.0 ) 
THEN 
  204      ELSE IF( l.LT.0 .OR. (l.GT.min(m,n) .AND. min(m,n).GE.0)) 
THEN 
  206      ELSE IF( mb.LT.1 .OR. (mb.GT.m .AND. m.GT.0)) 
THEN 
  208      ELSE IF( lda.LT.max( 1, m ) ) 
THEN 
  210      ELSE IF( ldb.LT.max( 1, m ) ) 
THEN 
  212      ELSE IF( ldt.LT.mb ) 
THEN 
  216         CALL xerbla( 
'CTPLQT', -info )
 
  222      IF( m.EQ.0 .OR. n.EQ.0 ) 
RETURN 
  228         ib = min( m-i+1, mb )
 
  229         nb = min( n-l+i+ib-1, n )
 
  236         CALL ctplqt2( ib, nb, lb, a(i,i), lda, b( i, 1 ), ldb,
 
  237     $                 t(1, i ), ldt, iinfo )
 
  242            CALL ctprfb( 
'R', 
'N', 
'F', 
'R', m-i-ib+1, nb, ib, lb,
 
  243     $                    b( i, 1 ), ldb, t( 1, i ), ldt,
 
  244     $                    a( i+ib, i ), lda, b( i+ib, 1 ), ldb,
 
 
subroutine ctplqt2(m, n, l, a, lda, b, ldb, t, ldt, info)
CTPLQT2
 
subroutine ctplqt(m, n, l, mb, a, lda, b, ldb, t, ldt, work, info)
CTPLQT
 
subroutine ctprfb(side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
CTPRFB applies a complex "triangular-pentagonal" block reflector to a complex matrix,...