Spline Toolbox    
splpp, sprpp

Convert locally from B-form to ppform

Syntax

Description

These are utility commands of use in the conversion from B-form to ppform (and in certain evaluations), but of no interest to the casual user.

Each row a(.,:) of a is taken to contain the B-coefficients of some spline s (and its order k is taken to be the column number of a). In splpp, the polynomial piece associated with the knot interval [tx(.,k-1)..tx(.,k)] is focused on. Repeated knot insertion (of the knot 0) is used to derive from the given information the B-spline coefficients b(.,1:k) for the same polynomial, relevant for the interval [tx(.,k-1)..0] (with respect to the knot sequence [tx(.,1:k-1),0,. . .,0]).

From this, the numbers v(j) := Dk-j s(0-)/(k- j)!, j = 1, ..., k are computed, for each of the splines s described by the given knots tx(.,:) and coefficients a(.,:).

The command sprpp carries out exactly the same job, but for the interval [0..tx(.,k)], and therefore ends up with the values
v(j) :=Dk-j s(0+)/(k- j)!, j = 1, ..., k.

Examples

The statement [v,b]=splpp([-2 -1 0 1],[0 1 0]) provides the sequence

   v = -1.0000 -1.0000 0.5000 = D2s(0-)/2, Ds(0-), s(0-)

with s the B-spline with knots -2, -1, 0, 1. This is so because the l in splpp indicates the limit from the left, and the second argument, [0 1 0], indicates that the spline s in question be

i.e., this particular linear combination of the third-order B-splines for the knot sequence ..., -2, -1,0,1,... (Note that the values calculated do not depend on the knots marked ?.) The above statement also provides the sequence
b = 0 1.0000 0.5000 of B-spline coefficients for the polynomial piece of s on the interval [-1. .0], and with respect to the knot sequence ?, -2, -1, 0, 0, ?.

In other words, on the interval [-1. .0], the B-spline with knots 2, -1, 0, 1 can be written

The statement [v,b]=sprpp([-1 0 1 2],[1 0 0]) provides the sequence

with s the B-spline with knots ?,-1,0,1. Its polynomial piece on the interval
[0. .1] is independent of the choice of ?, so we might as well think of ? as -2, i.e., we are dealing with the same B-spline as before. Note that the last two numbers agree with the limits from the left computed above, while the first number does not. This reflects the fact that a quadratic B-spline with simple knots is continuous with continuous first, but discontinuous second, derivative. (It also reflects the fact that the left-most knot of a B-spline is irrelevant for its right-most polynomial piece.) The sequence b = 0.5000 0 0 also provided states that, on the interval [0. .1], the B-spline B(·|[?, -1,0,1]) can be written

Cautionary Note

It is assumed that tx(.,k-1) < 0 tx(.,k) for splpp and
tx(.,k-1) 0 < tx(.,k) for sprpp.


 splinetool spmak