Why does the cubic B-spline (Basic Spline) takes on the value zero outside the interval $[x_i, x_{i+4}]$? Specifically, why is the lower value of the interval $x_i$?

The cubic B-spline is defined as:

$$ B_i(x) = (x_{i+4} - x_i) f_x [x_i, x_{i+1}, x_{i+2}, x_{i+3}, x_{i+4}] $$

$f_x[x_i, x_{i+1}, x_{i+2}, x_{i+3}, x_{i+4}]$ is the 4-th order divided difference of $f_x(t) = (t-x)_+^3$. Note that if $x<x_i$, then still $f_x[x_i, x_{i+1}]$ will be non-zero.

Another formula for the cubic B-spline is

$$ B_i(x) = (x_{i+4} - x_i) \sum_{j=i}^{j=i+4} \frac{(x_j-x)_+^3}{\psi'_i(x_j)}$$

where $\psi'_n(x_i) = (x_i - x_0) (x_i - x_1) \ldots (x_i-x_{i-1}) (x_i - x_{i+1}) \ldots (x-x_n)$

Note that if I use the second formula, I can see easily why if $x > x_{i+4}$, then the value of the B-spline is zero. (It is assumed $x_{i+4}> x_{i+3} > \ldots > x_i$). But still, if $x < x_i$, then the value of $B_i(x)$ is not zero.

Thank you for your assistance.

  • $\begingroup$ The cubic $B$-spline is intended to be built up of four cubic pieces within its support interval, and zero otherwise. You might wish to peer at de Boor's treatment here. $\endgroup$ Sep 18, 2011 at 21:31
  • $\begingroup$ By the way: you do realize why $(t)_+=0$ if $t$ is negative, right? Given the ordering of the points, can you see why your sum in your second B-spline formula becomes zero? $\endgroup$ Sep 19, 2011 at 2:08
  • $\begingroup$ @J.M.: I am aware of the notation $(t)_+$, and I see why the second B-spline formula becomes zero only when $x>x_{i+4}$. I cannot see why it becomes zero when $x<x_i$, because I believe all the terms inside the $()_+$ will be positive, and therefore, all of the summation terms will be positive. $\endgroup$
    – jrand
    Sep 19, 2011 at 14:51

1 Answer 1


The original question was: why does the value of the B-spline take on zero when $x<x_i$?

Note the following definition for the value of the b-spline, equation (3.7.33) in Atkinson:

$$ B_i(x) = (x_{i+4} - x_i) f_x[x_i, x_{i+1}, x_{i+2}, x_{i+3}, x_{i+4}] (3.7.33)$$

Note that we know: $x_i < x_{i+1} < x_{i+2} < x_{i+3} < x_{i+4}$ and $f_x(t) = (t-x)_+^3$. From equation (3.7.12), we know the relation between the m-th divided difference and the m-th deriviative:

$$ f[x_0, x_1, \ldots, x_m] = \frac{f^{(m)} (\xi)}{m!} (3.7.12)$$ and $\min\{x_0, x_1, \ldots, x_m\} \leq \xi \leq \max\{x_0, x_1, \ldots, x_m\}$.

Combining (3.7.33) and (3.7.12), we get for the 4-th divided difference,

$$ f_x[x_i, x_{i+1}, x_{i+2}, x_{i+3}, x_{i+4}] = \frac{f_x^{(4)} (\xi)}{4!} $$ and $\xi \geq x_i$. If we know $\xi \geq x_i$ and (the original assumption), $x<x_i$, then we combine these two facts as: $x < \xi$.

If $x < \xi$, then in the expression $f_x(\xi) = (\xi-x)_+^3$, we get a "regular" 3-rd degree polynomial. If we take the fourth derivative of a 3-rd degree polynomial, we get zero. Then, $B_i(x) = 0$ when $x < x_i$.

Credit goes to my university professor who helped me to see this.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.