146 SUBROUTINE slarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
155 INTEGER INCV, L, LDC, M, N
159 REAL C( ldc, * ), V( * ), WORK( * )
166 parameter ( one = 1.0e+0, zero = 0.0e+0 )
177 IF( lsame( side,
'L' ) )
THEN
181 IF( tau.NE.zero )
THEN
185 CALL scopy( n, c, ldc, work, 1 )
189 CALL sgemv(
'Transpose', l, n, one, c( m-l+1, 1 ), ldc, v,
190 $ incv, one, work, 1 )
194 CALL saxpy( n, -tau, work, 1, c, ldc )
199 CALL sger( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
207 IF( tau.NE.zero )
THEN
211 CALL scopy( m, c, 1, work, 1 )
215 CALL sgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
216 $ v, incv, one, work, 1 )
220 CALL saxpy( m, -tau, work, 1, c, 1 )
225 CALL sger( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine sger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
SGER
subroutine sgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
SGEMV
subroutine slarz(SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK)
SLARZ applies an elementary reflector (as returned by stzrzf) to a general matrix.
subroutine saxpy(N, SA, SX, INCX, SY, INCY)
SAXPY
subroutine scopy(N, SX, INCX, SY, INCY)
SCOPY