153 SUBROUTINE clatzm( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
162 INTEGER INCV, LDC, M, N
166 COMPLEX C1( ldc, * ), C2( ldc, * ), V( * ), WORK( * )
173 parameter( one = ( 1.0e+0, 0.0e+0 ),
174 $ zero = ( 0.0e+0, 0.0e+0 ) )
188 IF( ( min( m, n ).EQ.0 ) .OR. ( tau.EQ.zero ) )
191 IF( lsame( side,
'L' ) )
THEN
195 CALL
ccopy( n, c1, ldc, work, 1 )
197 CALL
cgemv(
'Conjugate transpose', m-1, n, one, c2, ldc, v,
198 $ incv, one, work, 1 )
204 CALL
caxpy( n, -tau, work, 1, c1, ldc )
205 CALL
cgeru( m-1, n, -tau, v, incv, work, 1, c2, ldc )
207 ELSE IF( lsame( side,
'R' ) )
THEN
211 CALL
ccopy( m, c1, 1, work, 1 )
212 CALL
cgemv(
'No transpose', m, n-1, one, c2, ldc, v, incv, one,
217 CALL
caxpy( m, -tau, work, 1, c1, 1 )
218 CALL
cgerc( m, n-1, -tau, work, 1, v, incv, c2, ldc )
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
subroutine clatzm(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
CLATZM
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine ccopy(N, CX, INCX, CY, INCY)
CCOPY
subroutine cgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERC
subroutine cgeru(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERU