148 SUBROUTINE sopmtr( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK,
156 CHARACTER SIDE, TRANS, UPLO
157 INTEGER INFO, LDC, M, N
160 REAL AP( * ), ( LDC, * ), TAU( * ), WORK( * )
167 parameter( one = 1.0e+0 )
170 LOGICAL FORWRD, LEFT, NOTRAN, UPPER
171 INTEGER , I1, I2, I3, IC, II, JC, MI, NI, NQ
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, 't
' ) ) THEN
206.LT.
ELSE IF( M0 ) THEN
208.LT.
ELSE IF( N0 ) THEN
210.LT.
ELSE IF( LDCMAX( 1, M ) ) THEN
214 CALL XERBLA( 'sopmtr', -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
265 CALL SLARF( SIDE, MI, NI, AP( II-I+1 ), 1, TAU( I ), C, LDC,
279.AND..NOT..OR.
FORWRD = ( LEFT NOTRAN )
280.NOT..AND.
$ ( LEFT NOTRAN )
291 II = NQ*( NQ+1 ) / 2 - 1
321 CALL SLARF( SIDE, MI, NI, AP( II ), 1, TAU( I ),
322 $ C( IC, JC ), LDC, WORK )
subroutine slarf(side, m, n, v, incv, tau, c, ldc, work)
SLARF applies an elementary reflector to a general rectangular matrix.
subroutine sopmtr(side, uplo, trans, m, n, ap, tau, c, ldc, work, info)
SOPMTR