************80
! BSPLVD calculates the nonvanishing B-splines and derivatives at X.
Discussion:
Values at X of all the relevant B-splines of order K:K+1-NDERIV
are generated via BSPLVB and stored temporarily in DBIATX.
Then the B-spline coefficients of the required derivatives
of the B-splines of interest are generated by differencing,
each from the preceding one of lower order, and combined with
the values of B-splines of corresponding order in DBIATX
to produce the desired values.
Modified:
14 February 2007
Author:
Carl DeBoor
Reference:
Carl DeBoor,
A Practical Guide to Splines,
Springer, 2001,
ISBN: 0387953663,
LC: QA1.A647.v27.
Parameters:
Input, real ( kind = 8 ) T(LEFT+K), the knot sequence. It is assumed that
T(LEFT) < T(LEFT+1). Also, the output is correct only if
T(LEFT) <= X <= T(LEFT+1).
Input, integer ( kind = 4 ) K, the order of the B-splines to be evaluated.
Input, real ( kind = 8 ) X, the point at which these values are sought.
Input, integer ( kind = 4 ) LEFT, indicates the left endpoint of the
interval of interest. The K B-splines whose support contains the interval
( T(LEFT), T(LEFT+1) ) are to be considered.
Workspace, real ( kind = 8 ) A(K,K).
Output, real ( kind = 8 ) DBIATX(K,NDERIV). DBIATX(I,M) contains
the value of the (M-1)st derivative of the (LEFT-K+I)-th B-spline
of order K for knot sequence T, I=M,...,K, M=1,...,NDERIV.
Input, integer ( kind = 4 ) NDERIV, indicates that values of B-splines and
their derivatives up to but not including the NDERIV-th are asked for.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8) | :: | t(left+k) | ||||
integer(kind=4) | :: | k | ||||
real(kind=8) | :: | x | ||||
integer(kind=4) | :: | left | ||||
real(kind=8) | :: | a(k,k) | ||||
real(kind=8) | :: | dbiatx(k,nderiv) | ||||
integer(kind=4) | :: | nderiv |