212 SUBROUTINE stpmqrt( SIDE, TRANS, M, N, K, L, NB, V, LDV, T,
214 $ A, LDA, B, LDB, WORK, INFO )
221 CHARACTER SIDE, TRANS
222 INTEGER INFO, K, LDV, LDA, LDB, M, N, L, NB, LDT
225 REAL V( LDV, * ), A( LDA, * ), B( LDB, * ), T( LDT, * ),
233 LOGICAL LEFT, RIGHT, TRAN, NOTRAN
234 INTEGER I, IB, MB, LB, KF, LDAQ, LDVQ
251 left = lsame( side,
'L' )
252 right = lsame( side,
'R' )
253 tran = lsame( trans,
'T' )
254 notran = lsame( trans,
'N' )
259 ELSE IF ( right )
THEN
263 IF( .NOT.left .AND. .NOT.right )
THEN
265 ELSE IF( .NOT.tran .AND. .NOT.notran )
THEN
267 ELSE IF( m.LT.0 )
THEN
269 ELSE IF( n.LT.0 )
THEN
271 ELSE IF( k.LT.0 )
THEN
273 ELSE IF( l.LT.0 .OR. l.GT.k )
THEN
275 ELSE IF( nb.LT.1 .OR. (nb.GT.k .AND. k.GT.0) )
THEN
277 ELSE IF( ldv.LT.ldvq )
THEN
279 ELSE IF( ldt.LT.nb )
THEN
281 ELSE IF( lda.LT.ldaq )
THEN
283 ELSE IF( ldb.LT.max( 1, m ) )
THEN
288 CALL xerbla(
'STPMQRT', -info )
294 IF( m.EQ.0 .OR. n.EQ.0 .OR. k.EQ.0 )
RETURN
296 IF( left .AND. tran )
THEN
299 ib = min( nb, k-i+1 )
300 mb = min( m-l+i+ib-1, m )
306 CALL stprfb(
'L',
'T',
'F',
'C', mb, n, ib, lb,
307 $ v( 1, i ), ldv, t( 1, i ), ldt,
308 $ a( i, 1 ), lda, b, ldb, work, ib )
311 ELSE IF( right .AND. notran )
THEN
314 ib = min( nb, k-i+1 )
315 mb = min( n-l+i+ib-1, n )
321 CALL stprfb(
'R',
'N',
'F',
'C', m, mb, ib, lb,
322 $ v( 1, i ), ldv, t( 1, i ), ldt,
323 $ a( 1, i ), lda, b, ldb, work, m )
326 ELSE IF( left .AND. notran )
THEN
330 ib = min( nb, k-i+1 )
331 mb = min( m-l+i+ib-1, m )
337 CALL stprfb(
'L',
'N',
'F',
'C', mb, n, ib, lb,
338 $ v( 1, i ), ldv, t( 1, i ), ldt,
339 $ a( i, 1 ), lda, b, ldb, work, ib )
342 ELSE IF( right .AND. tran )
THEN
346 ib = min( nb, k-i+1 )
347 mb = min( n-l+i+ib-1, n )
353 CALL stprfb(
'R',
'T',
'F',
'C', m, mb, ib, lb,
354 $ v( 1, i ), ldv, t( 1, i ), ldt,
355 $ a( 1, i ), lda, b, ldb, work, m )
subroutine stpmqrt(side, trans, m, n, k, l, nb, v, ldv, t, ldt, a, lda, b, ldb, work, info)
STPMQRT
subroutine stprfb(side, trans, direct, storev, m, n, k, l, v, ldv, t, ldt, a, lda, b, ldb, work, ldwork)
STPRFB applies a real "triangular-pentagonal" block reflector to a real matrix, which is composed of ...