144 SUBROUTINE slarz( SIDE, M, N, L, V, INCV, TAU, C, LDC, WORK )
152 INTEGER INCV, L, LDC, M, N
156 REAL C( LDC, * ), V( * ), WORK( * )
163 parameter( one = 1.0e+0, zero = 0.0e+0 )
174 IF( lsame( side,
'L' ) )
THEN
178 IF( tau.NE.zero )
THEN
182 CALL scopy( n, c, ldc, work, 1 )
186 CALL sgemv(
'Transpose', l, n, one, c( m-l+1, 1 ), ldc, v,
187 $ incv, one, work, 1 )
191 CALL saxpy( n, -tau, work, 1, c, ldc )
196 CALL sger( l, n, -tau, v, incv, work, 1, c( m-l+1, 1 ),
204 IF( tau.NE.zero )
THEN
208 CALL scopy( m, c, 1, work, 1 )
212 CALL sgemv(
'No transpose', m, l, one, c( 1, n-l+1 ), ldc,
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 saxpy(n, sa, sx, incx, sy, incy)
SAXPY
subroutine scopy(n, sx, incx, sy, incy)
SCOPY
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.