# dbsppp.f

          SUBROUTINE DBSPPP (T, A, N, K, LDC, C, XI, LXI, WORK)
    C***BEGIN PROLOGUE  DBSPPP
    C***PURPOSE  Convert the B-representation of a B-spline to the piecewise
    C            polynomial (PP) form.
    C***LIBRARY   SLATEC
    C***CATEGORY  E3, K6
    C***TYPE      DOUBLE PRECISION (BSPPP-S, DBSPPP-D)
    C***KEYWORDS  B-SPLINE, PIECEWISE POLYNOMIAL
    C***AUTHOR  Amos, D. E., (SNLA)
    C***DESCRIPTION
    C
    C     Written by Carl de Boor and modified by D. E. Amos
    C
    C     Abstract    **** a double precision routine ****
    C         DBSPPP is the BSPLPP routine of the reference.
    C
    C         DBSPPP converts the B-representation (T,A,N,K) to the
    C         piecewise polynomial (PP) form (C,XI,LXI,K) for use with
    C         DPPVAL.  Here XI(*), the break point array of length LXI, is
    C         the knot array T(*) with multiplicities removed.  The columns
    C         of the matrix C(I,J) contain the right Taylor derivatives
    C         for the polynomial expansion about XI(J) for the intervals
    C         XI(J) .LE. X .LE. XI(J+1), I=1,K, J=1,LXI.  Function DPPVAL
    C         makes this evaluation at a specified point X in
    C         XI(1) .LE. X .LE. XI(LXI+1)
    C
    C     Description of Arguments
    C
    C         Input      T,A are double precision
    C          T       - knot vector of length N+K
    C          A       - B-spline coefficient vector of length N
    C          N       - number of B-spline coefficients
    C                    N = sum of knot multiplicities-K
    C          K       - order of the B-spline, K .GE. 1
    C          LDC     - leading dimension of C, LDC .GE. K
    C
    C         Output     C,XI,WORK are double precision
    C          C       - matrix of dimension at least (K,LXI) containing
    C                    right derivatives at break points
    C          XI      - XI break point vector of length LXI+1
    C          LXI     - number of break points, LXI .LE. N-K+1
    C          WORK    - work vector of length K*(N+3)
    C
    C     Error Conditions
    C         Improper input is a fatal error
    C
    C***REFERENCES  Carl de Boor, Package for calculating with B-splines,
    C                 SIAM Journal on Numerical Analysis 14, 3 (June 1977),
    C                 pp. 441-472.
    C***ROUTINES CALLED  DBSPDR, DBSPEV, XERMSG
    C***REVISION HISTORY  (YYMMDD)
    C   800901  DATE WRITTEN
    C   890831  Modified array declarations.  (WRB)
    C   890831  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   920501  Reformatted the REFERENCES section.  (WRB)
    C***END PROLOGUE  DBSPPP