*DECK DBSPDR SUBROUTINE DBSPDR (T, A, N, K, NDERIV, AD) C***BEGIN PROLOGUE DBSPDR C***PURPOSE Use the B-representation to construct a divided difference C table preparatory to a (right) derivative calculation. C***LIBRARY SLATEC C***CATEGORY E3, K6 C***TYPE DOUBLE PRECISION (BSPDR-S, DBSPDR-D) C***KEYWORDS B-SPLINE, DATA FITTING, DIFFERENTIATION OF SPLINES, C INTERPOLATION 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 DBSPDR is the BSPLDR routine of the reference. C C DBSPDR uses the B-representation (T,A,N,K) to construct a C divided difference table ADIF preparatory to a (right) C derivative calculation in DBSPEV. The lower triangular matrix C ADIF is stored in vector AD by columns. The arrays are C related by C C ADIF(I,J) = AD(I-J+1 + (2*N-J+2)*(J-1)/2) C C I = J,N , J=1,NDERIV. 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 spline, K .GE. 1 C NDERIV - number of derivatives, 1 .LE. NDERIV .LE. K. C NDERIV=1 gives the zero-th derivative = C function value C C Output AD is double precision C AD - table of differences in a vector of length C (2*N-NDERIV+1)*NDERIV/2 for input to DBSPEV 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 XERMSG C***REVISION HISTORY (YYMMDD) C 800901 DATE WRITTEN C 890831 Modified array declarations. (WRB) C 890911 Removed unnecessary intrinsics. (WRB) C 890911 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 DBSPDR