152 SUBROUTINE dlatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
161 INTEGER INCV, LDC, M, N
165 DOUBLE PRECISION C1( LDC, * ), C2( LDC, * ), V( * ), WORK( * )
171 DOUBLE PRECISION ONE, ZERO
172 parameter( one = 1.0d+0, zero = 0.0d+0 )
186 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
189 IF( lsame( side,
'L' ) )
THEN
193 CALL dcopy( n, c1, ldc, work, 1 )
194 CALL dgemv(
'Transpose', m-1, n, one, c2, ldc, v, incv, one,
200 CALL daxpy( n, -tau, work, 1, c1, ldc )
201 CALL dger( m-1, n, -tau, v, incv, work, 1, c2, ldc )
203 ELSE IF( lsame( side,
'R' ) )
THEN
207 CALL dcopy( m, c1, 1, work, 1 )
208 CALL dgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv, one,
213 CALL daxpy( m, -tau, work, 1, c1, 1 )
214 CALL dger( m, n-1, -tau, work, 1, v, incv, c2, ldc )