187 SUBROUTINE dtpqrt( M, N, L, NB, A, LDA, B, LDB, T, LDT, WORK,
195 INTEGER INFO, LDA, LDB, LDT, N, M, L, NB
198 DOUBLE PRECISION A( LDA, * ), B( LDB, * ), T( LDT, * ), WORK( * )
205 INTEGER I, IB, LB, MB, 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( nb.LT.1 .OR. (nb.GT.n .AND. n.GT.0))
THEN
223 ELSE IF( lda.LT.max( 1, n ) )
THEN
225 ELSE IF( ldb.LT.max( 1, m ) )
THEN
227 ELSE IF( ldt.LT.nb )
THEN
231 CALL xerbla(
'DTPQRT', -info )
237 IF( m.EQ.0 .OR. n.EQ.0 )
RETURN
243 ib = min( n-i+1, nb )
244 mb = min( m-l+i+ib-1, m )
251 CALL dtpqrt2( mb, ib, lb, a(i,i), lda, b( 1, i ), ldb,
252 $ t(1, i ), ldt, iinfo )
257 CALL dtprfb(
'L',
'T',
'F',
'C', mb, n-i-ib+1, ib, lb,
258 $ b( 1, i ), ldb, t( 1, i ), ldt,
259 $ a( i, i+ib ), lda, b( 1, i+ib ), ldb,
subroutine xerbla(srname, info)
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,...
subroutine dtpqrt(m, n, l, nb, a, lda, b, ldb, t, ldt, work, info)
DTPQRT
subroutine dtprfb(side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
DTPRFB applies a real "triangular-pentagonal" block reflector to a real matrix, which is composed of ...