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 xerbla(srname, info)
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,...