1 Introduction

Since the introduction of the terminology by Schoenberg [53], polynomial splines have been a popular tool in many areas of mathematics concerned with applications,   e.g., interpolation, approximation, smoothing and curve fitting, geometric design, multiresolution, image processing, ...  e.g., [9, 28, 55, 57, 61]. This success is due to their flexibility by comparison with polynomials, and to the ease of their implementation. This in turn mainly results from the presence of B-splines and their crucial properties: minimal support, refinability, normalisation, total positivity, recurrence relations, degree elevation, ...After Ramshaw [51] we know that these properties can themselves be interpreted as straightforward consequences of the presence of blossoms in polynomial spaces, that is, the one-to-one possibility of “blossoming” a polynomial F of degree at most n into a symmetric multi-affine function f in n variables which coincides with F on the diagonal.

Nevertheless, the need for building B-splines (with their main features) depending on one or more parameters soon arose, both to increase their ability to produce interesting shapes, and to improve the splines fitting to given data, for instance to avoid undesired oscillations in spline interpolants which may result from strong jumps in the data. Below we recall and comment some of the classical methods to introduce parameters which, depending on the case, can act either globally or locally. We limit ourselves to those which we are concerned with in the present work. For each of them, our references represent very little compared to the existing literature.

1—Geometrically continuous polynomial B-splines [3, 5, 10, 11, 15, 38, 58]: at each knot, up to some orders, the left and right derivatives are linked by a lower triangular connection matrix with positive diagonal entries. Let us illustrate this with the cubic case, and with simple equispaced knots. As an instance, when inserting at each convenient place (important jumps in the data) a diagonal matrix of the form \((1, \gamma )\), the corresponding parameters \(\gamma \) act as efficient local tension parameters and produce “\(C^1\) piecewise affine interpolants”, with either \(\gamma \) or \(1/\gamma \) tending to \(+\infty \), depending on the data, see Fig. 6 in [34]. A symmetric geometrically continuous cardinal B-spline can also be obtained, this time with everywhere the matrix obtained with a unit diagonal and the same entry \(\beta >-\frac{4}{h}\) under it, where h is the knot spacing [42]. In that case, \(\beta \) acts as a global tension parameter producing \(C^1\) piecewise affine interpolants when it tends to \(+\infty \).

2—Non uniform rational B-splines (NURBS) [12,13,14, 47] naturally result from ordinary B-splines when projecting splines in \({\mathbb {R}}^{d+1}\) on \({\mathbb {R}}^d\). Obtaining the (normalised) rational B-spline basis thus amounts to allocating each polynomial B-spline a positive coefficient. All these coefficients act as local shape parameters and therefore increase the flexibility of the corresponding functions/curves. One famous advantage of the rational spline setting lies in that, unlike its polynomial counterpart, it makes it possible to represent exactly important shapes such as conics and quadrics, [1, 46]. This is one of the main reasons why NURBS have long become the standard tool in CAD/CAM systems. This, and their interest for the construction of exact geometric models, has made NURBS the standard tool in Isogeometric Analysis during the last decade or so [19]. It should also be mentioned that the rational parameters (rational weights) can be used to ensure interpolation with shape preservation, see for instance [17, 18].

3—Chebyshevian B-splines are obtained by replacing the degree n polynomial space by an \((n+1)\)-dimensional Extended Chebyshev (EC) space, from which all pieces of the splines are taken, [26, 56, 57]. This large class permits to include many remarkable curves, and in particular circles, if only with the early example of trigonometric splines introduced in [54], where the EC-space is spanned on an interval of length less than \(2\pi \) by the constants and the 2p functions \(\cos (jx), \sin (jx)\), \(j=1, \ldots p\), see also [23]. Among the famous examples we can cite the exponential splines in tension first investigated by Schweikert [59] as a tool to eliminate undesired oscillations in cubic spline interpolation. Initially, all pieces were taken from the same space spanned by \(1, x, \cosh (px), \sinh (px)\), the well-known effect of the global parameter p being to produce \(C^2\) piecewise affine interpolants at \(+\infty \). More flexibility was then obtained with parameters changing from interval to interval [60], and these cubic tension splines have since generated an important literature,   e.g., [8, 29, 50]. Exponential B-splines in tension were also investigated in higher dimensions, see [20,21,22]. Though not visible at first sight, these examples are all within the framework of splines with pieces taken from the same EC-space [24]. Accordingly, the existence and expected properties of the corresponding B-splines can be viewed as resulting from blossoms, defined in this context by means of osculating flats as initiated by Pottmann [49].

Over the years, some of the methods above have been mixed to still improve the flexibility when needed. For instance, geometrically continuous rational splines have been investigated in a number of articles,   e.g., [4, 7, 16, 44, 52]. The very large framework of (geometrically continuous) piecewise Chebyshevian splines was first considered by Barry [2]. The pieces being taken from different EC-spaces defined by given systems of weight functions, B-splines were obtained under the assumption that the associated left/right generalised derivatives were connected by any regular lower triangular totally positive matrices. This crucial result was nevertheless shown to be quite restrictive in [30], where a characterisation of all suitable spline spaces was achieved through blossoms in the analogue of the cubic case. The characterisation in the general case was achieved in [37]: it can briefly be stated as the existence of systems of weight functions associated with the section-spaces with respect to which the connections are expressed via identity matrices. These results are recalled in Sect. 2. In Sect. 3, we explain why, as a special case, they provide rational geometrically continuous piecewise Chebyshevian B-splines, that we can name Geometrically continuous piecewise Chebyshevian non-uniform rational B-splines (GCPCNURBS). How to describe all rational spline algorithms through rational blossoms is explained in Sect. 4. Section 5 is concerned with Piecewise Chebyshevian Spline spaces in rationality, proving that the rational setting does not increase the class of spline spaces which are suitable either for interpolation or design. In other words, GCPCNURBS are GCPCNUBS. Still, in Sect. 6 we provide a few illustrations which show that it can be interesting to combine the rational weights with the parameters coming from both the section-spaces and the connection matrices. We conclude this introduction with a sentence borrowed from [48]: “It is time to drop the “R” from NURBS”, though here it has a different meaning. Indeed, the classical NURBS are just examples of (parametrically continuous) PCNUBS, therefore they are examples of the general setting of GCPCNUBS which can be considered a general setting not only for design but also for,   e.g., multiresolution [25] or Isogeometric Analysis [27], or any other convenient application.

Notations Throughout the article, D stands for the ordinary (possibly left/right) differentiation and \(\mathbb {1}\) for the constant function \(\mathbb {1}(x)=1\) for any x in the concerned interval. Moreover, for any \(x\in {\mathbb {R}}\) and any non-negative integer k, \(x^{[k]}\) has the meaning of x repeated k times.

2 Framework and background

We start with a concise presentation of Extended Chebyshev spaces and piecewise Chebyshevian splines, limited to the results necessary to produce the rational context investigated in the next sections. See [33, 37] and other references therein.

2.1 Extended Chebyshev spaces

