189 SUBROUTINE dtpqrt( M, N, L, NB, A, LDA, B, LDB, T, LDT, WORK,
198 INTEGER INFO, LDA, LDB, LDT, N, M, L, NB
201 DOUBLE PRECISION A( lda, * ), B( ldb, * ), T( ldt, * ), WORK( * )
208 INTEGER I, IB, LB, MB, IINFO
220 ELSE IF( n.LT.0 )
THEN
222 ELSE IF( l.LT.0 .OR. (l.GT.min(m,n) .AND. min(m,n).GE.0))
THEN
224 ELSE IF( nb.LT.1 .OR. (nb.GT.n .AND. n.GT.0))
THEN
226 ELSE IF( lda.LT.max( 1, n ) )
THEN
228 ELSE IF( ldb.LT.max( 1, m ) )
THEN
230 ELSE IF( ldt.LT.nb )
THEN
234 CALL xerbla(
'DTPQRT', -info )
240 IF( m.EQ.0 .OR. n.EQ.0 )
RETURN
246 ib = min( n-i+1, nb )
247 mb = min( m-l+i+ib-1, m )
254 CALL dtpqrt2( mb, ib, lb, a(i,i), lda, b( 1, i ), ldb,
255 $ t(1, i ), ldt, iinfo )
260 CALL dtprfb(
'L',
'T',
'F',
'C', mb, n-i-ib+1, ib, lb,
261 $ b( 1, i ), ldb, t( 1, i ), ldt,
262 $ a( i, i+ib ), lda, b( 1, i+ib ), ldb,
subroutine dtpqrt(M, N, L, NB, A, LDA, B, LDB, T, LDT, WORK, INFO)
DTPQRT
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dtpqrt2(M, N, L, A, LDA, B, LDB, T, LDT, INFO)
DTPQRT2 computes a QR 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.
subroutine dtprfb(SIDE, TRANS, DIRECT, STOREV, M, N, K, L, V, LDV, T, LDT, A, LDA, B, LDB, WORK, LDWORK)
DTPRFB applies a real or complex "triangular-pentagonal" blocked reflector to a real or complex matri...