153 SUBROUTINE zhemv(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
160 COMPLEX*16 ALPHA,BETA
161 INTEGER INCX,INCY,LDA,N
165 COMPLEX*16 A(lda,*),X(*),Y(*)
172 parameter(one= (1.0d+0,0.0d+0))
174 parameter(zero= (0.0d+0,0.0d+0))
177 COMPLEX*16 TEMP1,TEMP2
178 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY
188 INTRINSIC dble,dconjg,max
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(
'ZHEMV ',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 + dconjg(a(i,j))*x(i)
272 y(j) = y(j) + temp1*dble(a(j,j)) + alpha*temp2
283 y(iy) = y(iy) + temp1*a(i,j)
284 temp2 = temp2 + dconjg(a(i,j))*x(ix)
288 y(jy) = y(jy) + temp1*dble(a(j,j)) + alpha*temp2
297 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 301 y(j) = y(j) + temp1*dble(a(j,j))
303 y(i) = y(i) + temp1*a(i,j)
304 temp2 = temp2 + dconjg(a(i,j))*x(i)
306 y(j) = y(j) + alpha*temp2
314 y(jy) = y(jy) + temp1*dble(a(j,j))
320 y(iy) = y(iy) + temp1*a(i,j)
321 temp2 = temp2 + dconjg(a(i,j))*x(ix)
323 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zhemv(UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZHEMV