185      SUBROUTINE ctpqrt( M, N, L, NB, A, LDA, B, LDB, T, LDT, WORK,
 
  193      INTEGER INFO, LDA, LDB, LDT, N, M, L, NB
 
  196      COMPLEX A( LDA, * ), B( LDB, * ), T( LDT, * ), WORK( * )
 
  203      INTEGER    I, IB, LB, MB, IINFO
 
  215      ELSE IF( n.LT.0 ) 
THEN 
  217      ELSE IF( l.LT.0 .OR. (l.GT.min(m,n) .AND. min(m,n).GE.0)) 
THEN 
  219      ELSE IF( nb.LT.1 .OR. (nb.GT.n .AND. n.GT.0)) 
THEN 
  221      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  223      ELSE IF( ldb.LT.max( 1, m ) ) 
THEN 
  225      ELSE IF( ldt.LT.nb ) 
THEN 
  229         CALL xerbla( 
'CTPQRT', -info )
 
  235      IF( m.EQ.0 .OR. n.EQ.0 ) 
RETURN 
  241         ib = min( n-i+1, nb )
 
  242         mb = min( m-l+i+ib-1, m )
 
  249         CALL ctpqrt2( mb, ib, lb, a(i,i), lda, b( 1, i ), ldb,
 
  250     $                 t(1, i ), ldt, iinfo )
 
  255            CALL ctprfb( 
'L', 
'C', 
'F', 
'C', mb, n-i-ib+1, ib, lb,
 
  256     $                    b( 1, i ), ldb, t( 1, i ), ldt,
 
  257     $                    a( i, i+ib ), lda, b( 1, i+ib ), ldb,
 
 
subroutine ctpqrt2(m, n, l, a, lda, b, ldb, t, ldt, info)
CTPQRT2 computes a QR factorization of a real or complex "triangular-pentagonal" matrix,...
 
subroutine ctpqrt(m, n, l, nb, a, lda, b, ldb, t, ldt, work, info)
CTPQRT
 
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,...