148 SUBROUTINE chpmv(UPLO,N,ALPHA,AP,X,INCX,BETA,Y,INCY)
160 COMPLEX AP(*),X(*),Y(*)
167 parameter(one= (1.0e+0,0.0e+0))
169 parameter(zero= (0.0e+0,0.0e+0))
173 INTEGER I,INFO,IX,IY,J,JX,JY,K,KK,KX,KY
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(
'CHPMV ',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 + conjg(ap(k))*x(i)
267 y(j) = y(j) + temp1*real(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 + conjg(ap(k))*x(ix)
284 y(jy) = y(jy) + temp1*real(ap(kk+j-1)) + alpha*temp2
294 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
298 y(j) = y(j) + temp1*real(ap(kk))
301 y(i) = y(i) + temp1*ap(k)
302 temp2 = temp2 + conjg(ap(k))*x(i)
305 y(j) = y(j) + alpha*temp2
314 y(jy) = y(jy) + temp1*real(ap(kk))
317 DO 110 k = kk + 1,kk + n - j
320 y(iy) = y(iy) + temp1*ap(k)
321 temp2 = temp2 + conjg(ap(k))*x(ix)
323 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(srname, info)
subroutine chpmv(uplo, n, alpha, ap, x, incx, beta, y, incy)
CHPMV