dbvalu.f
DOUBLE PRECISION FUNCTION DBVALU (T, A, N, K, IDERIV, X, INBV,
+ WORK)
C***BEGIN PROLOGUE DBVALU
C***PURPOSE Evaluate the B-representation of a B-spline at X for the
C function value or any of its derivatives.
C***LIBRARY SLATEC
C***CATEGORY E3, K6
C***TYPE DOUBLE PRECISION (BVALU-S, DBVALU-D)
C***KEYWORDS DIFFERENTIATION OF B-SPLINE, EVALUATION OF B-SPLINE
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 DBVALU is the BVALUE function of the reference.
C
C DBVALU evaluates the B-representation (T,A,N,K) of a B-spline
C at X for the function value on IDERIV=0 or any of its
C derivatives on IDERIV=1,2,...,K-1. Right limiting values
C (right derivatives) are returned except at the right end
C point X=T(N+1) where left limiting values are computed. The
C spline is defined on T(K) .LE. X .LE. T(N+1). DBVALU returns
C a fatal error message when X is outside of this interval.
C
C To compute left derivatives or left limiting values at a
C knot T(I), replace N by I-1 and set X=T(I), I=K+1,N+1.
C
C DBVALU calls DINTRV
C
C Description of Arguments
C
C Input T,A,X 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 IDERIV - order of the derivative, 0 .LE. IDERIV .LE. K-1
C IDERIV = 0 returns the B-spline value
C X - argument, T(K) .LE. X .LE. T(N+1)
C INBV - an initialization parameter which must be set
C to 1 the first time DBVALU is called.
C
C Output WORK,DBVALU are double precision
C INBV - INBV contains information for efficient process-
C ing after the initial call and INBV must not
C be changed by the user. Distinct splines require
C distinct INBV parameters.
C WORK - work vector of length 3*K.
C DBVALU - value of the IDERIV-th derivative at X
C
C Error Conditions
C An 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 DINTRV, 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 DBVALU