149 SUBROUTINE clatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC,
158 INTEGER INCV, LDC, M, N
162 COMPLEX C1( LDC, * ), C2( LDC, * ), V( * ), WORK( * )
169 parameter( one = ( 1.0e+0, 0.0e+0 ),
170 $ zero = ( 0.0e+0, 0.0e+0 ) )
184 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
187 IF( lsame( side,
'L' ) )
THEN
191 CALL ccopy( n, c1, ldc, work, 1 )
193 CALL cgemv(
'Conjugate transpose', m-1, n, one, c2, ldc, v,
194 $ incv, one, work, 1 )
200 CALL caxpy( n, -tau, work, 1, c1, ldc )
201 CALL cgeru( m-1, n, -tau, v, incv, work, 1, c2, ldc )
203 ELSE IF( lsame( side,
'R' ) )
THEN
207 CALL ccopy( m, c1, 1, work, 1 )
208 CALL cgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv,
213 CALL caxpy( m, -tau, work, 1, c1, 1 )
214 CALL cgerc( m, n-1, -tau, work, 1, v, incv, c2, ldc )
subroutine clatzm(side, m, n, v, incv, tau, c1, c2, ldc, work)
CLATZM
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine cgerc(m, n, alpha, x, incx, y, incy, a, lda)
CGERC
subroutine cgeru(m, n, alpha, x, incx, y, incy, a, lda)
CGERU