142 SUBROUTINE slarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
150 INTEGER INCV, L, LDC, M, N
154 REAL C( LDC, * ), V( * ), WORK( * )
161 parameter( one = 1.0e+0, zero = 0.0e+0 )
172 IF( lsame( side,
'L' ) )
THEN
176 IF( tau.NE.zero )
THEN
180 CALL scopy( n, c, ldc, work, 1 )
184 CALL sgemv(
'Transpose', l, n, one, c( m-l+1, 1 ), ldc,
186 $ incv, one, work, 1 )
190 CALL saxpy( n, -tau, work, 1, c, ldc )
195 CALL sger( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
203 IF( tau.NE.zero )
THEN
207 CALL scopy( m, c, 1, work, 1 )
211 CALL sgemv(
'No transpose', m, l, one, c( 1, n-l+1 ),
213 $ v, incv, one, work, 1 )
217 CALL saxpy( m, -tau, work, 1, c, 1 )
222 CALL sger( m, l, -tau, work, 1, v, incv, c( 1, n-l+1 ),
subroutine sgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
SGEMV
subroutine sger(m, n, alpha, x, incx, y, incy, a, lda)
SGER
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.