C      ________________________________________________________
C     |                                                        |
C     |   MULTIPLY A REAL SYMMETRIC BAND MATRIX BY A VECTOR    |
C     |                                                        |
C     |    INPUT:                                              |
C     |                                                        |
C     |         X     --VECTOR                                 |
C     |                                                        |
C     |         A     --ARRAY CONTAINING DIAGONAL AND SUBDIAG- |
C     |                 ONAL BANDS FROM COEFFICIENT MATRIX     |
C     |                                                        |
C     |         LA    --LEADING (ROW) DIMENSION OF ARRAY A     |
C     |                                                        |
C     |         N     --MATRIX DIMENSION                       |
C     |                                                        |
C     |         H     --HALF BANDWIDTH                         |
C     |                                                        |
C     |    OUTPUT:                                             |
C     |                                                        |
C     |         Y     --PRODUCT BETWEEN A AND X                |
C     |                                                        |
C     |    BUILTIN FUNCTIONS: MIN0                             |
C     |________________________________________________________|
C
      SUBROUTINE HMULT(Y,X,A,LA,N,H)
      INTEGER H,I,J,K,L,LA,M,N
      REAL A(LA,1),X(1),Y(1),R,S,T
      IF ( H .GT. 0 ) GOTO 20
      DO 10 I = 1,N
10         Y(I) = X(I)*A(1,I)
      RETURN
20    DO 30 I = 1,N
30         Y(I) = 0.
      K = 1
40    J = K
      K = K + 1
      S = X(J)
      T = A(1,J)*S
      IF ( K .GT. N ) GOTO 60
      M = 2 - K
      L = MIN0(J+H,N)
      DO 50 I = K,L
            R = A(I+M,J)
            T = T + R*X(I)
50          Y(I) = Y(I) + S*R
      Y(J) = Y(J) + T
      GOTO 40
60    Y(N) = Y(N) + T
      RETURN
      END