199 SUBROUTINE ctpmlqt( SIDE, TRANS, M, N, K, L, MB, V, LDV, T, LDT,
200 $ A, LDA, B, LDB, WORK, INFO )
207 CHARACTER SIDE, TRANS
208 INTEGER INFO, K, LDV, LDA, LDB, M, N, L, MB, LDT
211 COMPLEX V( LDV, * ), A( LDA, * ), B( LDB, * ),
212 $ t( ldt, * ), work( * )
219 LOGICAL LEFT, RIGHT, TRAN, NOTRAN
220 INTEGER I, IB, NB, LB, KF, LDAQ
237 left = lsame( side,
'L' )
238 right = lsame( side,
'R' )
239 tran = lsame( trans,
'C' )
240 notran = lsame( trans,
'N' )
244 ELSE IF ( right )
THEN
247 IF( .NOT.left .AND. .NOT.right )
THEN
249 ELSE IF( .NOT.tran .AND. .NOT.notran )
THEN
251 ELSE IF( m.LT.0 )
THEN
253 ELSE IF( n.LT.0 )
THEN
255 ELSE IF( k.LT.0 )
THEN
257 ELSE IF( l.LT.0 .OR. l.GT.k )
THEN
259 ELSE IF( mb.LT.1 .OR. (mb.GT.k .AND. k.GT.0) )
THEN
261 ELSE IF( ldv.LT.k )
THEN
263 ELSE IF( ldt.LT.mb )
THEN
265 ELSE IF( lda.LT.ldaq )
THEN
267 ELSE IF( ldb.LT.max( 1, m ) )
THEN
272 CALL xerbla(
'CTPMLQT', -info )
278 IF( m.EQ.0 .OR. n.EQ.0 .OR. k.EQ.0 )
RETURN
280 IF( left .AND. notran )
THEN
283 ib = min( mb, k-i+1 )
284 nb = min( m-l+i+ib-1, m )
290 CALL ctprfb(
'L',
'C',
'F',
'R', nb, n, ib, lb,
291 $ v( i, 1 ), ldv, t( 1, i ), ldt,
292 $ a( i, 1 ), lda, b, ldb, work, ib )
295 ELSE IF( right .AND. tran )
THEN
298 ib = min( mb, k-i+1 )
299 nb = min( n-l+i+ib-1, n )
305 CALL ctprfb(
'R',
'N',
'F',
'R', m, nb, ib, lb,
306 $ v( i, 1 ), ldv, t( 1, i ), ldt,
307 $ a( 1, i ), lda, b, ldb, work, m )
310 ELSE IF( left .AND. tran )
THEN
314 ib = min( mb, k-i+1 )
315 nb = min( m-l+i+ib-1, m )
321 CALL ctprfb(
'L',
'N',
'F',
'R', nb, n, ib, lb,
322 $ v( i, 1 ), ldv, t( 1, i ), ldt,
323 $ a( i, 1 ), lda, b, ldb, work, ib )
326 ELSE IF( right .AND. notran )
THEN
330 ib = min( mb, k-i+1 )
331 nb = min( n-l+i+ib-1, n )
337 CALL ctprfb(
'R',
'C',
'F',
'R', m, nb, ib, lb,
338 $ v( i, 1 ), ldv, t( 1, i ), ldt,
339 $ a( 1, i ), lda, b, ldb, work, m )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ctprfb(SIDE, TRANS, DIRECT, STOREV, M, N, K, L, V, LDV, T, LDT, A, LDA, B, LDB, WORK, LDWORK)
CTPRFB applies a real or complex "triangular-pentagonal" blocked reflector to a real or complex matri...
subroutine ctpmlqt(SIDE, TRANS, M, N, K, L, MB, V, LDV, T, LDT, A, LDA, B, LDB, WORK, INFO)
CTPMLQT