216 SUBROUTINE ztpmqrt( SIDE, TRANS, M, N, K, L, NB, 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, nb, ldt
229 COMPLEX*16 v( ldv, * ), a( lda, * ),
b( ldb, * ), t( ldt, * ),
237 LOGICAL left, right, tran, notran
238 INTEGER i, ib, mb, lb, kf, ldaq, ldvq
255 left =
lsame( side,
'L' )
256 right =
lsame( side,
'R' )
257 tran =
lsame( trans,
'C' )
258 notran =
lsame( trans,
'N' )
263 ELSE IF ( right )
THEN
267 IF( .NOT.left .AND. .NOT.right )
THEN
269 ELSE IF( .NOT.tran .AND. .NOT.notran )
THEN
271 ELSE IF( m.LT.0 )
THEN
273 ELSE IF( n.LT.0 )
THEN
275 ELSE IF( k.LT.0 )
THEN
277 ELSE IF( l.LT.0 .OR. l.GT.k )
THEN
279 ELSE IF( nb.LT.1 .OR. (nb.GT.k .AND. k.GT.0) )
THEN
281 ELSE IF( ldv.LT.ldvq )
THEN
283 ELSE IF( ldt.LT.nb )
THEN
285 ELSE IF( lda.LT.ldaq )
THEN
287 ELSE IF( ldb.LT.max( 1, m ) )
THEN
292 CALL
xerbla(
'ZTPMQRT', -info )
298 IF( m.EQ.0 .OR. n.EQ.0 .OR. k.EQ.0 )
RETURN
300 IF( left .AND. tran )
THEN
303 ib = min( nb, k-i+1 )
304 mb = min( m-l+i+ib-1, m )
310 CALL
ztprfb(
'L',
'C',
'F',
'C', mb, n, ib, lb,
311 $ v( 1, i ), ldv, t( 1, i ), ldt,
312 $ a( i, 1 ), lda,
b, ldb, work, ib )
315 ELSE IF( right .AND. notran )
THEN
318 ib = min( nb, k-i+1 )
319 mb = min( n-l+i+ib-1, n )
325 CALL
ztprfb(
'R',
'N',
'F',
'C', m, mb, ib, lb,
326 $ v( 1, i ), ldv, t( 1, i ), ldt,
327 $ a( 1, i ), lda,
b, ldb, work, m )
330 ELSE IF( left .AND. notran )
THEN
334 ib = min( nb, k-i+1 )
335 mb = min( m-l+i+ib-1, m )
341 CALL
ztprfb(
'L',
'N',
'F',
'C', mb, n, ib, lb,
342 $ v( 1, i ), ldv, t( 1, i ), ldt,
343 $ a( i, 1 ), lda,
b, ldb, work, ib )
346 ELSE IF( right .AND. tran )
THEN
350 ib = min( nb, k-i+1 )
351 mb = min( n-l+i+ib-1, n )
357 CALL
ztprfb(
'R',
'C',
'F',
'C', m, mb, ib, lb,
358 $ v( 1, i ), ldv, t( 1, i ), ldt,
359 $ a( 1, i ), lda,
b, ldb, work, m )
LOGICAL function lsame(CA, CB)
LSAME
subroutine zlarfb(SIDE, TRANS, DIRECT, STOREV, M, N, K, V, LDV, T, LDT, C, LDC, WORK, LDWORK)
ZLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix...
subroutine xerbla(SRNAME, INFO)
XERBLA
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
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 ztpmqrt(SIDE, TRANS, M, N, K, L, NB, V, LDV, T, LDT, A, LDA, B, LDB, WORK, INFO)
ZTPMQRT