148 SUBROUTINE zhpmv(UPLO,N,ALPHA,AP,X,INCX,BETA,Y,INCY)
155 COMPLEX*16 ALPHA,BETA
160 COMPLEX*16 AP(*),X(*),Y(*)
167 parameter(one= (1.0d+0,0.0d+0))
169 parameter(zero= (0.0d+0,0.0d+0))
172 COMPLEX*16 TEMP1,TEMP2
173 INTEGER I,INFO,IX,IY,J,JX,JY,K,KK,KX,KY
183 INTRINSIC dble,dconjg
189 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN
191 ELSE IF (n.LT.0)
THEN
193 ELSE IF (incx.EQ.0)
THEN
195 ELSE IF (incy.EQ.0)
THEN
199 CALL xerbla(
'ZHPMV ',info)
205 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
225 IF (beta.NE.one)
THEN
227 IF (beta.EQ.zero)
THEN
238 IF (beta.EQ.zero)
THEN
251 IF (alpha.EQ.zero)
RETURN
253 IF (lsame(uplo,
'U'))
THEN
257 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
263 y(i) = y(i) + temp1*ap(k)
264 temp2 = temp2 + dconjg(ap(k))*x(i)
267 y(j) = y(j) + temp1*dble(ap(kk+j-1)) + alpha*temp2
278 DO 70 k = kk,kk + j - 2
279 y(iy) = y(iy) + temp1*ap(k)
280 temp2 = temp2 + dconjg(ap(k))*x(ix)
284 y(jy) = y(jy) + temp1*dble(ap(kk+j-1)) + alpha*temp2
294 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
298 y(j) = y(j) + temp1*dble(ap(kk))
301 y(i) = y(i) + temp1*ap(k)
302 temp2 = temp2 + dconjg(ap(k))*x(i)
305 y(j) = y(j) + alpha*temp2
314 y(jy) = y(jy) + temp1*dble(ap(kk))
317 DO 110 k = kk + 1,kk + n - j
320 y(iy) = y(iy) + temp1*ap(k)
321 temp2 = temp2 + dconjg(ap(k))*x(ix)
323 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(srname, info)
subroutine zhpmv(uplo, n, alpha, ap, x, incx, beta, y, incy)
ZHPMV