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 zhemv(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
ZHEMV