The routine and its subsidiaries will now return an error status as
supplied by PDA_XERMSG.
DOUBLE PRECISION FUNCTION PDA_DBVALU (T, A, N, K, IDERIV, X, INBV,
+ WORK, STATUS)
***BEGIN PROLOGUE PDA_DBVALU
***PURPOSE Evaluate the B-representation of a B-spline at X for the
function value or any of its derivatives.
***CATEGORY E3, K6
***TYPE DOUBLE PRECISION (BVALU-S, PDA_DBVALU-D)
***KEYWORDS DIFFERENTIATION OF B-SPLINE, EVALUATION OF B-SPLINE
***AUTHOR Amos, D. E., (SNLA)
Written by Carl de Boor and modified by D. E. Amos
Abstract **** a double precision routine ****
PDA_DBVALU is the BVALUE function of the reference.
PDA_DBVALU evaluates the B-representation (T,A,N,K) of a B-spline
at X for the function value on IDERIV=0 or any of its
derivatives on IDERIV=1,2,...,K-1. Right limiting values
(right derivatives) are returned except at the right end
point X=T(N+1) where left limiting values are computed. The
spline is defined on T(K) .LE. X .LE. T(N+1). PDA_DBVALU returns
a fatal error message when X is outside of this interval.
To compute left derivatives or left limiting values at a
knot T(I), replace N by I-1 and set X=T(I), I=K+1,N+1.
PDA_DBVALU calls PDA_DINTRV
Description of Arguments
Input T,A,X are double precision
T - knot vector of length N+K
A - B-spline coefficient vector of length N
N - number of B-spline coefficients
N = sum of knot multiplicities-K
K - order of the B-spline, K .GE. 1
IDERIV - order of the derivative, 0 .LE. IDERIV .LE. K-1
IDERIV = 0 returns the B-spline value
X - argument, T(K) .LE. X .LE. T(N+1)
INBV - an initialization parameter which must be set
to 1 the first time PDA_DBVALU is called.
Output WORK,PDA_DBVALU are double precision
INBV - INBV contains information for efficient process-
ing after the initial call and INBV must not
be changed by the user. Distinct splines require
distinct INBV parameters.
WORK - work vector of length 3*K.
PDA_DBVALU - value of the IDERIV-th derivative at X
STATUS - Returned error status.
The status must be zero on entry. This
routine does not check the status on entry.
An improper input is a fatal error
***REFERENCES Carl de Boor, Package for calculating with B-splines,
SIAM Journal on Numerical Analysis 14, 3 (June 1977),
***ROUTINES CALLED PDA_DINTRV, PDA_XERMSG
***REVISION HISTORY (YYMMDD)
800901 DATE WRITTEN
890831 Modified array declarations. (WRB)
890911 Removed unnecessary intrinsics. (WRB)
890911 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900315 CALLs to XERROR changed to CALLs to PDA_XERMSG. (THJ)
920501 Reformatted the REFERENCES section. (WRB)
950403 Implement status. (HME)
***END PROLOGUE PDA_DBVALU