153 SUBROUTINE chemv(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
161 INTEGER INCX,INCY,LDA,N
165 COMPLEX A(LDA,*),X(*),Y(*)
172 parameter(one= (1.0e+0,0.0e+0))
174 parameter(zero= (0.0e+0,0.0e+0))
178 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY
188 INTRINSIC conjg,max,real
194 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
196 ELSE IF (n.LT.0)
THEN
198 ELSE IF (lda.LT.max(1,n))
THEN
200 ELSE IF (incx.EQ.0)
THEN
202 ELSE IF (incy.EQ.0)
THEN
206 CALL xerbla(
'CHEMV ',info)
212 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
233 IF (beta.NE.one)
THEN
235 IF (beta.EQ.zero)
THEN
246 IF (beta.EQ.zero)
THEN
259 IF (alpha.EQ.zero)
RETURN
260 IF (lsame(uplo,
'U'))
THEN
264 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
269 y(i) = y(i) + temp1*a(i,j)
270 temp2 = temp2 + conjg(a(i,j))*x(i)
272 y(j) = y(j) + temp1*real(a(j,j)) + alpha*temp2
283 y(iy) = y(iy) + temp1*a(i,j)
284 temp2 = temp2 + conjg(a(i,j))*x(ix)
288 y(jy) = y(jy) + temp1*real(a(j,j)) + alpha*temp2
297 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
301 y(j) = y(j) + temp1*real(a(j,j))
303 y(i) = y(i) + temp1*a(i,j)
304 temp2 = temp2 + conjg(a(i,j))*x(i)
306 y(j) = y(j) + alpha*temp2
314 y(jy) = y(jy) + temp1*real(a(j,j))
320 y(iy) = y(iy) + temp1*a(i,j)
321 temp2 = temp2 + conjg(a(i,j))*x(ix)
323 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(srname, info)
subroutine chemv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
CHEMV