152 SUBROUTINE slatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
161 INTEGER INCV, LDC, M, N
165 REAL C1( ldc, * ), C2( ldc, * ), V( * ), WORK( * )
172 parameter ( one = 1.0e+0, zero = 0.0e+0 )
186 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
189 IF( lsame( side,
'L' ) )
THEN
193 CALL scopy( n, c1, ldc, work, 1 )
194 CALL sgemv(
'Transpose', m-1, n, one, c2, ldc, v, incv, one,
200 CALL saxpy( n, -tau, work, 1, c1, ldc )
201 CALL sger( m-1, n, -tau, v, incv, work, 1, c2, ldc )
203 ELSE IF( lsame( side,
'R' ) )
THEN
207 CALL scopy( m, c1, 1, work, 1 )
208 CALL sgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv, one,
213 CALL saxpy( m, -tau, work, 1, c1, 1 )
214 CALL sger( m, n-1, -tau, work, 1, v, incv, c2, ldc )
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 slatzm(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
SLATZM
subroutine saxpy(N, SA, SX, INCX, SY, INCY)
SAXPY
subroutine scopy(N, SX, INCX, SY, INCY)
SCOPY