# dbsqad.f

          SUBROUTINE DBSQAD (T, BCOEF, N, K, X1, X2, BQUAD, WORK)
    C***BEGIN PROLOGUE  DBSQAD
    C***PURPOSE  Compute the integral of a K-th order B-spline using the
    C            B-representation.
    C***LIBRARY   SLATEC
    C***CATEGORY  H2A2A1, E3, K6
    C***TYPE      DOUBLE PRECISION (BSQAD-S, DBSQAD-D)
    C***KEYWORDS  INTEGRAL OF B-SPLINES, QUADRATURE
    C***AUTHOR  Amos, D. E., (SNLA)
    C***DESCRIPTION
    C
    C     Abstract    **** a double precision routine ****
    C
    C         DBSQAD computes the integral on (X1,X2) of a K-th order
    C         B-spline using the B-representation (T,BCOEF,N,K).  Orders
    C         K as high as 20 are permitted by applying a 2, 6, or 10
    C         point Gauss formula on subintervals of (X1,X2) which are
    C         formed by included (distinct) knots.
    C
    C         If orders K greater than 20 are needed, use DBFQAD with
    C         F(X) = 1.
    C
    C         The maximum number of significant digits obtainable in
    C         DBSQAD is the smaller of 18 and the number of digits
    C         carried in double precision arithmetic.
    C
    C     Description of Arguments
    C         Input      T,BCOEF,X1,X2 are double precision
    C           T      - knot array of length N+K
    C           BCOEF  - B-spline coefficient array of length N
    C           N      - length of coefficient array
    C           K      - order of B-spline, 1 .LE. K .LE. 20
    C           X1,X2  - end points of quadrature interval in
    C                    T(K) .LE. X .LE. T(N+1)
    C
    C         Output     BQUAD,WORK are double precision
    C           BQUAD  - integral of the B-spline over (X1,X2)
    C           WORK   - work vector of length 3*K
    C
    C     Error Conditions
    C         Improper input is a fatal error
    C
    C***REFERENCES  D. E. Amos, Quadrature subroutines for splines and
    C                 B-splines, Report SAND79-1825, Sandia Laboratories,
    C                 December 1979.
    C***ROUTINES CALLED  DBVALU, DINTRV, XERMSG
    C***REVISION HISTORY  (YYMMDD)
    C   800901  DATE WRITTEN
    C   890531  Changed all specific intrinsics to generic.  (WRB)
    C   890531  REVISION DATE from Version 3.2
    C   891214  Prologue converted to Version 4.0 format.  (BAB)
    C   900315  CALLs to XERROR changed to CALLs to XERMSG.  (THJ)
    C   900326  Removed duplicate information from DESCRIPTION section.
    C           (WRB)
    C   920501  Reformatted the REFERENCES section.  (WRB)
    C***END PROLOGUE  DBSQAD