Given a non-trivial interval I and a positive integer n, an \((n+1)\)-linear space \({\mathbb {E}}\subset C^n(I)\) is said to be an Extended Chebyshev space onI (for short, EC-space on I) if any non-zero \(F\in {\mathbb {E}}\) vanishes at most n times on I, counting multiplicities up to \((n+1)\). Equivalently, \({\mathbb {E}}\) is an EC-space on I if any Hermite interpolation problem in \((n+1)\) data in I is unisolvent in \({\mathbb {E}}\). As is well known, if \({\mathbb {E}}\) is an EC-space on I, then the set of all \(G\in C^{n+1}(I)\) such that \(DG:=G'\in {\mathbb {E}}\) is an \((n+2)\)-dimensional EC-space on I, this being a simple consequence of Rolle’s theorem. By contrast, unless \(n=0\), the converse is not true, as proved with the space spanned by the three functions \(\mathbb {1}, \cos , \sin \) which is an EC-space on any interval I of length less than \(2\pi \), while for the space spanned by the two functions \(\cos , \sin \) to be an EC-space on I, the length must be less than \(\pi \). On the other hand, multiplication by a sufficiently differentiable non-zero function does not change the zeroes. Accordingly, given a system \((w_0, w_1, \ldots , w_n)\) of weight functions on I  i.e., for \(i=0, \ldots , n\), \(w_i\in C^{n-i}(I)\) and is positive on I—the set \(EC(w_0, \ldots , w_n)\) of all \(F\in C^n(I)\) such that \(L_nF\) is constant on I is an EC-space on I, where the associated generalised derivative \( L_n\) is defined via the classical procedure [57]

$$\begin{aligned} L_0F:=\frac{F}{w_0}\ ,\quad L_iF:=\frac{1}{w_i}DL_{i-1}F,\quad 1\le i\le n. \end{aligned}$$
(2.1)

Subsequently, we will deal with closed bounded intervals. On such intervals, an EC-space is always of the form \(EC(w_0, \ldots , w_n)\), and the infinitely many different possibilities to write it so were described in [36]. As a special case, it yields the result recalled below [36]. For \(a<b\), a sequence \((B_0, \ldots , B_n)\) in \(C^n([a,b])\) is said to be a Bernstein basis relative to (ab) if it is normalised (  i.e., \(\sum _{i=0}^nB_i=\mathbb {1}\)) and if, for each \(k=0,\ldots , n\), \(B_k\) vanishes exactly k times at a and exactly \((n-k)\) times at b, and is positive on ]ab[.

Theorem 2.1

Given an integer \(n\ge 2\), let \({\mathbb {E}}\) be an \((n+1)\)-dimensional EC-space on some [ab], with \(a<b\), supposed to contain the constants, the following properties are then equivalent:

  1. 1.

    \({\mathbb {E}}\) possesses a Bernstein basis relative to (ab);

  2. 2.

    the space \(D{\mathbb {E}}:=\{DF\ |\ F\in {\mathbb {E}}\}\) is an EC-space on [ab];

  3. 3.

    blossoms exist in \({\mathbb {E}}\).

Furthermore, if any of these properties is satisfied, then it is possible to develop all the classical geometric design algorithms in \({\mathbb {E}}\), and the Bernstein basis relative to (ab) is the optimal normalised totally positive basis in \({\mathbb {E}}\).

For \(n=1\), the three properties are always true. For the sake of simplicity, we will avoid giving the exact definition of blossoms. It should simply be understood that they generate a special one-to-one correspondence generalising polynomial blossoms, multi-affinity being replaced by multi-pseudoaffinity. This crucial property generates the Bernstein basis with all expected properties, see [32]. This justifies the definition below.

Definition 2.1

Given an \((n+1)\)-dimensional EC-space \({\mathbb {E}}\) on [ab], with \(n\ge 1\), we say that it is good for design onI if it contains the constants, and if the (n-dimensional) space \(D{\mathbb {E}}\) is an EC-space on I (or, equivalently, if it contains the constants and possesses blossoms.

On a closed bounded interval [ab], the class of all EC-spaces good for design is therefore the class of all spaces of the form \(EC(\mathbb {1}, w_1, \ldots , w_n)\).

2.2 Piecewise Chebyshevian splines

From now on, we consider a fixed bi-infinite sequence \({\mathbb {T}}\) of knots \(t_k\), \(k\in {\mathbb {Z}}\), with \(t_k<t_{k+1}\) for all k, and the associated interval \(I:=]\inf _kt_k, \sup _kt_k[\). Each \(t_k\) is allocated a non-negative multiplicity \(m_k\) which is assumed to be less than or equal to n for the sake of simplicity of the presentation. Moreover, we also assume that

$$\begin{aligned} \sum _{i\le 0}m_i=\sum _{i\ge 0}m_i=+\infty . \end{aligned}$$
(2.2)

Due to (2.2), the knot-vector \({\mathbb {K}}:=\bigl ({t_k}^{[m_k]}\bigr )_{k\in {\mathbb {Z}}}\) formed by the knots repeated with their multiplicities can be written as a bi-infinite sequence

$$\begin{aligned} {\mathbb {K}}=\bigl (\xi _\ell \bigr )_{\ell \in {\mathbb {Z}}}, \quad \hbox {with }\xi _\ell \le \xi _{\ell +1} \hbox { and }\xi _\ell <\xi _{\ell +n} \hbox { for all }\ell \in {\mathbb {Z}}. \end{aligned}$$
(2.3)

To define a spline space on \((I;{\mathbb {T}})\), we additionally consider:

  • a bi-infinite sequence of section-spaces\({\mathbb {E}}_k\), \(k\in {\mathbb {Z}}\): each \({\mathbb {E}}_k\) is an \((n+1)\)-dimensional EC-space good for design on \([t_k, t_{k+1}]\);

  • a bi-infinite sequence of connection matrices\(M_k\), \(k\in {\mathbb {Z}}\): each \(M_k\) is a lower triangular matrix of order \((n-m_k)\) with positive diagonal entries.

Based on these data, we consider the spline space \({\mathbb {S}}\) composed of all continuous functions \(S:I\rightarrow {\mathbb {R}}\) meeting the following two requirements:

  1. 1.

    for each \(k\in {\mathbb {Z}}\), the restriction of S to \([t_k,t_{k+1}]\) coincides with an element of the section-space \({\mathbb {E}}_k\);

  2. 2.

    S satisfies the connection conditions:

    $$\begin{aligned} \bigl (S'(t_k^+), \ldots ,S^{(n-m_k)}({t_k}^+)\bigr )^T=M_k\bigl (S'(t_k^-)\ldots ,S^{(n-m_k)}({t_k}^-)\bigr )^T\!\!, \quad k\in {\mathbb {Z}}. \end{aligned}$$
    (2.4)

The spline space \({\mathbb {S}}\) clearly contains the constants. Each \(S\in {\mathbb {S}}\) is called a piecewise Chebyshevian spline on\((I;{\mathbb {T}})\) (in short, PEC-spline): it is geometrically continuous in the sense of continuity of the Frenet frame order \((n-m_k)\) at \(t_k\) for each \(k\in {\mathbb {Z}}\).

Definition 2.2

A sequence \(N_\ell \in {\mathbb {S}}\), \(\ell \in {\mathbb {Z}}\), is a B-spline basis if it meets the usual requirements below:

  • support property for each \(\ell \in {\mathbb {Z}}\), \(N_\ell \) is zero outside \([\xi _\ell ,\xi _{\ell +n+1}]\);

  • positivity property for each \(\ell \in {\mathbb {Z}}\), \( N_\ell \) is piecewise positive on \(]\xi _\ell ,\xi _{\ell +n+1}[\);

  • normalisation property\(\sum _{\ell \in {\mathbb {Z}}}N_\ell (x)=1\) for all \(x\in I\);

  • endpoint property for each \(\ell \in \), \(N_\ell \) vanishes exactly \((n-s+1) \) times at \(\xi _\ell ^+\) and exactly \((n-s'+1)\) at \(\xi _{\ell +n+1}^-\), where \(s:=\#\{j\ge \ell \ |\ \xi _j=\xi _\ell \}\) and \(s':=\#\{j\le \ell +n+1\ |\ \xi _j=\xi _{\ell +n+1}\}\).

The space \(D{\mathbb {S}}\) is also a PEC-spline space, but in a less restrictive sense: EC-section-spaces (not necessarily good for design) and connections involving the spline itself in addition to its derivatives. A priori a spline in \(D{\mathbb {S}}\) is not a function defined on I, but a piecewise function on \((I; {\mathbb {T}})\), defined separately on each \([t_k^+, t_{k+1}^-]\). Given \(S\in {\mathbb {S}}\), there are indeed two reasons why it can satisfy \(DS(t_k^+)\not = DS(t_k^-)\) at a given knot \(t_k\). Either \(m_k=n\) and there is no relation between \(DS(t_k^-)\) and \(DS(t_k^+)\); or \(m_k\le n-1\) and the first diagonal entry of the connection matrix \(M_k\) is not equal to 1. Apart from this difference, we can define B-spline-like bases in the space \(D{\mathbb {S}}\), by requiring the support, positivity, endpoint properties, with n replaced by \((n-1)\), but no normalisation is needed.

A spline version of Theorem 2.1 can then be stated as follows (see [31, 32, 37] and references therein).

Theorem 2.2

In the spline space \({\mathbb {S}}\) defined above (which contains the constants), with \(n\ge 1\), the following three properties are equivalent:

  1. 1.

    \({\mathbb {S}}\) possesses a B-spline basis, and so does any spline space obtained from \({\mathbb {S}}\) by knot insertion;

  2. 2.

    the space \(D{\mathbb {S}}\) is a PEC-spline space, it possesses B-spline-like bases, and so does any spline space obtained from \(D{\mathbb {S}}\) by knot insertion;

  3. 3.

    blossoms exist in \({\mathbb {S}}\).

Furthermore, if one of these properties is satisfied, then it is possible to develop all the classical geometric design algorithms for splines in \({\mathbb {S}}\), and its B-spline basis is totally positive on I.

Theorem 2.2 highly justifies the following definition.

Definition 2.3

A PEC-spline space \({\mathbb {S}}\) being given, we say that \({\mathbb {S}}\) is good for design if it possesses a B-spline basis and so does any spline space derived from \({\mathbb {S}}\) by insertion of knots (or, equivalently, if \({\mathbb {S}}\) contains the constants and possesses blossoms).

Denote by \({\mathbb {A}}_n({\mathbb {K}})\) the set of all admissible n-tuples (relative to the knot-vector \({\mathbb {K}}\)), that is, all n-tuples \((x_1,\ldots , x_n)\) such that, for any \(k\in {\mathbb {Z}}\) satisfying \(\min (x_1, \ldots , x_n)<t_k<\max (x_1, \ldots , x_n)\), the knot \(t_k\) appears at least \(m_k\) times in the sequence \((x_1, \ldots , x_n)\). The symmetric set \({\mathbb {A}}_n({\mathbb {K}})\) contains each \([t_k, t_{k+1}]^n\), \(k\in {\mathbb {Z}}\). One can similarly define \({\mathbb {A}}_p({\mathbb {K}})\) for each positive integer p.

Assuming the PEC-spline space \({\mathbb {S}}\) to be good for design, the definition of blossoms in terms of osculating flats contains the fact that the blossom \(s: {\mathbb {A}}_n({\mathbb {K}})\rightarrow {\mathbb {R}}^d\) of any spline \(S\in {\mathbb {S}}^d\) is a symmetric function which coincides with S on the diagonal of \(I^n\). The difficult and crucial point to achieve is its pseudoaffinity in each variable, as explained subsequently. Given any \((x_1,\ldots ,x_{n-1})\in {\mathbb {A}}_{n-1}({\mathbb {K}})\), any interval \(J\subset I\) such that, for \(x, y\in J\), admissible for \((x_1,\ldots ,x_{n-1}, x,y)\in {\mathbb {A}}_{n+1}({\mathbb {K}})\), any \(a,b\in J\), with \(a<b\), there exists a continuous strictly increasing function \(\beta (x_1,\ldots ,x_{n-1};a,b;\mathbf{.}):J\rightarrow {\mathbb {R}}\) (independent of S) such that:

$$\begin{aligned} \begin{aligned} s(x_1,\ldots ,x_{n-1},x)&= \bigl [1-\beta (x_1,\ldots ,x_{n-1};a,b;x)\bigr ] s(x_1,\ldots ,x_{n-1},a)\\&\quad +\beta (x_1,\ldots ,x_{n-1};a,b;x) s(x_1,\ldots ,x_{n-1},b),\quad x\in J. \end{aligned} \end{aligned}$$
(2.5)

Inherent in (2.5), is a generalised version of de Boor algorithm, which computes the value of the blossom s of S at any admissible n-tuple as a strictly convex combination (with coefficients independent of S) of at most \((n+1)\) consecutive poles of S, defined as the points

$$\begin{aligned} P_\ell :=s(\xi _{\ell +1}, \ldots , \xi _{\ell +n})\in {\mathbb {R}}^d, \quad \ell \in {\mathbb {Z}}. \end{aligned}$$
(2.6)

This contains the description of all the classical algorithms, and in particular the (strictly speaking) de Boor evaluation algorithm generating the total positive B-spline basis \(N_\ell \), \(\ell \in {\mathbb {Z}}\), via

$$\begin{aligned} S(x)=s(x^{[n]})=\sum _{\ell \in {\mathbb {Z}}}N_\ell (x)P_\ell , \quad \sum _{\ell \in {\mathbb {Z}}}N_\ell (x)=1, \quad x\in I, \end{aligned}$$

thus proving the most challenging parts of Theorem 2.2. The crucial function \(\beta \) is referred to as the pseudoaffinity function in\({\mathbb {S}}\).

2.3 All PEC-splines good for design

A sequence \((w_0, \ldots , w_n)\) is a system of piecewise weight functions on\((I;{\mathbb {T}})\) if, for \(i=0, \ldots , n\), \(w_i\) is \(C^{n-i}\) and positive separately on each \([t_k^+, t_{k+1}^-]\), \(k\in {\mathbb {Z}}\)—in other words, restricted to each \([t_k^+, t_{k+1}^-]\) it is system of weight functions on \([t_k^+, t_{k+1}^-]\). The associated formulæ (2.1) are now piecewise equalities providing piecewise generalised derivatives \(L_0, \ldots , L_n\) on \((I;{\mathbb {T}})\). With this terminology, the complete description of all PEC-splines good for design achieved in [37] can be stated as follows.

Theorem 2.3

Given a PEC-spline space \({\mathbb {S}}\) on \((I, {\mathbb {T}})\) containing the constants, with \((n+1)\)-dimensional section-spaces, the following properties are equivalent:

  1. (i)

    \({\mathbb {S}}\) is good for design;

  2. (ii)

    there exists a system \((w_1, \ldots , w_n)\) of piecewise weight functions on \((I;{\mathbb {T}})\) such that \({\mathbb {S}}\) can be described as the set of all continuous functions on I for which, at each \(k\in {\mathbb {Z}}\), the piecewise function \(L_nS\) is constant on each \([t_k^+, t_{k+1}^-]\) and the piecewise functions \(L_1S, \ldots , L_{n-m_k}S\) are continuous at \(t_k\), where the piecewise generalised derivatives \(L_0, \ldots , L_n\) are associated with \((\mathbb {1},w_1, \ldots , w_n)\) through (2.1).

For the implication \(\mathrm{(ii)\Rightarrow (i)}\), see [33]. The converse \(\mathrm{(i)\Rightarrow (ii)}\) is obtained by iteration of the following result which will be the key-point for defining rational splines in next section.

Theorem 2.4

Assume the PEC-spline space \({\mathbb {S}}\) to be good for design on \((I, {\mathbb {T}})\) and let \(N_\ell \), \(\ell \in {\mathbb {Z}}\), be its B-spline basis, with \(n\ge 2\). Given a spline \(U\in {\mathbb {S}}\), expanded as \(U(x)=\sum _{\ell \in {\mathbb {Z}}}\alpha _\ell N_\ell (x)\), \(x\in I\), let the piecewise function \(w_1\) on \((I;{\mathbb {T}})\) be defined by \(w_1:=DU\). Then, the following properties are equivalent:

  1. (i)

    the poles \(\alpha _\ell \), \(\ell \in {\mathbb {Z}}\), of the spline U form a strictly increasing sequence;

  2. (ii)

    all coefficients of the expansion of \(w_1\) in any B-spline-like basis of \(D{\mathbb {S}}\) are positive;

  3. (iii)

    \(w_1\) is positive on each \([t_k^+, t_{k+1}^-]\) and, denoting by \(L_1\) the piecewise generalised derivative defined by \(L_1V:=\frac{DV}{w_1}\) for all piecewise functions on \((I; {\mathbb {T}})\), the space \(L_1{\mathbb {S}}\) is a PEC-spline space good for design on \((I;{\mathbb {T}})\).

The proof, for which we refer to [37], is based on the properties of blossoms and on Theorem 2.2. We just mention that the obvious fact that \(L_1{\mathbb {S}}\) contains the constants comes from the fact \(\mathbb {1}= L_1U\). The section-spaces in \(L_1{\mathbb {S}}\) are n-dimensional. Accordingly, we can say that the previous theorem describes one step of dimension diminishing within the class of PEC-spline spaces good for design on \((I, {\mathbb {T}})\). We can iterate the results, applying Theorem 2.4 to \(L_1{\mathbb {S}}\) instead of \({\mathbb {S}}\). The only difference is that the PEC-splines in \(L_1{\mathbb {S}}\) may be discontinuous (if, for some k, \(m_k=n\)) and in that case, we can apply Theorem 2.4 after splitting \(L_1{\mathbb {S}}\) on intervals on which we have continuity. In the end, the iteration provides us with infinitely many sequences of associated piecewise generalised derivatives satisfying (ii) of Theorem 2.3.

Remark 2.1

Let \(L_0, \ldots , L_n\) be the piecewise generalised derivatives associated with a given system \((w_0, w_1, \ldots , w_n)\) of piecewise weight functions on \((I;{\mathbb {T}})\). Denote by \(ECP(w_0, \ldots ,w_n)\) the \((n+1)\)-dimensional space of all piecewise functions F on \((I;{\mathbb {T}})\) for which \(L_nF\) is constant on I, and \(L_0F, \ldots , L_{n-1}F\) are continuous at each \(t_k\), \(k\in {\mathbb {Z}}\). In this space, it is possible to count the total number of zeroes on I, including multiplicities. A piecewise version of Rolle’s theorem shows that, for each non-zero element, this number is bounded above by n [33]. This justifies the terminology Extended Chebyshev Piecewise Space associated with\((w_0, w_1, \ldots , w_n)\) and the notation \(ECP(w_0, \ldots ,w_n)\). We can then restate Theorem 2.3 as follows: a PEC-spline space\({\mathbb {S}}\)on\((I, {\mathbb {T}})\)is good for design if and only if there exists a system\((w_1, \ldots , w_n)\)of piecewise weight functions on\((I;{\mathbb {T}})\)such that\(ECP(\mathbb {1}, w_1, \ldots ,w_n)\subset {\mathbb {S}}\).

3 GCPCNURBS

Two different classes of PEC-spline spaces on \((I;{\mathbb {T}})\), based on the knot-vector \({\mathbb {K}}\), have appeared in the previous section. On the one hand, the class \({\mathscr {P}}{\mathscr {C}}_n(I; {\mathbb {K}})\) of all those for which we have existence of B-spline-like bases in all spaces derived by knot insertion, including the initial space itself. On the other, the class \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\) of those which are good for design on \((I;{\mathbb {T}})\). The index n refers to the fact that the section-spaces are \((n+1)\)-dimensional. From Theorem 2.2 and Definition 2.3 we can state that

$$\begin{aligned} {\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\subset {\mathscr {P}}{\mathscr {C}}_{n}(I;{\mathbb {K}})= D\biggl ({\mathscr {P}}{\mathscr {C}}_{n+1,0}(I;{\mathbb {K}})\biggr ), \quad n\ge 0. \end{aligned}$$
(3.1)

Referring to [42], we would like to mention that the class \({\mathscr {P}}{\mathscr {C}}_n(I; {\mathbb {K}})\) is the class of all PEC-spline spaces \({\mathbb {S}}\) on \((I;{\mathbb {T}})\) which are good for (spline) interpolation, that is, according to (3.1) and Remark 2.1, all those for which we can find a system \((w_0, \ldots , w_n)\) of piecewise weight functions on \((I;{\mathbb {T}})\) such that \(ECP(w_0, \ldots ,w_n)\subset {\mathbb {S}}\). However, as announced in [41], what we are interested in, here, is using the results surveyed earlier to construct GCPCNURBS: Geometrically Continuous Piecewise Chebyshevian Non-Uniform Rational B-Splines!

3.1 Rational spline spaces based on \({\mathbb {S}}\)

Throughout this section, a PEC-spline space \({\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\) is given, and we denote by \(N_\ell \), \(\ell \in {\mathbb {Z}}\), its B-spline basis.

Theorem 3.1

Let \(\varOmega \in {\mathbb {S}}\) be given by its poles \(\omega _\ell \), \(\ell \in {\mathbb {Z}}\),   i.e.,

$$\begin{aligned} \varOmega (x):=\sum _{\ell \in {\mathbb {Z}}}\omega _\ell N_\ell (x), \quad x\in I. \end{aligned}$$
(3.2)

The following statements are then equivalent:

  1. (i)

    the poles \(\omega _\ell \), \(\ell \in {\mathbb {Z}}\), of \(\varOmega \) are all positive;

  2. (ii)

    the blossom \(\omega \) of the spline \(\varOmega \) is positive on \({\mathbb {A}}_n({\mathbb {K}})\);

  3. (iii)

    the spline \(\varOmega \) is positive on I; if we denote by \(L_0\) the division by \(\varOmega \), the space \(L_0{\mathbb {S}}\) is a space of geometrically continuous piecewise Chebyshevian splines and it is good for design on \((I;{\mathbb {T}})\);

  4. (iv)

    the spline \(\varOmega \) is positive on I and there exists a system \((w_1, \ldots , w_n)\), of piecewise weight functions on \((I;{\mathbb {T}})\) such that \(ECP(\varOmega , w_1, \ldots , w_n)\subset {\mathbb {S}}\).

Proof

  • \(\mathrm{(i)\Leftrightarrow (ii):}\) For the part \(\mathrm{(ii)\Rightarrow (i)}\) there is nothing to prove since the poles of a spline are defined as values of its blossoms at specific points in \({\mathbb {A}}_n({\mathbb {K}})\), see (2.6). Let us now assume that (i) holds. As recalled in the previous section, the generalised version of the de Boor algorithm permits the evaluation of the blossom \(\omega \) of the spline \(\varOmega \) at any \((x_1,\ldots , x_n)\in {\mathbb {A}}_n(K)\) as a strictly convex combination of at most \((n+1)\) consecutive poles of \(\varOmega \). This is a strictly convex combination of positive numbers. We thus have

    $$\begin{aligned} \omega (x_1,\ldots , x_n)>0 \quad \hbox {for all }(x_1,\ldots , x_n)\in {\mathbb {A}}_n(K) \end{aligned}$$
    (3.3)
  • \(\mathrm{(i)\Leftrightarrow (iii):}\) The equivalence between (ii) and (iii) of Theorem 2.4 can be read as a property of the sole PEC-spline space \(D{\mathbb {S}}\). Given a spline space in the class \( {\mathscr {P}}{\mathscr {C}}_{n}(I;{\mathbb {K}})\), piecewise division by a spline is possible and provides a spline space in \({\mathscr {P}}{\mathscr {C}}_{n, 0}(I;{\mathbb {K}})\) if and only if the coefficients of this spline in a B-spline-like basis all have the same strict sign. From (3.1), we can say that this property is valid in particular in \({\mathbb {S}}\). This exactly yields the claimed equivalence \(\mathrm{(i)\Leftrightarrow (iii)}\) of Theorem 3.1.

  • \(\mathrm{(i)\Leftrightarrow (iv):}\) follows from the fact that the PEC-spline space \(L_0{\mathbb {S}}\) is good for design if and only if there exists a system \((w_1, \ldots , w_n)\), of piecewise weight functions on \((I;{\mathbb {T}})\) such that \(ECP(\mathbb {1}, w_1, \ldots , w_n)\subset L_0{\mathbb {S}}\) (see Remark 2.1).

\(\square \)

Theorem 3.2

Assuming that \(\omega _\ell \) is positive for each \(\ell \in {\mathbb {Z}}\), let \({\widehat{{\mathbb {S}}}}:=L_0{\mathbb {S}}\) be the spline space good for design presented in (iii) of Theorem 3.1. The B-spline basis of \({\widehat{{\mathbb {S}}}}\) is the sequence \({\widehat{N}}_\ell \), \(\ell \in {\mathbb {Z}}\), defined by

$$\begin{aligned} {\widehat{N}}_\ell :=\frac{\omega _\ell N_\ell }{\varOmega }, \quad \ell \in {\mathbb {Z}}. \end{aligned}$$
(3.4)

Moreover, the spline space \({\widehat{{\mathbb {S}}}}\) is the set of all functions of the form

$$\begin{aligned} {\widehat{S}}(x):=\frac{\sum _{\ell \in {\mathbb {Z}}}\alpha _\ell \omega _\ell N_\ell (x)}{\sum _{\ell \in {\mathbb {Z}}}\omega _\ell N_\ell (x)}, \quad x\in I, \end{aligned}$$
(3.5)

where the \(\alpha _\ell \) are any real numbers.

Proof

The functions \({\widehat{N}}_\ell \), \(\ell \in {\mathbb {Z}}\), defined in (3.4), all belong to the spline space \({\widehat{{\mathbb {S}}}}\). They satisfy the support, positivity, and endpoint properties exactly as the B-spline basis \(N_\ell \), \(\ell \in {\mathbb {Z}}\), of \({\mathbb {S}}\). Moreover, division of both sides of (3.2) by the positive function \(\varOmega \) yields the normalisation property

$$\begin{aligned} \sum _{\ell \in {\mathbb {Z}}}{\widehat{N}}_\ell (x)=1\quad \hbox {for all }x\in I. \end{aligned}$$

The sequence \({\widehat{N}}_\ell \), \(\ell \in {\mathbb {Z}}\), is thus the B-spline basis in \({\widehat{{\mathbb {S}}}}\). The description of all elements of the rational spline space \({\widehat{{\mathbb {S}}}}\) as in (3.5) results from the expansion of any spline \({\widehat{S}}\in \widehat{\mathbb {S}}\) in the B-spline basis as

$$\begin{aligned} {\widehat{S}}(x)=\sum _{\ell \in {\mathbb {Z}}}\alpha _\ell {\widehat{N}}_\ell (x), \quad x\in I, \end{aligned}$$
(3.6)

where the \(\alpha _\ell \)’s are the poles of \({\widehat{S}}\), taking account of (3.2). \(\square \)

For a while, imagine that \({\mathbb {S}}\) is the space of ordinary polynomial splines associated with the knot-vector \({\mathbb {K}}\). Then formula (3.5) describes the so-called rational splines based on the positive rational weights \(\omega _\ell \), \(\ell \in {\mathbb {Z}}\). Moreover, the corresponding functions \({\widehat{N}}_\ell \), \(\ell \in {\mathbb {Z}}\), are the famous Non Uniform Rational B-splines (NURBS). By analogy we introduce the following definitions.

Definition 3.1

For any sequence \(\omega _\ell \), \(\ell \in {\mathbb {Z}}\), of positive numbers, the spline space

$$\begin{aligned} {\widehat{{\mathbb {S}}}}=\{{\widehat{S}}:=\frac{S}{\varOmega }\ |\ S\in {\mathbb {S}}\} \end{aligned}$$

is called the rational spline space based on the spline space\({\mathbb {S}}\)and on the positive weights\(\omega _\ell \), \(\ell \in {\mathbb {Z}}\), or as well based on\({\mathbb {S}}\)and on\(\varOmega \). We denote it \({\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )\) or \({\mathscr {R}}\bigl ({\mathbb {S}}; \varOmega \bigr )\). The functions (3.4) are geometrically continuous piecewise Chebyshevian NURBS.

3.2 Description of rational spline spaces

Select positive\(\omega _\ell \), \(\ell \in {\mathbb {Z}}\), and consider the corresponding positive spline\(\varOmega \)defined by (3.2). Subsequently, we investigate the rational spline space

$$\begin{aligned} {\widehat{{\mathbb {S}}}}:={\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )={\mathscr {R}}\bigl ({\mathbb {S}}; \varOmega \bigr ). \end{aligned}$$

Below is a precise description of \({\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )\),   i.e., its section-spaces and its connection matrices.

Theorem 3.3

Let \({\widehat{{\mathbb {E}}}}_k\), \(k\in {\mathbb {Z}}\), the section-spaces of the rational spline space \({\widehat{{\mathbb {S}}}}\), and by \({\widehat{M}}_k\), \(k\in {\mathbb {Z}}\), its connection matrices. They can be described as follows:

  1. 1.

    for each k, \({\widehat{{\mathbb {E}}}}_k\) is the rational space based on \({\mathbb {E}}_k\) and on the restriction \(\varOmega _k\) of \(\varOmega \) to \([t_k, t_{k+1}]\),   i.e.,

    $$\begin{aligned} {\widehat{{\mathbb {E}}}}_k={\mathscr {R}}({\mathbb {E}}_k; \varOmega _k), \quad k\in {\mathbb {Z}}; \end{aligned}$$
    (3.7)
  2. 2.

    for each k, the square matrix \({\widehat{M}}_k\) of order \((n-m_k)\) has the same diagonal as \(M_k\); it is obtained by deleting the first row and column in the lower triangular matrix of order \((n-m_k+1)\)

    $$\begin{aligned} {\widehat{R}}_k:={\mathscr {C}}_{n-m_k}(\varOmega , t_k^+)^{-1}R_k \ {{\mathscr {C}}_{n-m_k}(\varOmega , t_k^-)}, \end{aligned}$$
    (3.8)

    where, for \(\varepsilon =\pm \) and \(0\le j\le n\), \({\mathscr {C}}_j(\varOmega ,{t_k}^\varepsilon )=\bigl ({\mathscr {C}}_{j,p,q}(\varOmega ,{t_k}^\varepsilon )\bigr )_{0\le p,q\le n-m_k}\) stands for the lower triangular square matrix of order \((n-m_k+1)\) defined by

    $$\begin{aligned} {\mathscr {C}}_{j,p,q}(\varOmega ,{t_k}^\varepsilon )_{p,q}: ={\textstyle (\begin{array}{c} p \\ q \end{array})}\ {\varOmega }^{(p-q)}({t_k}^\varepsilon ), \quad 0\le q\le p\le j, \end{aligned}$$
    (3.9)

    and where \(R_k\) denotes the block diagonal matrix \((1, M_k)\).

Proof

1. The section-spaces Clearly, the section-spaces of the rational spline space \({\widehat{{\mathbb {S}}}}\) can be described as

$$\begin{aligned} {\widehat{{\mathbb {E}}}}_k=\left\{ \frac{F_k}{\varOmega _k}\ |\ F_k\in {\mathbb {E}}_k\right\} , \quad k\in {\mathbb {Z}}. \end{aligned}$$
(3.10)

We know that the rational spline space \({\widehat{{\mathbb {S}}}}\) is good for design. This implies that, for each k, the section-space \({\widehat{{\mathbb {E}}}}_k\) is good for design on \([t_k, t_{k+1}]\). This enables to identify the EC-spaces (3.10) as the rational EC-spaces (3.7) via Theorem 4.1 of [39].

2. The connection matrices Given any \(\widehat{S}\in {\widehat{{\mathbb {S}}}}\), let us consider the spline \(S:=\varOmega \widehat{S}\in {\mathbb {S}}\). At any knot \(t_k\), the previous equality yields

$$\begin{aligned} \bigl (S({t_k}), S'({t_k}^\varepsilon ), \ldots , S^{(n-m_k)}({t_k}^\varepsilon )\bigr )^T={\mathscr {C}}_{n-m_k}(\varOmega , {t_k}^\varepsilon )\bigl ({\widehat{S}}({t_k}), {\widehat{S}}'({t_k}^\varepsilon ), \ldots , {\widehat{S}}^{(n-m_k)}({t_k}^\varepsilon )\bigr )^T\nonumber \\ \end{aligned}$$
(3.11)

the lower triangular matrix \({\mathscr {C}}_{n-m_k}(\varOmega , {t_k}^\varepsilon )\) being defined as explained in (3.9). Since S belongs to \({\mathbb {S}}\) we know that

$$\begin{aligned} \bigl (S({t_k}), S'({t_k}^+), \ldots , S^{(n-m_k)}({t_k}^+)\bigr )^T=R_k \bigl (S({t_k}), S'({t_k}^-), \ldots , S^{(n-m_k)}({t_k}^-)\bigr )^T.\nonumber \\ \end{aligned}$$
(3.12)

On account of (3.11), this leads to

$$\begin{aligned} \bigl ({\widehat{S}}({t_k}), {\widehat{S}}'({t_k}^+), \ldots , \widehat{S}^{(n-m_k)}({t_k}^+)\bigr )^T={\widehat{R}}_k\ \bigl ({\widehat{S}}({t_k}), {\widehat{S}}'({t_k}^-), \ldots , {\widehat{S}}^{(n-m_k)}({t_k}^-)\bigr )^T.\nonumber \\ \end{aligned}$$
(3.13)

This equality holds in particular for the constant function \({\widehat{S}}=\mathbb {1}\) (obtained for \(S=\varOmega \)). This shows that the first column of \({\widehat{{\mathbb {R}}}}_k\) is \((1, 0, \ldots , 0)\). Accordingly, (3.13) reduces to

$$\begin{aligned} \bigl ({\widehat{S}}'(t_k^+), \ldots ,\widehat{S}^{(n-m_k)}({t_k}^+)\bigr )^T={\widehat{M}}_k \bigl ({\widehat{S}}'(t_k^+), \ldots ,{\widehat{S}}^{(n-m_k)}({t_k}^+)\bigr )^T, \end{aligned}$$
(3.14)

where \({\widehat{M}}_k\) is obtained as claimed in Theorem 3.3. That \(M_k\) and \({\widehat{M}}_k\) have the same diagonal readily follows from all diagonal entries of both lower triangular matrices \({\mathscr {C}}_{n-m_k}(\varOmega , {t_k}^-)\) and \({\mathscr {C}}_{n-m_k}(\varOmega , {t_k}^+)\) being equal to \(\varOmega (t_k)\). \(\square \)

4 Rational algorithms

We consider a PEC-spline space \({\mathbb {S}}\) good for design on \((I, {\mathbb {K}})\), and a rational spline space based on it, \({\widehat{{\mathbb {S}}}}={\mathscr {R}}({\mathbb {S}};\varOmega )={\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )\). The rational spline space \({\widehat{{\mathbb {S}}}}\) being good for design on \((I, {\mathbb {K}})\), we can develop all the classical spline algorithms in it. In this section we investigate how to derive the rational algorithms from the corresponding algorithms in the initial space \({\mathbb {S}}\).

4.1 Rational blossoms and pseudoaffinity function

As recalled in Sect. 2, in a spline space good for design, each among the classical algorithms consists in evaluating the blossoms at convenient admissible n-tuples, thanks to the fundamental properties of blossoms, and in particular thanks to the pseudoaffinity function. It is therefore necessary to identify in the rational space \({\widehat{{\mathbb {S}}}}\) the tools which are specific to spline spaces good for design: blossoms and pseudoaffinity function. This is the object of the following theorem.

Theorem 4.1

Let S be any spline in \({\mathbb {S}}\), and \(s:{\mathbb {A}}_n({\mathbb {K}})\rightarrow {\mathbb {R}}\) its blossom. Then, the blossom \({\widehat{s}}:A_n({\mathbb {K}})\rightarrow {\mathbb {R}}\) of the function \({\widehat{S}}:=\displaystyle \frac{S}{\varOmega }\in {\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )\) is obtained as

$$\begin{aligned} {\widehat{s}}(x_1, \ldots , x_n):=\displaystyle \frac{s(x_1, \ldots , x_n)}{\omega (x_1, \ldots , x_n)}, \quad (x_1, \ldots , x_n)\in {\mathbb {A}}_n({\mathbb {K}}). \end{aligned}$$
(4.1)

If \(\beta \) denotes the pseudoaffinity function in \({\mathbb {S}}\), then the pseudoaffinity function \({\widehat{\beta }}\) in \({\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )\) is given by

$$\begin{aligned} {\widehat{\beta }}(x_1, \ldots , x_{n-1};c,d;x):=\beta (x_1, \ldots , x_{n-1};c,d;x)\frac{\omega (x_1, \ldots , x_{n-1},d)}{\omega (x_1, \ldots , x_{n-1},x)}, \end{aligned}$$
(4.2)

for any \((x_1, \ldots , x_{n-1})\in {\mathbb {A}}_{n-1}({\mathbb {K}})\) and any, \(c,d,x\in I\), \(c<d\), such that \((x_1, \ldots , x_{n-1}, c,d)\in {\mathbb {A}}_{n+1}({\mathbb {K}})\) and \(x\in [c,d]\). It also satisfies

$$\begin{aligned} 1-{\widehat{\beta }}(x_1, \ldots , x_{n-1};c,d;x):=\bigl (1-\beta (x_1, \ldots , x_{n-1};c,d;x)\bigr ) \frac{\omega (x_1, \ldots , x_{n-1},c)}{\omega (x_1, \ldots , x_{n-1},x)}.\nonumber \\ \end{aligned}$$
(4.3)

Proof

From (3.2), (3.4) and (3.6), we clearly obtain

$$\begin{aligned} {\widehat{s}}(\xi _{\ell +1}, \ldots , \xi _{\ell +n})=\displaystyle \frac{s(\xi _{\ell +1}, \ldots , \xi _{\ell +n})}{\omega (\xi _{\ell +1}, \ldots , \xi _{\ell +n})}\quad \hbox {for all }\ell \in {\mathbb {Z}}. \end{aligned}$$
(4.4)

Now take any \((x_1, \ldots , x_n)\in {\mathbb {A}}_n({\mathbb {K}})\). We know that we can select some knot-vector \({\mathbb {K}}^*=\left( \xi _\ell ^*\right) _{\ell \in {\mathbb {Z}}}\) obtained from \({\mathbb {K}}\) through insertion of knots, so that, up to permutation,

$$\begin{aligned} (x_1, \ldots , x_n)=\left( \xi _{\ell _0+1}^*, \ldots , \xi _{\ell _0+n}^*\right) \quad \hbox {for some }\ell _0\in {\mathbb {Z}}. \end{aligned}$$
(4.5)

Based on \({\mathbb {K}}^*\), let \({\mathbb {S}}^*\) be the spline space obtained from \({\mathbb {S}}\) by knot insertion. The inclusion \({\mathbb {S}}\subset {\mathbb {S}}^*\) implies \(L_0{\mathbb {S}}\subset L_0({\mathbb {S}}^*)\). Moreover, since the blossom \(\omega \) is positive on \({\mathbb {A}}_n({\mathbb {K}})\), the poles of \(\varOmega \) considered as an element of \({\mathbb {S}}^*\) are all positive. Accordingly, \(L_0({\mathbb {S}}^* )\) is the rational spline space based on \({\mathbb {S}}^*\) and \(\varOmega \). On the other hand, it is easily checked that \(L_0({\mathbb {S}}^*)=(L_0{\mathbb {S}})^*\). The inclusion \(L_0{\mathbb {S}}\subset L_0({\mathbb {S}}^*) \) can therefore be written as follows:

$$\begin{aligned} {\mathscr {R}}\left( {\mathbb {S}}; \varOmega \right) \subset \bigl ({\mathscr {R}}\left( {\mathbb {S}}; \varOmega \right) \bigr )^*. \end{aligned}$$

Therefore, applied in \(\bigl ({\mathscr {R}}\left( {\mathbb {S}}; \varOmega \right) \bigr )^*\) instead of \({\mathscr {R}}\left( {\mathbb {S}}; \varOmega \right) \), the equality (4.6) yields:

$$\begin{aligned} {\widehat{s}}(\xi _{\ell +1}^*, \ldots , \xi _{\ell +n}^*)=\displaystyle \frac{s(\xi _{\ell +1}^*, \ldots , \xi _{\ell +n}^*)}{\omega (\xi _{\ell +1}^*, \ldots , \xi _{\ell +n}^*)}\quad \hbox {for all }\ell \in {\mathbb {Z}}. \end{aligned}$$
(4.6)

In particular, due to (4.5), this proves the claimed equality (4.1) for our selected n-tuple \((x_1, \ldots , x_n)\).

Given \(x_1, \ldots , x_{n-1}, c,d,x\) as in (4.2), applying (4.6) and the pseudoaffinity property in \({\mathbb {S}}\), yields, with \(\beta :=\beta (x_1, \ldots , x_{n-1};c,d;x)\),

$$\begin{aligned}&{\widehat{s}}(x_1, \ldots , x_{n-1}, x)=\frac{(1- \beta )s(x_1, \ldots , x_{n-1}, c)+\beta s(x_1, \ldots , x_{n-1}, d)}{\omega (x_1, \ldots , x_{n-1}, x)}, \nonumber \\&\quad =\frac{(1- \beta )\omega (x_1, \ldots , x_{n-1}, c){\widehat{s}}(x_1, \ldots , x_{n-1}, c)+\beta \omega (x_1, \ldots , x_{n-1}, d)\widehat{s}(x_1, \ldots , x_{n-1}, d)}{\omega (x_1, \ldots , x_{n-1}, x)}.\nonumber \\ \end{aligned}$$
(4.7)

This proves (4.2) and (4.3). \(\square \)

4.2 Examples

Our illustrations will concern the case \(n=3\), with simple knots \(t_\ell \), \(\ell \in {\mathbb {Z}}\). We start with two given bi-infinite sequence \(P_\ell , {\widehat{P}}_\ell \in {\mathbb {R}}^d\), \(\ell \in {\mathbb {Z}}\), and the associated splines \(S\in {\mathbb {S}}^d\), \({\widehat{S}}\in {\widehat{{\mathbb {S}}}}^d\) defined by

$$\begin{aligned} P_\ell =s(t_{\ell +1},t_{\ell +2}, t_{\ell +3}), \quad \widehat{P}_\ell ={\widehat{s}}(t_{\ell +1},t_{\ell +2}, t_{\ell +3}),\quad \ell \in {\mathbb {Z}}. \end{aligned}$$

We illustrate (4.2) and (4.3) with classical algorithms.

4.2.1 Insertion of a knot

Fig. 1
figure 1

For \(t\in [t_k, t_{k+1}]\), evaluation of S(t) from the poles \(P_{k-3}, P_{k-2}, P_{k-1}, P_k\) of S. Modification of the control polygon after insertion of the knot t

Take \(k\in {\mathbb {Z}}\) and a fixed \(t\in [t_k, t_{k+1}]\). Let the knot-vector \({\mathbb {K}}^\star =\bigl (t_\ell ^\star \bigr )\) be obtained after inserting t in \({\mathbb {K}}\), with

$$\begin{aligned} t_\ell ^\star :=t_\ell \hbox { for }\ell \le k, \quad t_{k+1}^\star :=t, \quad t_\ell ^\star :=t_{\ell -1} \hbox { for }\ell \ge k+2, \end{aligned}$$

and let \({\mathbb {S}}\subset {\mathbb {S}}^\star \) be the corresponding knot insertion procedure illustrated in Fig. 1 which we briefly recall subsequently. The poles of S considered as a spline in \({{\mathbb {S}}}^{\star {d}}\) being the points

$$\begin{aligned} P_\ell ^\star =s(t_{\ell +1}^\star , t_{\ell +2}^\star , t_{\ell +3}^\star ), \quad \ell \in {\mathbb {Z}}. \end{aligned}$$

We therefore clearly have

$$\begin{aligned} \begin{aligned}&P_\ell ^\star =P_\ell \ \hbox { for }\ell \le k-3, \quad P_{\ell }^\star =P_{\ell -1}\ \hbox { for }\ell \ge k+1, \\&P_{k-2}^\star =P_{k-2}^1, \quad P_{k-1}^\star =P_{k-1}^1, \quad P_{k}^\star =P_{k}^1, \end{aligned} \end{aligned}$$
(4.8)

where the points \(P_i^1\), \(i=k-1, k-1, k\), are defined inside Fig. 1. In other words, the two initial poles \(P_{k-2}, P_{k-1}\), are replaced in \({\widehat{{\mathbb {S}}}}\) by the three points \(P_{k-2}^1, P_{k-1}^1\), \(P_{k}^1\) obtained by really inserting t within the blossom whenever possible for admissible triplets, while all other initial poles are maintained.

The knot insertion \({\widehat{{\mathbb {S}}}}\subset {\widehat{{\mathbb {S}}}}^\star \) can be described by the same Fig. 1, after simply adding a hat above all capital letters and above the blossom s. Here we are interested in how to derive the ratios \({\widehat{X}}_i, {\widehat{Y}}_i\) of the rational case from the initial ratios \(X_i, Y_i\). Now, from the symmetry and pseudoaffinity property (2.5) of blossoms, we know that we can take

$$\begin{aligned} X_i:= \beta (t_{i+1}, t_{i+2};t_{i}, t_{i+3}; t)\in [0,1], \quad Y_i:=1-X_i, \quad i=k-2, k-1, k.\nonumber \\ \end{aligned}$$
(4.9)

Similar formulæ can be used in \({\widehat{{\mathbb {S}}}}\), replacing \(\beta \) by the rational pseudoaffinity function \({\widehat{\beta }}\). However, since we are indicating ratios, in the rational version of Fig. 1, we can take

$$\begin{aligned} {\widehat{X}}_i:= \omega _i \ X_i, \quad {\widehat{Y}}_i:= \omega _{i-1}\ Y_i, \quad i=k-2, k-1, k. \end{aligned}$$
(4.10)

This readily follows from (4.2) and (4.3).

4.2.2 Evaluation (de Boor algorithm)

With the notations used in the previous subsection, evaluation of \(S(t)=s(t,t,t)\) consists in inserting successively t, \(t^{[2]}\), \(t^{[3]}\) in the blossoms, starting again from the four poles \(P_{k-3}, \ldots , P_k\) of S. The first step was already described in the previous algorithm. The second step provides the points \(P_{k-1}^2, P_k^2\), and the third one the point \(P_k^3\), all defined inside Fig. 1. Similarly to (4.9), we can take

$$\begin{aligned} \begin{aligned}&\qquad X_i^1:=\beta (t_{i+1}, t; t_{i}, t_{i+2}; t), \quad Y_i^1:=1-X_i^1, \quad i=k-1, k;\\&\qquad \qquad \qquad X_k^2:=\beta (t, t;t_{k}, t_{k+1}; t), \quad Y_k^2:=1-X_k^2. \end{aligned} \end{aligned}$$
(4.11)

As a special case, when evaluating \(\varOmega (t)=\omega (t,t,t)\) from its four poles \(\omega _{k-3}, \omega _{k-2}\), \(\omega _{k-1}, \omega _{k}\), we obtain the intermediate points \(\omega _i^1:=\omega (t_{i+1}, t_{i+2}, t)\), \(i=k-2, k-1, k\), and \(\omega _i^2:=\omega (t_{i+1}, t, t)\), \(i= k-1, k\).

The same formulæ (4.11), with hats, are valid in the rational spline space \({\widehat{{\mathbb {S}}}}\). However, since we are indicating ratios, due to (4.2) and (4.3), we can as well take

$$\begin{aligned} {\widehat{X}}_i^1:= \omega _i^j \ X_i^j, \quad {\widehat{Y}}_i^j:= \omega _{i-1}^j \ Y_i^j, \quad j=0, 1,2, i=k-3+j, \ldots , k. \end{aligned}$$
(4.12)

4.2.3 From poles to Bézier points

Fig. 2
figure 2

Conversion from the poles \(P_{k-3}, P_{k-2}, P_{k-1}, P_k\) of S to the Bézier points \(P_0^k, P_1^k, P_2^k, P_3^k\) of its kth section

The Bézier points \(P_0^k, P_1^k, P_2^k, P_3^k\) of the kth section of S are defined in terms of blossoms as indicated inside Fig. 2. As a consequence, the ratios can be taken as follows:

$$\begin{aligned} \begin{aligned}&X_k:=\beta (t_k,t_{k+1};t_{k-1},t_{k+2};t_k), \quad Z_k:=1-\beta (t_k,t_{k+1};t_{k-1},t_{k+2};t_{k+1}), \\&Y_k=1-X_k-Z_k,\\&C_k:=\beta (t_{k+1},t_{k+1};t_{k},t_{k+2};t_{k+1}), \quad A_k:=1-C_{k-1}. \end{aligned} \end{aligned}$$
(4.13)

Applying this construction to the poles \(\omega _{k-3}, \omega _{k-2}, \omega _{k-1}, \omega _k\) of the spline \(\varOmega \in {\mathbb {S}}\), we obtain the Bézier points \( \omega _0^k=\varOmega (t_k), \omega _1^k, \omega _2^k, \omega _3^k=\varOmega (t_{k+1})\), of its kth section. Due to (4.2) and (4.3), we can then derive that the same algorithm in the rational spline space \({\widehat{{\mathbb {S}}}}\) can be described with the following ratios

$$\begin{aligned} \begin{aligned}&{\widehat{X}}_k=\omega _2^k\,\omega _{k-1}\,X_k, \quad {\widehat{Y}}_k=\omega _{k-2}\,\omega _{k-1}\,Y_k, \quad {\widehat{Z}}_k= \omega _{k-2}\,\omega _1^k\,Z_k, \\&{\widehat{C}}_k=\omega _1^{k+1}\,C_k, \quad {\widehat{A}}_k=\omega _2^{k-1}\,A_k \end{aligned} \end{aligned}$$
(4.14)

In this algorithm, assume that blossoms are affine in each variable on \({\mathbb {A}}_3({\mathbb {K}})\), that is, \(\beta (x_1,x_2;a,b;x)=\frac{x-a}{b-a}\) in (2.5), then we get the passage from poles to Bézier points in either the ordinary cubic spline space, or the associated rational algorithm, see [12]. The same holds for the previous algorithms.

5 Piecewise Chebyshevian spline spaces in rationality

Any rational spline space based on a given \({\mathbb {S}}\) in \( {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\) also belongs to \({\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\). Therefore we can in turn consider rational spline spaces based on it, as investigated below.

Theorem 5.1

Any rational spline space based on a rational spline space based on \({\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\) is in turn a rational spline space based on \({\mathbb {S}}\). More precisely, given any two bi-infinite sequences of positive numbers \(\omega _\ell , {\widehat{\omega }}_\ell \), \(\ell \in {\mathbb {Z}}\), we have

$$\begin{aligned} {\mathscr {R}}\biggl ({\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr ); ({\widehat{\omega }}_\ell )_{\ell \in {\mathbb {Z}}}\biggr )= {\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell \,{\widehat{\omega }}_\ell )_{\ell \in {\mathbb {Z}}}\bigr ). \end{aligned}$$
(5.1)

Proof

In accordance with earlier notations, let us successively set

$$\begin{aligned} \varOmega (x):=\sum _{\ell \in {\mathbb {Z}}} \omega _\ell N_\ell (x), \quad {\widehat{\varOmega }}(x):=\sum _{\ell \in {\mathbb {Z}}} {\widehat{\omega }}_\ell \widehat{N}_\ell (x), \quad x\in I, \end{aligned}$$

where \(N_\ell \), \({\widehat{N}}_\ell \), \(\ell \in {\mathbb {Z}}\) are the B-spline bases in \({\mathbb {S}}\) and \({\widehat{{\mathbb {S}}}}:={\mathscr {R}}\bigl ({\mathbb {S}}; \varOmega \bigr )\), respectively. On account of the obvious equality \({\mathscr {R}}\bigl ({\widehat{{\mathbb {S}}}}; \widehat{\varOmega }\bigr )=\displaystyle \frac{1}{\varOmega \,{\widehat{\varOmega }}}\,{\mathbb {S}}\), in order to prove (5.1), it is sufficient to check that

$$\begin{aligned} \varOmega (x)\,{\widehat{\varOmega }}(x)=\sum _{\ell \in {\mathbb {Z}}}\omega _\ell \,{\widehat{\omega }}_\ell \, N_\ell (x), \quad x\in I. \end{aligned}$$

This readily follows from (3.4). \(\square \)

Taking account of the trivial identity \({\mathscr {R}}({\mathbb {S}};\mathbb {1})={\mathbb {S}}\), as a special case of (5.1), we can state the following corollary.

Corollary 5.1

Given any \({\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\), and any bi-infinite sequence of positive numbers \(\omega _\ell \), \(\ell \in {\mathbb {Z}}\), we have

$$\begin{aligned} {\mathbb {S}}={\mathscr {R}}\left( {\mathscr {R}}\bigl ({\mathbb {S}}; \varOmega \bigr ); \frac{1}{\varOmega }\right) ={\mathscr {R}}\biggl ({\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr ); \biggl (\frac{1}{\omega _\ell }\biggr )_{\ell \in {\mathbb {Z}}}\biggr ). \end{aligned}$$
(5.2)

The symmetry property pointed out in (5.2) suggests the following definition

Definition 5.1

Two spline spaces \({\mathbb {S}}, {\mathbb {S}}^\star \in {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\) are said to be in rationality when one of them is a rational spline space based on the other.

The previous results can then be interpreted as follows:

Corollary 5.2

Being in rationality is an equivalence relation within the class \({\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\). It is closed under knot insertion.

Remark 5.1

Within the class \({\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\), let us introduce the binary relation \({\mathscr {R}}\) defined by

$$\begin{aligned} {\mathbb {S}}\, {\mathscr {R}}\, {\mathbb {S}}^\star \quad \Longleftrightarrow \quad \hbox {there exists a positive function }\varOmega :I\rightarrow {\mathbb {R}}\hbox { such that } {\mathbb {S}}=\varOmega \,{\mathbb {S}}^\star \nonumber \\ \end{aligned}$$
(5.3)

Very clearly, this is an equivalence relation, which could have been the definition of “being in rationality” and the starting point of the present work. Indeed, the equality \({\mathbb {S}}=\varOmega \,{\mathbb {S}}^\star \) and the positivity of \(\varOmega \) on I implies that the sequence \(\varOmega N_\ell ^\star \), \(\ell \in {\mathbb {Z}}\), is a B-spline-like basis in \({\mathbb {S}}\). Therefore, for each \(\ell \in {\mathbb {Z}}\), there exists a positive \( \omega _\ell \) such that \(\varOmega N_\ell ^\star =\omega _\ell N_\ell \). Moreover, the normalisation property of the B-spline basis in \({\mathbb {S}}^\star \) implies that \(\varOmega (x)=\sum _{\ell \in {\mathbb {Z}}} \omega _\ell N_\ell (x)\), for all \(x\in I\). Hence all poles of \(\varOmega \in {\mathbb {S}}\) are positive. This guarantees that \({\mathbb {S}}^\star ={\mathscr {R}}({\mathbb {S}}; \varOmega )\), along with (3.4), that is, \(N_\ell ^\star = \omega _\ell N_\ell /\varOmega \). Moreover, out of symmetry, we also have \({\mathbb {S}}={\mathscr {R}}({\mathbb {S}}^\star ; 1/\varOmega )\). Nevertheless, to clearly describe the equivalence classes, we do need Theorem 2.4.

Subsequently, we consider two spline spaces \({\mathbb {S}}, {\mathbb {S}}^\star \) in \({\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\), supposed to be in rationality, as in (5.3). The equality \({\mathbb {S}}=\varOmega {\mathbb {S}}^\star \) transforms all nested sequences

$$\begin{aligned} ECP(\mathbb {1}, w_1)\subset ECP(\mathbb {1}, w_1, w_2)\subset \cdots \subset ECP(\mathbb {1}, w_1, \ldots , w_n)\subset {\mathbb {S}}^\star , \end{aligned}$$
(5.4)

(see Remark 2.1) into all nested sequences

$$\begin{aligned} ECP(\varOmega , w_1)\subset ECP(\varOmega , w_1, w_2)\subset \cdots \subset ECP(\varOmega , w_1, \ldots , w_n)\subset {\mathbb {S}}, \end{aligned}$$
(5.5)

and viceversa. While (5.4) puts emphasis on the constants (affine structure) with a view to diminish the dimension through (left/right) differentiation, in (5.5) we forget about this affine predominance. Let us recall that the set of all spaces of the form \( ECP(\mathbb {1}, w_1)\subset {\mathbb {S}}^\star \) for which we can build a nested sequence (5.4) coincides with the set of all two-dimensional Chebyshev spaces \({\mathbb {U}}^\star \subset {\mathbb {S}}^\star \) (for short, C-spaces on I, in the sense that any non-zero element has at most one zero in I, not counting multplicities) which can be reproduced by operators of the Schoenberg-type based on \({\mathbb {S}}^\star \), according to the definition below [40].

Definition 5.2

A piecewise Chebyshevian Schoenberg operator based on \({\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\) is a correspondence \({\mathscr {S}}:C^0(I)\rightarrow {\mathbb {S}}\) meeting the following requirements:

\(\hbox {(PCSO)}_{1}\):

there exists a strictly increasing bi-infinite sequence \(\eta _\ell \), \(\ell \in {\mathbb {Z}}\), of nodes such that, for all \(F\in C^0(I)\),

$$\begin{aligned} {\mathscr {S}}F(x):=\sum _{\ell \in {\mathbb {Z}}}F(\eta _\ell )N_\ell (x), \quad x\in I; \end{aligned}$$
(5.6)
\(\hbox {(PCSO)}_{2}\):

it reproduces a two-dimensional C-space \({\mathbb {U}}\) on I, in the sense that it reproduces all elements of \({\mathbb {U}}\),   i.e.,

$$\begin{aligned} {\mathscr {S}}F=F\quad \hbox {for any }F\in {\mathbb {U}}. \end{aligned}$$
(5.7)

Out of the normalisation property, any piecewise Chebyshevian Schoenberg operator reproduces the constants. Since it cannot reproduce three linearly independent functions (see Prop. 3.7 of [35]) the two-dimensional space \({\mathbb {U}}\) reproduced by \({\mathscr {S}}\) is necessarily of the form \({\mathbb {U}}=ECP(\mathbb {1}, w_1)\). Concerning the (simultaneous) approximation properties of piecewise Chebyshevian Schoenberg operators, we refer the reader to [40].

In Theorem 5.2 below we examine the effect of “being in rationality” on such operators. We first need the following definition.

Definition 5.3

A piecewise Chebyshevian Schoenberg-like operator based on \({\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\) is a correspondence \({\mathscr {S}}:C^0(I)\rightarrow {\mathbb {S}}\) meeting the following requirements:

\(\hbox {(PCSLO)}_{1}\):

there exists a bi-infinite sequence of positive numbers \(\alpha _\ell \), \(\ell \in {\mathbb {Z}}\), and a strictly increasing bi-infinite sequence \(\eta _\ell \), \(\ell \in {\mathbb {Z}}\), of nodes such that, for all \(F\in C^0([a,b])\),

$$\begin{aligned} {\mathscr {S}}F(x):=\sum _{\ell \in {\mathbb {Z}}}F(\eta _\ell )\alpha _\ell N_\ell (x)\quad x\in I; \end{aligned}$$
(5.8)
\(\hbox {(PCSLO)}_{2}\):

\({\mathscr {S}}\) reproduces a two-dimensional C-space on \((I;{\mathbb {T}})\).

Theorem 5.2

Let two spline spaces  \({\mathbb {S}}, {\mathbb {S}}^\star \in {\mathscr {P}}{\mathscr {C}}_{n,0}({\mathbb {K}})\) be in rationality, with \({\mathbb {S}}=\varOmega {\mathbb {S}}^\star \) for some positive \(\varOmega \). Then, the relation

$$\begin{aligned} {\mathscr {S}}(\varOmega F )=\varOmega \, {\mathscr {S}}^\star F \quad \hbox { for all }F\in C^0(I), \end{aligned}$$
(5.9)

establishes a bijection between

  1. (1)

    the set of all piecewise Chebyshevian Schoenberg operators \(\mathcal S^\star \) based on \({\mathbb {S}}^\star \) and the set of all piecewise Chebyshevian Schoenberg-like operators \(\mathcal S\) based on \({\mathbb {S}}\) which reproduce \(\varOmega \);

  2. (2)

    the set of all piecewise Chebyshevian Schoenberg operators \(\mathcal S\) based on \({\mathbb {S}}\) and the set of all piecewise Chebyshevian Schoenberg-like operators \(\mathcal S^\star \) based on \({\mathbb {S}}^\star \) which reproduce \(1/\varOmega \).

Proof

Let us start with a piecewise Chebyshevian Schoenberg-like operator \(\mathcal S\) based on \({\mathbb {S}}\), defined by (5.8), and assumed to reproduce \(\varOmega \). Then \(\varOmega \) must belong to the two-dimensional C-space \({\mathbb {U}}\) on I which is reproduced by \({\mathscr {S}}\), see Prop. 3.7 of [35]. Accordingly, \({\mathbb {U}}\) is of the form \({\mathbb {U}}=\varOmega {\mathbb {U}}^\star \), where \({\mathbb {U}}^\star \subset {\mathbb {S}}^\star \) is a two-dimensional C-space on I, containing the constants. Select a strictly increasing \(U^\star \in {\mathbb {U}}^\star \). That \(\varOmega \) is reproduced by \({\mathscr {S}}\) means that

$$\begin{aligned} \varOmega (x)={\mathscr {S}}\varOmega (x)=\sum _{\ell \in {\mathbb {Z}}}\varOmega (\eta _\ell )\alpha _\ell N_\ell (x)=\sum _{\ell \in {\mathbb {Z}}}\omega _\ell N_\ell (x), \quad x\in I, \end{aligned}$$

implying that the positive \(\alpha _\ell \)’s are given by

$$\begin{aligned} \alpha _\ell =\frac{\omega _\ell }{\varOmega (\eta _\ell )}, \quad \ell \in {\mathbb {Z}}. \end{aligned}$$
(5.10)

Accordingly, on account of (3.4), we obtain formula (5.9) with

$$\begin{aligned} {\mathscr {S}}^\star F(x):=\sum _{\ell \in {\mathbb {Z}}} F(\eta _\ell ) N_\ell ^\star (x), \quad x\in I, \quad F\in C^0(I). \end{aligned}$$

That \(\varOmega U^\star \) is reproduced by \({\mathscr {S}}\) means that the function \(U^\star \) satisfies \({\mathscr {S}}^\star U^\star =U^\star \), and therefore \({\mathscr {S}}^\star \) is the piecewise Chebsyhevian Schoenberg operator based on \({\mathbb {S}}^\star \) which reproduces the function \(U^\star \). We can go the reverse way as well, and therefore, the statement (1) is proved. The second claim (2) is obtained by exchanging the roles of \({\mathbb {S}}\) and \({\mathbb {S}}^\star \). \(\square \)

Remark 5.2

We conclude this section with two remarks. First observe that when (5.9) holds true, the two operators \({\mathscr {S}}\) and \({\mathscr {S}}^\star \) share the same sequence of nodes. Suppose that we are in the case described in the proof of Theorem 5.2. That the strictly increasing spline \(U^\star \) is reproduced by the piecewise Chebyshevian Schoenberg operator \({\mathbb {S}}^\star \) requires that its poles \(u_\ell ^\star \), \(\ell \in {\mathbb {Z}}\), form a strictly increasing sequence, and the nodes are provided by the equality [40]

$$\begin{aligned} \eta _\ell :={U^\star }^{-1}(u_\ell ^\star ), \quad \ell \in {\mathbb {Z}}. \end{aligned}$$

The second observation is that, afterwards, we can say that the set of all spaces of the form \( ECP(\varOmega , w_1)\subset {\mathbb {S}}\) for which we can build a nested sequence (5.5) coincides with the set of all two-dimensional C-spaces \({\mathbb {U}}\subset {\mathbb {S}}\) which can be reproduced by a Schoenberg-like operator based on \({\mathbb {S}}\).

6 Illustrations

The class of all rational piecewise Chebyshevian spline spaces coinciding with the class of all piecewise Chebyshevian spline spaces good for design, globally we have not increased the possibility of shape effects. However, it may be interesting to combine the shape effects produced by a given piecewise Chebyshevian spline space good for design with those derived from the rational weights.

6.1 Shape effects due to rational weights

Let us first explain the shape effects due to rational weights. Given \({\mathbb {S}}, {\widehat{{\mathbb {S}}}}\) in \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {T}})\) be in rationality, with, as previoulsy, \({\widehat{{\mathbb {S}}}}={\mathscr {R}}\bigl ({\mathbb {S}}; (\omega _\ell )_{\ell \in {\mathbb {Z}}}\bigr )={\mathscr {R}}\bigl ({\mathbb {S}}; \varOmega \bigr )\). Let \({\widehat{S}}\in {{\widehat{{\mathbb {S}}}}}^d\) be defined by given poles \({\widehat{P}}_\ell \in {\mathbb {R}}^d\), \(\ell \in {\mathbb {Z}}\), that is,

$$\begin{aligned} {\widehat{S}}(x)=\sum _{\ell \in {\mathbb {Z}}}{\widehat{N}}_\ell (x)\widehat{P}_\ell =\sum _{\ell \in {\mathbb {Z}}}\frac{\omega _\ell N_\ell (x)}{\varOmega (x)}\, {\widehat{P}}_\ell , \quad x\in I. \end{aligned}$$

Selecting an integer \(\ell _0\in {\mathbb {Z}}\), and positive \(\omega _\ell \), \(\ell \not =\ell _0\), let us investigate the variations of the parametric spline \({\widehat{S}}\) as \(\omega _{\ell _0}\) ranges over \(]0, +\infty [\). Modifying \(\omega _{\ell _0}\) does not modify \({\widehat{S}}\) outside \([\xi _{\ell _0}, \xi _{\ell _0+n+1}]\). Clearly, for each \(x\in I\),

$$\begin{aligned} \lim _{\omega _{\ell _0}\rightarrow 0^+}{\widehat{S}}(x) ={\widehat{S}}_0(x): =\frac{S_0(x)}{\varOmega _0(x)}, \end{aligned}$$

where the splines \(S_0\in {\mathbb {S}}^d\), \(\varOmega _0\in {\mathbb {S}}\) are defined by

$$\begin{aligned} S_0(x):=\sum _{\ell \not =\ell _0}\omega _\ell N_\ell (x){\widehat{P}}_\ell , \quad \varOmega _0(x):=\sum _{\ell \not =\ell _0}\omega _\ell N_\ell (x), \quad x\in I. \end{aligned}$$

It should be observed that, unlike \(S_0, \varOmega _0\), the function \({\widehat{S}}_0:I\rightarrow {\mathbb {R}}^d\) is not a piecewise Chebyshevian spline. Nevertheless, \({\widehat{S}}_0\) produces a parametric curve in \({\mathbb {R}}^d\) which is contained in the convex hull of the poles \(\widehat{P}_\ell \), \(\ell \not =\ell _0\). Consider an \(x_0\in I\) such that \(N_{\ell _0}(x_0)\not =0\). From the obvious equality

$$\begin{aligned} {\widehat{S}}(x_0)=\frac{\varOmega _0(x_0)}{\varOmega _0(x_0)+\omega _{\ell _0} N_{\ell _0}(x_0)}\,{\widehat{S}}_0(x_0) +\frac{\omega _{\ell _0} N_{\ell _0}(x_0)}{\varOmega _0(x_0)+\omega _{\ell _0} N_{\ell _0}(x_0)}\,{\widehat{P}}_{\ell _0}. \end{aligned}$$

we can see that the point \({\widehat{S}}(x_0)\) is always located on the segment \([{\widehat{S}}_0(x_0), {\widehat{P}}_{\ell _0}]\). Two cases are to be considered:

  • The point \({\widehat{S}}(x_0)\) coincides the pole \(\widehat{P}_{\ell _0}\) independently of the positive weight \(\omega _{\ell _0}\), in two different situations: firstly when \(\widehat{P}_{\ell _0}={\widehat{S}}_0(x_0)\), and secondly when \(x_0\) is a knot \(t_k\) of multiplicity \(m_k=n\) and \(\ell _0\) is the greatest integer \(\ell \) such that \(\xi _\ell <t_k\). In the latter case, we have \(N_{\ell _0}(x_0)=1\) and therefore \(\varOmega _0(x_0)=0\).

  • In all other cases, as \(\omega _{\ell _0}\) increases in \(]0, +\infty [\), the point \({\widehat{S}}(x_0)\) moves in a strictly monotonic way along the open segment \(]{\widehat{S}}_0(x_0), \widehat{P}_{\ell _0}[\), from the point \({\widehat{S}}_0(x_0)\) to the pole \({\widehat{P}}_{\ell _0}\). In other words, given any point P in the open segment \(]{\widehat{S}}_0(x_0), {\widehat{P}}_{\ell _0}[\subset {\mathbb {R}}^d\), we can uniquely determine a value of the weight \(\omega _{\ell _0}\) such that \({\widehat{S}}_0(x_0)=P\).

That the rational spline is attracted to the pole (resp., pushed away from it) when the corresponding positive parameter goes to infinity (resp., to \(0^+\)) is independent of the initial piecewise spline space \({\mathbb {S}}\): the influence of a single rational parameter is thus exactly the same as in the case of the classical NURBS, see [45].

6.2 Combining with other shape effects

To provide illustrations, the major difficulty is not to build rational splines, but to start with a suitable spline space, that is, a space of PEC-splines which is good for design. This is why the two examples we will deal with here are directly taken from [43], where we achieved necessary and sufficient conditions for a given PEC-spline space with five-dimensional section-spaces and simple knots to be good for design. In both examples, the knots are equispaced, with knot spacing equal to one.

6.2.1 Rational geometrically continuous quartic splines

Our initial spline space \({\mathbb {S}}\) is a space of geometrically continuous \(C^2\) quartic splines, with a cardinal symmetric B-spline basis. This framework is obtained if and only if all connection matrices are identical and are of the form [43]

$$\begin{aligned} M_\ell :=M:=\left[ \begin{array}{l@{\quad }l@{\quad }l} 1 &{}0&{}0\\ 0 &{}1&{}0\\ 0&{}\varepsilon &{} 1 \end{array} \right] \quad \hbox {for all }\ell \in {\mathbb {Z}}. \end{aligned}$$
(6.1)

where the single parameter \(\varepsilon \) on which the space \({\mathbb {S}}\) depends must satisfy \(\varepsilon >-4\). The shape effects in \({\mathbb {S}}\) due the parameter \(\varepsilon \) varying in \(]-4, +\infty [\) can be observed in the middle line of Fig. 3, with successively (from left to right) \(\varepsilon =-3.99; \ 0 \) (\(C^3\) quartic splines); \(10; \ 100\). The same values of \(\varepsilon \) are used in the other lines of Fig. 3, to illustrate the combination of these effects and those due to rational weights. In our examples, the only poles \(P_\ell \) which are allocated rational weights different from one are those indicated with circles, where we succesively take \(\omega _\ell =0.01\) (first line); \(\omega _\ell =0.1\) (second line); \(\omega _\ell =10\) (fourth line) and \(\omega _\ell =100\) (fifth line). The effect of these rational weights on the standard rational quartic splines can be observed in the second column from the left. Comparison of either the various columns or the various lines clearly shows the fluent interaction between the rational and geometric continuity parameters.

Fig. 3
figure 3

Geometrically continuous rational \(C^2\) quartic spline curves, with connection matrix (6.1) everywhere in the initial space \({\mathbb {S}}\), and with all rational weights equal to 1, except at the two poles \(P_\ell \) indicated with circles, where from top to bottom, \(\omega _\ell =0.01; 0.1; 1\) (non-rational case); 10; 100. From left to right \(\varepsilon =-3.99; 0\) (\(C^3\) quartic (rational) splines); 10; 100

6.2.2 Rational parametrically continuous mixed splines

In [43] we investigated \(C^3\) splines obtained by mixing all possible kernels of linear differential operators of order five, with constant coefficients and odd characteristic polynomials. The class of such kernels comprises nine different spaces, and the numbering we use is consistent with the one used in [43]. Here we focus on \(C^3\) splines obtained by mixing polynomial pieces (\(\ker \left[ D^5\right] \), represented by the number 7) with pieces taken from the space spanned on \({\mathbb {R}}\) by the five functions \(1, \cosh (ax), \sinh (ax)\), \(\cos (bx), \sin (bx)\) (  i.e., \(\ker \left[ D^5+(b^2-a^2)D^3-a^2b^2D\right] \), represented by the number 3), with \(a>0\), \(0<b<\pi \). Two things were discussed in [43], Example 7.11:

  • the theoretical conditions on ab ensuring that the corresponding spline space \({\mathbb {S}}\) is good for design;

  • in practice, how to choose the parameters in order to obtain efficient limit shape effects.

These considerations had led us to select the value \(b=2.5\) as permitting an interesting amplitude of effects from a close to zero (splines rather similar to ordinary quartic splines, see second picture from the left in the third line of Fig. 3) up to \(a=5.8576\), which is close to the limit for mixed spline spaces \({\mathbb {S}}\) to be good for design. Corresponding mixed splines are shown in Fig. 4, for various configurations, a “7” in front of a pole \(P_\ell \) meaning that the section-space \({\mathbb {E}}_{\ell +2}\) is the degree four polynomial space on \([t_{\ell +2}, t_{\ell +3}]\) (middle segment of the support of the B-spline \(N_\ell \)), and analogously concerning a “3”.

In Fig. 5, we consider examples of rational splines based on the spline spaces \({\mathbb {S}}\) of Fig. 4. Our choice was to systematically allocate each pole “7” a rational weight equal to one, and the same value for all poles “3”, namely 0.01 (up) and 100 (down). The small differences between Fig. 4 and the first line of Fig. 5 can be explained by the fact that the value 0.01 and the limit effect of the mixed trigonometric-hyperbolic space numbered 3, are somewhat similar, and combining them simply results in a slight enhancement of this effect. To the contrary, the effect of the value 100 is stronger. We do not intend to more deeply analyse the resulting combined shape effects. Nevertheless, it is necessary to first have an idea of the rational effect alone, and this is why in Fig. 6 we present to the reader standard \(C^3\) rational quartic splines. All pieces are therefore polynomial ones, and here, the “3” are to be understood only as the poles which are allocated rational weights different from 1, that is, as in Fig. 5, either 0.01 (up) or 100 (down).

Fig. 4
figure 4

\(C^3\) spline curves mixing quartic pieces (indicated by the number 7) and pieces taken from the space spanned by the five functions \(1, \cosh (ax), \sinh (ax)\cos (bx), \sin (bx)\) (indicated by the number 3), with \(b=2.5\) and \(a=5.8576\)

Fig. 5
figure 5

\(C^3\) rational spline curves based on the spline spaces of Fig. 4. Each pole \(P_\ell \) indicated by a “3” is allocated a rational weight \(\omega _\ell =0.01\) (up); 100 (down), all others being equal to 1

Fig. 6
figure 6

Standard rational \(C^3\) spline curves with \(\omega _\ell =0.01\) (up); 100 (down) at each pole \(P_\ell \) indicated by a “3”, all others being equal to 1

7 Final comments

The main substance of this work is summarised below, where the integer n and the pair \((I;{\mathbb {K}})\) being fixed, \({\mathbb {S}}_n^\star (I;{\mathbb {K}})\) denotes the associated degree n polynomial spline space, and \({\mathbb {P}}_n\) the degree n polynomial space on I.

  1. 1.

    Embedding polynomial splines in the larger framework of rational splines has offered two unquestionable benefits: on the one hand, local flexibility and precision resulting from the presence of the rational weights; on the other, exact representation of crucial shapes. The degree n and the knot-vector \({\mathbb {K}}\) being given, rational splines (in the usual sense) can in turn be embedded in the larger framework of (geometrically continuous) PEC-spline spaces good for design with \((n+1)\)-dimensional section-spaces, that we have denoted as \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\). The multitude of exact representations and shape parameters at our disposal in \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\) naturally raises a doubt about the appropriateness of introducing the associated rational context with its additional parameters. The doubt seems to be confirmed by the fact that this rational context does not enlarge the class \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\). Nonetheless, the few examples presented in the previous section show that, on the practical side, it can be useful to combine the shape effects specific to a given spline space in \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\) with those specific to rational weights.

  2. 2.

    Decreasing the degree is a simple but crucial operation for either polynomials or polynomial splines which is naturally done through the ordinary (left/right) derivatives. The analogous operation for PEC-splines consists in a decrease of the dimension of the section-spaces, and it requires to replace ordinary derivatives by piecewise generalised derivatives. In this large context, this dimension diminishing procedure is all the more crucial as it is not always possible. As a matter of fact, we can perform it iteratively until we get piecewise constant splines if and only if the initial spline space is good for design. This fundamental principle has even served as the basis for the development of a numerical test to determine whether a given PEC-spline space is or is not good for design [6]. One originality of this work is precisely the connection between rational splines and such dimension diminishing procedures: building rational spaces based on \({\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\) is indeed exactly the same as executing one step of dimension diminishing through piecewise generalised derivatives in the PEC-spline space in \( {\mathscr {P}}{\mathscr {C}}_{n+1,0}(I;{\mathbb {K}})\) obtained from \({\mathbb {S}}\) by continuous integration (Theorem 3.1). This applies in particular to \({\mathbb {S}}_n^\star (I;{\mathbb {K}})\) viewed as an element of \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\), and is connected with the infinitely many existing inclusions of the form \(ECP(\varOmega , w_1, \ldots , w_n)\subset {\mathbb {S}}_n^\star (I;{\mathbb {K}})\)—and the infinitely many associated operators of the Schoenberg-like based on \({\mathbb {S}}_n^\star (I;{\mathbb {K}})\)—while repeatedly decreasing the degree is specifically related to the inclusion \({\mathbb {P}}_n=EC(\mathbb {1}, \mathbb {1}, \ldots , \mathbb {1})\subset {\mathbb {S}}_n^\star (I;{\mathbb {K}})\).

  3. 3.

    The present work thus gives new insights into the classical polynomial and rational splines. It is even more so though the equivalence relation that “being in rationality” expresses within the class \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\). The polynomial spline space \({\mathbb {S}}_n^\star (I;{\mathbb {K}})\) can now be viewed as the rational spline space based on infinitely many different spaces in \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\), namely all rational spline spaces based on \({\mathbb {S}}_n^\star (I;{\mathbb {K}})\).

  4. 4.

    With no more difficulty we could have defined rational spline spaces in the whole class \({\mathscr {P}}{\mathscr {C}}_{n}(I;{\mathbb {K}})\) rather limiting ourselves to the subclass \({\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}})\). Indeed, as observed in the proof of Theorem 3.1, piecewise division by a spline whose coefficients in a B-spline-like basis are all positive transforms a spline space in \({\mathscr {P}}{\mathscr {C}}_{n}(I;{\mathbb {K}})\) into a spline space in \({\mathscr {P}}{\mathscr {C}}_{n, 0}(I;{\mathbb {K}})\). In that case, we could interpret one step of dimension diminishing (Theorem 2.4) as the composition of rationalisation with ordinary piecewise differentiation, see [39]:

    $$\begin{aligned} {\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n,0}(I;{\mathbb {K}}) \xrightarrow {D}D{\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n-1}(I;{\mathbb {K}}) \xrightarrow {{\mathscr {R}}}L_1{\mathbb {S}}\in {\mathscr {P}}{\mathscr {C}}_{n-1,0}(I;{\mathbb {K}}). \end{aligned}$$

    However, we have deliberatey focused on \({\mathscr {P}}{\mathscr {C}}_{n, 0}(I;{\mathbb {K}})\) to bring to the fore the nice rationality equivalence relation within that class. Furthermore, only in the class \({\mathscr {P}}{\mathscr {C}}_{n, 0}(I;{\mathbb {K}})\) we can investigate the combined shape effects as we did in Sect. 6.