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 ztplqt(M, N, L, MB, A, LDA, B, LDB, T, LDT, WORK, INFO)
ZTPLQT
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, which is composed of two blocks.
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, which is composed of a triangular block and a pentagonal block, using the compact WY representation for Q.