216 SUBROUTINE ztpmlqt( SIDE, TRANS, M, N, K, L, MB, V, LDV, T, LDT,
217 $ a, lda, b, ldb, work, info )
225 CHARACTER SIDE, TRANS
226 INTEGER INFO, K, LDV, LDA, LDB, M, N, L, MB, LDT
229 COMPLEX*16 V( ldv, * ), A( lda, * ), B( ldb, * ),
230 $ t( ldt, * ), work( * )
237 LOGICAL LEFT, RIGHT, TRAN, NOTRAN
238 INTEGER I, IB, NB, LB, KF, LDAQ
255 left = lsame( side,
'L' )
256 right = lsame( side,
'R' )
257 tran = lsame( trans,
'C' )
258 notran = lsame( trans,
'N' )
262 ELSE IF ( right )
THEN
265 IF( .NOT.left .AND. .NOT.right )
THEN
267 ELSE IF( .NOT.tran .AND. .NOT.notran )
THEN
269 ELSE IF( m.LT.0 )
THEN
271 ELSE IF( n.LT.0 )
THEN
273 ELSE IF( k.LT.0 )
THEN
275 ELSE IF( l.LT.0 .OR. l.GT.k )
THEN
277 ELSE IF( mb.LT.1 .OR. (mb.GT.k .AND. k.GT.0) )
THEN
279 ELSE IF( ldv.LT.k )
THEN
281 ELSE IF( ldt.LT.mb )
THEN
283 ELSE IF( lda.LT.ldaq )
THEN
285 ELSE IF( ldb.LT.max( 1, m ) )
THEN
290 CALL xerbla(
'ZTPMLQT', -info )
296 IF( m.EQ.0 .OR. n.EQ.0 .OR. k.EQ.0 )
RETURN
298 IF( left .AND. notran )
THEN
301 ib = min( mb, k-i+1 )
302 nb = min( m-l+i+ib-1, m )
308 CALL ztprfb(
'L',
'C',
'F',
'R', nb, n, ib, lb,
309 $ v( i, 1 ), ldv, t( 1, i ), ldt,
310 $ a( i, 1 ), lda, b, ldb, work, ib )
313 ELSE IF( right .AND. tran )
THEN
316 ib = min( mb, k-i+1 )
317 nb = min( n-l+i+ib-1, n )
323 CALL ztprfb(
'R',
'N',
'F',
'R', m, nb, ib, lb,
324 $ v( i, 1 ), ldv, t( 1, i ), ldt,
325 $ a( 1, i ), lda, b, ldb, work, m )
328 ELSE IF( left .AND. tran )
THEN
332 ib = min( mb, k-i+1 )
333 nb = min( m-l+i+ib-1, m )
339 CALL ztprfb(
'L',
'N',
'F',
'R', nb, n, ib, lb,
340 $ v( i, 1 ), ldv, t( 1, i ), ldt,
341 $ a( i, 1 ), lda, b, ldb, work, ib )
344 ELSE IF( right .AND. notran )
THEN
348 ib = min( mb, k-i+1 )
349 nb = min( n-l+i+ib-1, n )
355 CALL ztprfb(
'R',
'C',
'F',
'R', m, nb, ib, lb,
356 $ v( i, 1 ), ldv, t( 1, i ), ldt,
357 $ a( 1, i ), lda, b, ldb, work, m )
subroutine ztpmlqt(SIDE, TRANS, M, N, K, L, MB, V, LDV, T, LDT, A, LDA, B, LDB, WORK, INFO)
ZTPMLQT
subroutine ztprfb(SIDE, TRANS, DIRECT, STOREV, M, N, K, L, V, LDV, T, LDT, A, LDA, B, LDB, WORK, LDWORK)
ZTPRFB applies a real or complex "triangular-pentagonal" blocked reflector to a real or complex matri...
subroutine xerbla(SRNAME, INFO)
XERBLA