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