187 SUBROUTINE ztplqt( M, N, L, MB, A, LDA, B, LDB, T, LDT, WORK,
195 INTEGER INFO, LDA, LDB, LDT, N, M, L, MB
198 COMPLEX*16 A( LDA, * ), B( LDB, * ), T( LDT, * ), WORK( * )
205 INTEGER I, IB, LB, NB, IINFO
217 ELSE IF( n.LT.0 )
THEN
219 ELSE IF( l.LT.0 .OR. (l.GT.min(m,n) .AND. min(m,n).GE.0))
THEN
221 ELSE IF( mb.LT.1 .OR. (mb.GT.m .AND. m.GT.0))
THEN
223 ELSE IF( lda.LT.max( 1, m ) )
THEN
225 ELSE IF( ldb.LT.max( 1, m ) )
THEN
227 ELSE IF( ldt.LT.mb )
THEN
231 CALL xerbla(
'ZTPLQT', -info )
237 IF( m.EQ.0 .OR. n.EQ.0 )
RETURN
243 ib = min( m-i+1, mb )
244 nb = min( n-l+i+ib-1, n )
251 CALL ztplqt2( ib, nb, lb, a(i,i), lda, b( i, 1 ), ldb,
252 $ t(1, i ), ldt, iinfo )
257 CALL ztprfb(
'R',
'N',
'F',
'R', m-i-ib+1, nb, ib, lb,
258 $ b( i, 1 ), ldb, t( 1, i ), ldt,
259 $ a( i+ib, i ), lda, b( i+ib, 1 ), ldb,
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztprfb(SIDE, TRANS, DIRECT, STOREV, M, N, K, L, V, LDV, T, LDT, A, LDA, B, LDB, WORK, LDWORK)
ZTPRFB applies a complex "triangular-pentagonal" block reflector to a complex matrix,...
subroutine ztplqt(M, N, L, MB, A, LDA, B, LDB, T, LDT, WORK, INFO)
ZTPLQT
subroutine ztplqt2(M, N, L, A, LDA, B, LDB, T, LDT, INFO)
ZTPLQT2 computes a LQ factorization of a real or complex "triangular-pentagonal" matrix,...