|
|
◆ Bspldr()
| Sub Bspldr |
( |
T() As |
Double, |
|
|
A() As |
Double, |
|
|
N As |
Long, |
|
|
K As |
Long, |
|
|
Nderiv As |
Long, |
|
|
Ad() As |
Double, |
|
|
Info As |
Long |
|
) |
| |
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 - 1) (LT >= N + K)
Knot vector. |
| [in] | A() | Array A(LA - 1) (LA >= N)
B-spline coefficient array. |
| [in] | N | Number of B-spline coefficients. (N = sum of knot multiplicities - K) |
| [in] | K | Order of the 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 - 1) (LAd >= (2*N - Nderiv + 1)*Nderiv/2)
Divided difference table for input to Bsplev. |
| [out] | Info | = 0: Successful exit.
= -1: The argument T() is invalid.
= -2: The argument A() is invalid.
= -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)
= -6: The argument Ad() is invalid. |
- Reference
- SLATEC
- Example Program
- See example of Bsplev.
|