|
|
◆ bspldr()
| void bspldr |
( |
double |
t[], |
|
|
double |
a[], |
|
|
int |
n, |
|
|
int |
k, |
|
|
int |
nderiv, |
|
|
double |
ad[], |
|
|
int * |
info |
|
) |
| |
Construct a divided difference table from B-representation for derivative calculation by bsplev
- Purpose
- This routine uses the B-representation (t[], a[], n, k) to construct a divided difference table adif preparatory to a (right) derivative calculation in bsplev.
The lower triangular matrix adif is stored in vector ad[] by columns. The arrays are related by
adif(i, j) = ad[i-j+1 + (2*n-j+2)*(j-1)/2 - 1], i = j to n, j = 1 to nderiv
- Parameters
-
| [in] | t[] | Array t[lt] (lt >= n + k)
Knot vector. |
| [in] | a[] | Array a[la] (la >= n)
B-spline coefficients. |
| [in] | n | Number of B-spline coefficients. (n = sum of knot multiplicities - k) |
| [in] | k | Order of B-spline. (k >= 1) |
| [in] | nderiv | Number of the derivatives. (1 <= nderiv <= k)
nderiv = 1 returns the zero-th derivative = function value. |
| [out] | ad[] | Array ad[lad] (lad >= (2*n - nderiv + 1)*nderiv/2)
Divided difference table for input to bsplev. |
| [out] | info | = 0: Successful exit
= -3: The argument n had an illegal value (n < k)
= -4: The argument k had an illegal value (k < 1)
= -5: The argument nderiv had an illegal value (nderiv < 1 or nderiv > k) |
- Reference
- SLATEC
|