Basis Splines

This chapter describes functions for the computation of smoothing basis splines (B-splines). This is only for GSL-1.9 or later.

  1. Overview

  2. Initializing the B-splines solver

  3. Constructing the knots vector

  4. Evaluation of B-splines


B-splines are commonly used as basis functions to fit smoothing curves to large data sets. To do this, the abscissa axis is broken up into some number of intervals, where the endpoints of each interval are called breakpoints. These breakpoints are then converted to knots by imposing various continuity and smoothness conditions at each interface. Given a nondecreasing knot vector t = {t_0, t_1, dots, t_{n+k-1, the n basis splines of order k are defined by for i = 0, dots, n-1. The common case of cubic B-splines is given by k = 4. The above recurrence relation can be evaluated in a numerically stable way by the de Boor algorithm.

If we define appropriate knots on an interval [a,b] then the B-spline basis functions form a complete set on that interval. Therefore we can expand a smoothing function as given enough (x_j, f(x_j)) data pairs. The c_i can be readily obtained from a least-squares fit.

Initializing the B-splines solver

Constructing the knots vector

Evaluation of B-splines

prev next

Reference index top