XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ bsplpp()

void bsplpp ( double  t[],
double  a[],
int  n,
int  k,
int  ldc,
double  c[],
double  xi[],
int *  lxi,
double  work[],
int *  info 
)

B-representation to PP (piecewise polynomial) form of B-spline conversion

Purpose
This routine converts the B-representation (t[], a[], n, k) of a B-spline to the PP (piecewise polynomial) form (c[][], xi[], lxi, k) for use with ppvalu. Here xi[], the break point array of length lxi, is the knot array t[] with multiplicities removed. The columns of the matrix c[j][i] contain the right Taylor derivatives for the polynomial expansion about xi[j] for the intervals xi[j] <= x <= xi[j+1], i = 0 to k-1, j = 0 to lxi-1.
Function ppvalu makes this evaluation at a specified point x in xi[0] <= x <= xi[lxi].
Parameters
[in]t[]Array t[lt] (lt >= n + k)
Knot vector.
[in]a[]Array a[la] (la >= n)
B-spline coefficients.
[in]nNumber of B-spline coefficients. (n = sum of knot multiplicities - k)
[in]kOrder of B-spline. (k >= 1)
[in]ldcLeading dimension of the two dimensional array c[][]. (ldc >= k)
[out]c[][]Array c[lc][ldc] (lc >= lxi)
Right derivatives at break points.
[in]xi[]Array xi[l_xi] (l_xi >= lxi + 1)
Break points.
[out]lxiNumber of polynomial pieces. (lxi <= n - k + 1)
[out]work[]Array work[lwork] (lwork >= k*(n + 3))
Work array.
[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 ldc had an illegal value (ldc < k)
Reference
SLATEC