Documentation Center

  • Trial Software
  • Product Updates

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

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 pj 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 pj(x) for 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 cji of its l pieces.

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

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, Bj,k = B (·|tj, ...,tj+k) is the jth B-spline of order k for the knot sequence t1t2≤··· ≤tn+k. In particular, Bj,k is piecewise-polynomial of degree < k, with breaks tj, ...,tj+k , is nonnegative, is zero outside the interval [tj, ..tj+k], and is so normalized that

Knot Multiplicity

The multiplicity of the knots governs the smoothness, in the following way: If the number τ occurs exactly r times in the sequence tj,...tj+k, then Bj,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.

Was this topic helpful?