      SUBROUTINE BVPRD(M,N,A,KA,ML,MU,X,Y)
C     ******************************************************************
C     PRODUCT OF A BANDED MATRIX AND A VECTOR
C     ******************************************************************
      REAL A(KA,N),X(N),Y(M)
      DOUBLE PRECISION DSUM
C
C     COMPUTE THE FIRST ML COMPONENTS
C
      ML1 = ML + 1
      IF (ML .EQ. 0) GO TO 20
      JMIN = ML1
      DO 11 I = 1,ML
      KMAX = MIN0(N,I+MU)
      KK = JMIN
      DSUM = 0.D0
        DO 10 K = 1,KMAX
        DSUM = DSUM + DBLE(A(I,KK))*DBLE(X(K))
   10   KK = KK + 1
      Y(I) = DSUM
   11 JMIN = JMIN - 1
C
C     COMPUTE THE REMAINING NONZERO COMPONENTS
C
   20 IMAX = MIN0(M,N+ML)
      DO 22 I = ML1,IMAX
      KMIN = I - ML
      KMAX = MIN0(N,I+MU)
      KK = 1
      DSUM = 0.D0
        DO 21 K = KMIN,KMAX
        DSUM = DSUM + DBLE(A(I,KK))*DBLE(X(K))
   21   KK = KK + 1
   22 Y(I) = DSUM
C
C     STORE ZEROS IN THE FINAL M-IMAX COMPONENTS
C
      IF (IMAX .EQ. M) RETURN
      IMIN = IMAX + 1
      DO 30 I = IMIN,M
   30 Y(I) = 0.0
      RETURN
      END
