150 SUBROUTINE slatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
158 INTEGER INCV, LDC, M, N
162 REAL C1( LDC, * ), C2( LDC, * ), V( * ), WORK( * )
169 parameter( one = 1.0e+0, zero = 0.0e+0 )
183 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
186 IF( lsame( side,
'L' ) )
THEN
190 CALL scopy( n, c1, ldc, work, 1 )
191 CALL sgemv(
'Transpose', m-1, n, one, c2, ldc, v, incv, one,
197 CALL saxpy( n, -tau, work, 1, c1, ldc )
198 CALL sger( m-1, n, -tau, v, incv, work, 1, c2, ldc )
200 ELSE IF( lsame( side,
'R' ) )
THEN
204 CALL scopy( m, c1, 1, work, 1 )
205 CALL sgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv, one,
210 CALL saxpy( m, -tau, work, 1, c1, 1 )
211 CALL sger( m, n-1, -tau, work, 1, v, incv, c2, ldc )
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 slatzm(side, m, n, v, incv, tau, c1, c2, ldc, work)
SLATZM