## Types of Splines: ppform and B-form

### Polynomials vs. Splines

Polynomials are the approximating functions of choice when a smooth function is to be approximated locally. For example, the truncated Taylor series

$$\sum _{i=0}^{n}{\left(x-a\right)}^{i}{D}^{i}f(a)/i!$$

provides a satisfactory approximation for *f(x)* if *f* is
sufficiently smooth and *x* is sufficiently close
to *a*. But if a function is to be approximated on
a larger interval, the degree, *n*, of the approximating
polynomial may have to be chosen unacceptably large. The alternative
is to subdivide the interval *[a..b]* of approximation
into sufficiently small intervals [ξ_{j}..ξ_{j+1}],
with *a* = ξ_{1}<···
<ξ_{l+1} = *b*,
so that, on each such interval, a polynomial *p _{j}* of
relatively low degree can provide a good approximation to

*f*. This can even be done in such a way that the polynomial pieces blend smoothly, i.e., so that the resulting patched or composite function

*s(x)*that equals

*p*for

_{j}(x)*x*∊[ξ

_{j}ξ

_{j+1}], all

*j*, has several continuous derivatives. Any such smooth piecewise polynomial function is called a

*spline*. I.J. Schoenberg coined this term because a twice continuously differentiable cubic spline with sufficiently small first derivative approximates the shape of a draftsman's spline.

There are two commonly used ways to represent a polynomial spline,
the ppform and the B-form. In this toolbox, a spline in ppform
is often referred to as a *piecewise polynomial*,
while a piecewise polynomial in B-form is often referred to as a spline.
This reflects the fact that piecewise polynomials and (polynomial)
splines are just two different views of the same thing.

### ppform

The *ppform* of a polynomial spline of *order* *k* provides
a description in terms of its *breaks* ξ_{1}..ξ_{l+1} and
the *local polynomial
coefficients* *c _{ji}* of
its

*l*pieces.

$$\begin{array}{cc}{p}_{j}\left(x\right)={{\displaystyle \sum _{i=1}^{k}\left(x-{\xi}_{j}\right)}}^{k-i}{c}_{ji},& j=1:l\end{array}$$

For example, a cubic spline is of order 4, corresponding to
the fact that it requires four coefficients to specify a cubic polynomial.
The ppform is convenient for the evaluation and other *uses* of
a spline.

### B-form

The *B-form* has become the standard way
to represent a spline during its *construction*,
because the B-form makes it easy to build in smoothness requirements across breaks and leads to banded
linear systems. The B-form describes a spline as a weighted sum

$$\sum _{j=1}^{n}{B}_{j,k}{a}_{j}$$

of B-splines of the required order *k*, with
their number, *n*, at least as big as *k*–1
plus the number of polynomial pieces that make up the spline. Here, *B*_{j,k }=* B* (·|*t _{j}*,
...,

*t*

_{j}_{+}

*) is the*

_{k}*j*th B-spline of

*order*

*k*for the

*knot sequence*

*t*

_{1}≤

*t*

_{2}≤··· ≤

*t*

_{n}_{+}

*. In particular,*

_{k}*B*is piecewise-polynomial of degree <

_{j,k}*k*, with breaks

*t*, ...,

_{j}*t*

_{j}_{+}

*, is nonnegative, is zero outside the interval [*

_{k}*t*, ..

_{j}*t*

_{j}_{+}

*], and is so normalized that*

_{k}$$\begin{array}{ccc}{\displaystyle \sum _{j=1}^{n}{B}_{j,k}\left(x\right)}=1& on& \left[{t}_{k}\mathrm{..}{t}_{n+1}\right]\end{array}$$

### Knot Multiplicity

The multiplicity of the knots governs the smoothness, in the following way: If the
number τ occurs exactly *r* times in the sequence t_{j},...t_{j+k},
then *B _{j,k}* and its first

*k-r-1*derivatives are continuous across the break τ, while the

*(k-r)*th derivative has a jump at τ. You can experiment with all these properties of the B-spline in a very visual and interactive way using the command

`bspligui`

.