212 SUBROUTINE ztpmlqt( SIDE, TRANS, M, N, K, L, MB, V, LDV, T, LDT,
213 $ A, LDA, B, LDB, WORK, INFO )
220 CHARACTER SIDE, TRANS
221 INTEGER INFO, K, LDV, LDA, LDB, , N, L, MB, LDT
224 COMPLEX*16 V( LDV, * ), A( LDA, * ), B( LDB, * ),
225 $ t( ldt, * ), work( * )
232 LOGICAL LEFT, RIGHT, TRAN, NOTRAN
233 INTEGER , IB, NB, LB, KF, LDAQ
250 left = lsame( side,
'L' )
251 right = lsame( side,
'R' )
252 tran = lsame( trans,
'C' )
253 notran = lsame( trans,
'N' )
257 ELSE IF ( right )
THEN
260 IF( .NOT.left .AND. .NOT.right )
THEN
262 ELSE IF( .NOT.tran .AND. .NOT.notran )
THEN
264 ELSE IF( m.LT.0 )
THEN
266 ELSE IF( n.LT.0 )
THEN
268 ELSE IF( k.LT.0 )
THEN
270 ELSE IF( l.LT.0 .OR. l.GT.k )
THEN
272 ELSE IF( mb.LT.1 .OR. (mb.GT.k .AND. k.GT.0) )
THEN
274 ELSE IF( ldv.LT.k )
THEN
276 ELSE IF( ldt.LT.mb )
THEN
278 ELSE IF( lda.LT.ldaq )
THEN
280 ELSE IF( ldb.LT.
max( 1, m ) )
THEN
285 CALL xerbla(
'ZTPMLQT', -info )
291 IF( m.EQ.0 .OR. n.EQ.0 .OR. k.EQ.0 )
RETURN
293 IF( left .AND. notran )
THEN
296 ib =
min( mb, k-i+1 )
297 nb =
min( m-l+i+ib-1, m )
303 CALL ztprfb(
'L', 'c
', 'f
', 'r
', NB, N, IB, LB,
304 $ V( I, 1 ), LDV, T( 1, I ), LDT,
305 $ A( I, 1 ), LDA, B, LDB, WORK, IB )
308.AND.
ELSE IF( RIGHT TRAN ) THEN
311 IB = MIN( MB, K-I+1 )
312 NB = MIN( N-L+I+IB-1, N )
318 CALL ZTPRFB( 'r
', 'n
', 'f
', 'r
', M, NB, IB, LB,
319 $ V( I, 1 ), LDV, T( 1, I ), LDT,
320 $ A( 1, I ), LDA, B, LDB, WORK, M )
323.AND.
ELSE IF( LEFT TRAN ) THEN
327 IB = MIN( MB, K-I+1 )
328 NB = MIN( M-L+I+IB-1, M )
334 CALL ZTPRFB( 'l
', 'n
', 'f
', 'r
', NB, N, IB, LB,
335 $ V( I, 1 ), LDV, T( 1, I ), LDT,
336 $ A( I, 1 ), LDA, B, LDB, WORK, IB )
339.AND.
ELSE IF( RIGHT NOTRAN ) THEN
343 IB = MIN( MB, K-I+1 )
344 NB = MIN( N-L+I+IB-1, N )
350 CALL ZTPRFB( 'r
', 'c
', 'f
', 'r
', M, NB, IB, LB,
351 $ V( I, 1 ), LDV, T( 1, I ), LDT,
352 $ A( 1, I ), LDA, B, LDB, WORK, M )
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 ztpmlqt(side, trans, m, n, k, l, mb, v, ldv, t, ldt, a, lda, b, ldb, work, info)
ZTPMLQT