I have tried to figure out how B-splines of degree $p - 1$ can be represented as linear combinations of B-splines of degree $p$.
Definitions:
- Given a set of increasing real values $t = (t_i)_{i = 1}^{p+n+1}$, the $i$th B-spline of degree $p$ is defined as
$$ B_{i, p, t}(x) = \frac{x - t_i}{t_{i+p} - t_i}B_{i, p-1, t}(x) + \frac{t_{i+p+1} - x}{t_{i+p+1} - t_{i+1}}B_{i, p-1, t}(x) $$ where $B_{i, 0, t}$ is defined as $$ B_{i, 0, t}(x) = \begin{cases} 1, & x \in [t_i, t_{i+1}), \\ 0, & \text{else}. \end{cases} $$
- We call the vector $t$ of real values $p + 1$-regular if the first $p+1$ values coincide, and the last $p+1$ values coincide. I.e., $$ t_1 = t_2 = \dots = t_{p+1} \\ t_{n+1} = t_{n+2} = \dots = t_{n + p + 1} $$
Linear independence
If $t$ is a $p+1$regular knot vector, then the B-splines $B_{i, p, t}$ are linearly independent on the interval $[t_{p+1}, t_{n+1})$.
Question:
How can I represent the B-spline $B_{i, p-1, t}$ as a linear combination B-splines of a higher degree, provided that $t$ is $p+1$ regular? I.e., $$ B_{i, p-1, t}(x) = \sum_{j = 1, n}c_jB_{j, p, t}(x). $$
How to determine the coefficients $c_j$?
One simple approach is the one given by Liu:
Wayne Liu
A simple, efficient degree raising algorithm for B-spline curves
Computer Aided Geometric Design
Volume 14, Issue 7, September 1997, Pages 693-698
His paper also discusses several other available methods, for comparison.
If you already have a B-spline interpolation function written, there is an easy approach. Let's just consider one basis function.
(1) Construct a new knot sequence $\mathbf{t}^*$ by adding another repetition of each knot in the original knot sequence. In other words, take the original knot sequence, and increase the multiplicity of each knot by $1$. Suppose $\mathbf{t}^*$ has $r$ entries.
(2) Calculate a $r-p-1$ values of the original basis function of degree $p-1$
(3) Interpolate those values with a b-spline function of degree $p$ having knots $\mathbf{t}^*$.
In step #2, you have to be a bit careful how you distribute the values, or else the interpolation problem in step #3 won't be solvable. For more details, look up the Schoenberg-Whitney condition.