148 SUBROUTINE zupmtr( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK,
156 CHARACTER SIDE, TRANS, UPLO
160 COMPLEX*16 AP( * ), C( LDC, * ), ( * ), WORK( * )
167 parameter( one = ( 1.0d+0, 0.0d+0 ) )
170 LOGICAL FORWRD, LEFT, NOTRAN, UPPER
171 INTEGER I, I1, I2, I3, IC, II, , MI, NI, NQ
182 INTRINSIC dconjg,
max
189 left = lsame( side,
'L' )
190 notran = lsame( trans,
'N' )
191 upper = lsame( uplo, 'u
' )
200.NOT..AND..NOT.
IF( LEFT LSAME( SIDE, 'r
' ) ) THEN
202.NOT..AND..NOT.
ELSE IF( UPPER LSAME( UPLO, 'l
' ) ) THEN
204.NOT..AND..NOT.
ELSE IF( NOTRAN LSAME( TRANS, 'c
' ) ) THEN
206.LT.
ELSE IF( M0 ) THEN
208.LT.
ELSE IF( N0 ) THEN
210.LT.
ELSE IF( LDCMAX( 1, M ) ) THEN
214 CALL XERBLA( 'zupmtr', -INFO )
220.EQ..OR..EQ.
IF( M0 N0 )
227.AND..OR.
FORWRD = ( LEFT NOTRAN )
228.NOT..AND..NOT.
$ ( LEFT NOTRAN )
239 II = NQ*( NQ+1 ) / 2 - 1
266 TAUI = DCONJG( TAU( I ) )
270 CALL ZLARF( SIDE, MI, NI, AP( II-I+1 ), 1, TAUI, C, LDC,
284.AND..NOT..OR.
FORWRD = ( LEFT NOTRAN )
285.NOT..AND.
$ ( LEFT NOTRAN )
296 II = NQ*( NQ+1 ) / 2 - 1
329 TAUI = DCONJG( TAU( I ) )
331 CALL ZLARF( SIDE, MI, NI, AP( II ), 1, TAUI, C( IC, JC ),
subroutine zlarf(side, m, n, v, incv, tau, c, ldc, work)
ZLARF applies an elementary reflector to a general rectangular matrix.
subroutine zupmtr(side, uplo, trans, m, n, ap, tau, c, ldc, work, info)
ZUPMTR