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 chpmv(uplo, n, alpha, ap, x, incx, beta, y, incy)
CHPMV