155 SUBROUTINE zhemv(UPLO,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
163 COMPLEX*16 ALPHA,BETA
164 INTEGER INCX,INCY,LDA,N
168 COMPLEX*16 A(lda,*),X(*),Y(*)
175 parameter(one= (1.0d+0,0.0d+0))
177 parameter(zero= (0.0d+0,0.0d+0))
180 COMPLEX*16 TEMP1,TEMP2
181 INTEGER I,INFO,IX,IY,J,JX,JY,KX,KY
191 INTRINSIC dble,dconjg,max
197 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 199 ELSE IF (n.LT.0)
THEN 201 ELSE IF (lda.LT.max(1,n))
THEN 203 ELSE IF (incx.EQ.0)
THEN 205 ELSE IF (incy.EQ.0)
THEN 209 CALL xerbla(
'ZHEMV ',info)
215 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 236 IF (beta.NE.one)
THEN 238 IF (beta.EQ.zero)
THEN 249 IF (beta.EQ.zero)
THEN 262 IF (alpha.EQ.zero)
RETURN 263 IF (lsame(uplo,
'U'))
THEN 267 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 272 y(i) = y(i) + temp1*a(i,j)
273 temp2 = temp2 + dconjg(a(i,j))*x(i)
275 y(j) = y(j) + temp1*dble(a(j,j)) + alpha*temp2
286 y(iy) = y(iy) + temp1*a(i,j)
287 temp2 = temp2 + dconjg(a(i,j))*x(ix)
291 y(jy) = y(jy) + temp1*dble(a(j,j)) + alpha*temp2
300 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 304 y(j) = y(j) + temp1*dble(a(j,j))
306 y(i) = y(i) + temp1*a(i,j)
307 temp2 = temp2 + dconjg(a(i,j))*x(i)
309 y(j) = y(j) + alpha*temp2
317 y(jy) = y(jy) + temp1*dble(a(j,j))
323 y(iy) = y(iy) + temp1*a(i,j)
324 temp2 = temp2 + dconjg(a(i,j))*x(ix)
326 y(jy) = y(jy) + alpha*temp2
subroutine zhemv(UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZHEMV
subroutine xerbla(SRNAME, INFO)
XERBLA