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 scopy(N, SX, INCX, SY, INCY)
SCOPY
subroutine saxpy(N, SA, SX, INCX, SY, INCY)
SAXPY
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.