We introduce the VSDKs by considering the one dimensional case and observing that the extension to the multidimensional case is almost straightforward, as we will show later in Sect. 3.2.
Let \(\varOmega =(a,b)\subset {{\mathbb {R}}}\) be an open interval and let \(\xi \in \varOmega \). We consider the discontinuous function \(f:\varOmega \longrightarrow {{\mathbb {R}}}\)
$$\begin{aligned} f(x):= \left\{ \begin{array}{ll} f_1(x), &{} \quad a< x<\xi ,\\ f_2(x), &{} \quad \xi \le x<b,\\ \end{array}\right. \end{aligned}$$
where \(f_1, f_2\) are real valued smooth functions such that \(\displaystyle {\lim _{x\rightarrow a^+}{f_1(x)}}\) and \(\displaystyle {\lim _{x\rightarrow b^-}{f_2(x)}}\) exist finite and
$$\begin{aligned} f_2(\xi )\ne \lim _{x\rightarrow \xi }{f_1(x)}\,. \end{aligned}$$
Our aim consists in approximating the function f on the set of nodes \({{\mathscr {X}}} \subset \varOmega \). Unfortunately the presence of jumps is the cause of oscillations in the reconstructing process.
To approximate f on \({\mathscr {X}}\) we take interpolants of the form (2.7) and we consider discontinuous scale functions in the interpolation process.
Let \(\alpha ,\beta \in {{\mathbb {R}}},\;\alpha \ne \beta \) and \(\mathscr {S}= \left\{ \alpha ,\beta \right\} \). We propose the following scale function \(\psi :\varOmega \longrightarrow \mathscr {S}\) defined as:
$$\begin{aligned} \psi (x):= \left\{ \begin{array}{ll} \alpha ,\quad &{}\quad x<\xi ,\\ \beta ,\quad &{}\quad x\ge \xi .\\ \end{array} \right. \end{aligned}$$
The function \(\psi \) is piecewise constant, having a jump discontinuity at \(\xi \) as the function f. Let \(\varPhi _{\varepsilon }\) be a positive definite radial kernel on \(\varOmega \times \mathscr {S}\), possibly depending on a shape parameter \(\varepsilon >0\) or alternatively a variably scaled kernel \(\varPhi _{\psi }\) on \(\varOmega \) as in (2.5). We now analyze the function \(\varphi \) related to the kernel \(\varPhi \) with the fixed shape parameter \(\varepsilon =1\), that is
$$\begin{aligned} \begin{array}{ll} \varphi (\Vert \varPsi (x)-\varPsi (y)\Vert _2) &{} = \varphi (\Vert (x,\psi (x))-(y,\psi (y))\Vert _2)\\ &{} = \varphi \left( \sqrt{(x-y)^2+(\psi (x)-\psi (y))^2}\right) \,. \end{array} \end{aligned}$$
This implies
$$\begin{aligned} \varphi (\Vert \varPsi (x)-\varPsi (y)\Vert _2)= \left\{ \begin{array}{llll} \varphi (|x-y|),\quad &{}\quad x,y<\xi &{} \text { or } &{} x,y\ge \xi ,\\ \varphi (\Vert (x,\alpha )-(y,\beta )\Vert _2),\quad &{}\quad x<\xi \le y &{} \text { or } &{} y<\xi \le x,\\ \end{array} \right. \end{aligned}$$
since \(\varphi (\Vert (x,\alpha )-(y,\beta )\Vert _2)=\varphi (\Vert (x,\beta )-(y,\alpha )\Vert _2).\)
The so-constructed interpolant \(\mathscr {V}_{\psi }:\varOmega \longrightarrow {{\mathbb {R}}}\) on the set \(\mathscr {X}=\{ x_k,\;k=1,\dots ,N\}\) is a discontinuous linear combination of functions \( \varPhi _{\psi }(\cdot , x_k)\) so defined:
if \(a<x_k<\xi \)
$$\begin{aligned} \varPhi _{\psi }(x, x_k)= \left\{ \begin{array}{ll} \varphi (|x-x_k|), &{}\quad \quad x<\xi ,\\ \varphi (\Vert (x,\alpha )-(x_k,\beta )\Vert _2), &{}\quad \quad x\ge \xi ,\\ \end{array} \right. \end{aligned}$$
if \(\xi \le x_k<b\)
$$\begin{aligned} \varPhi _{\psi }(x, x_k)= \left\{ \begin{array}{ll} \varphi (|x-x_k|), &{}\quad \quad x\ge \xi ,\\ \varphi (\Vert (x,\alpha )-(x_k,\beta )\Vert _2), &{}\quad \quad x<\xi .\\ \end{array} \right. \end{aligned}$$
Therefore, the interpolant \(\mathscr {V}_{\psi }\) is a linear combination of functions having a discontinuity at \(\xi \). We can easily generalize this procedure for a set of distinct discontinuity points on \(\varOmega \); see the next section.
VSDKs: one dimensional case
To generalize the discussion carried out above, we need the following definition.
Definition 3.1
Let \(\varOmega =(a,b)\subset {{\mathbb {R}}}\) be an open interval, \(\mathscr {S}=\{\alpha ,\beta \}\) with \(\alpha ,\beta \in {{\mathbb {R}}}_{>0},\;\alpha \ne \beta \) and let \(\mathscr {D}=\{\xi _j,\;j=1,\dots ,\ell \}\subset \varOmega \) be a set of distinct points such that \(\xi _j<\xi _{j+1}\) for every j. Let \(\psi :\varOmega \longrightarrow \mathscr {S}\) be defined as
$$\begin{aligned} \psi (x):= \left\{ \begin{array}{lll} \alpha , &{} \quad x\in (a,\xi _1)\text { or }x\in [\xi _j,\xi _{j+1}), &{} \text{ where } j \text { is even},\\ \beta , &{} \quad x\in [\xi _j,\xi _{j+1}), &{} \text{ where } j \text { is odd},\\ \end{array} \right. \end{aligned}$$
and
$$\begin{aligned} {\psi (x)}|_{[\xi _{\ell },b)}:= \left\{ \begin{array}{ll} \alpha , &{} \quad \ell \text{ is } \text{ even }, \\ \beta , &{} \quad \ell \text{ is } \text{ odd }. \end{array} \right. \end{aligned}$$
With this choice of the scale function \(\psi \) and similarly to (2.5), we call the kernel \(\varPhi _{\psi }\) a VSDK on \(\varOmega \).
For the analysis of the VSDKs introduced in Definition 3.1 we cannot rely on some important and well-known results of RBF interpolation. Therefore, before stating upper bounds for the VSDK interpolants in terms of the power function, we give a preliminary analysis.
Let \(\varOmega \) and \(\mathscr {D}\) be as in Definition 3.1 and \(n\in {{\mathbb {N}}}\). We define \(\psi _n:\varOmega \longrightarrow \mathscr {I} \subseteq (0,+ \infty )\) as
$$\begin{aligned}&\psi _n(x):= \left\{ \begin{array}{lll} \alpha ,\quad &{} x\in (a,\xi _1-1/n), \text { or }x\in [\xi _j+1/n,\xi _{j+1}-1/n), &{} j \text{ is } \text{ even },\\ \beta ,\quad &{} x\in [\xi _j+1/n,\xi _{j+1}-1/n) &{} j \text{ is } \text{ odd },\\ \gamma _1(x),\quad &{} x\in [\xi _j-1/n,\xi _{j}+1/n), &{} j \text{ is } \text{ odd },\\ \gamma _2(x),\quad &{} x\in [\xi _j-1/n,\xi _{j}+1/n), &{} j \text{ is } \text{ even }, \end{array} \right. \nonumber \\&{\psi _n(x)}|_{[\xi _{\ell }+1/n,b)}:= \left\{ \begin{array}{ll} \alpha ,\quad &{} \ell \text{ is } \text{ even },\\ \beta ,\quad &{} \ell \text{ is } \text{ odd }, \end{array} \right. \end{aligned}$$
(3.1)
where \(\gamma _1,\gamma _2\) are continuous, strictly monotone functions so that
$$\begin{aligned} \lim _{x\rightarrow \xi _{j+1}+1/n}{\gamma _1(x)}=\gamma _2(\xi _j-1/n)=\beta ,\quad \lim _{x\rightarrow \xi _{j+1}+1/n}{\gamma _2(x)}=\gamma _1(\xi _j-1/n)=\alpha . \end{aligned}$$
From Definition 3.1, it is straightforward to verify that \(\forall x\in \varOmega \) the following pointwise convergence result holds
$$\begin{aligned} \lim _{n\rightarrow \infty }{\psi _n(x)}=\psi (x). \end{aligned}$$
We point out that for every fixed \(n\in {{\mathbb {N}}}\) the kernel \(\varPhi _{\psi _n}\) is a continuous VSK, hence it satisfies the error bound of Theorem 2.1. For VSDKs instead we have the following result.
Theorem 3.1
For every \(x,y\in \varOmega \), we have
$$\begin{aligned} \lim _{n\rightarrow \infty }{\varPhi _{\psi _n}(x,y)}=\varPhi _{\psi }(x,y), \end{aligned}$$
where \(\varPhi _{\psi }\) is the kernel considered in Definition 3.1.
Proof
Let us consider the map \(\varPsi _n(x)=(x,\psi _n(x))\) on \(\varOmega \). We can write
$$\begin{aligned} \lim _{n\rightarrow \infty }{\varPhi _{\psi _n}(x,y)}=\lim _{n\rightarrow \infty }{\varPhi (\varPsi _n(x),\varPsi _n(y))}=\lim _{n\rightarrow \infty }{\varphi (\Vert \varPsi _n(x)-\varPsi _n(y)\Vert _2)}. \end{aligned}$$
Recalling (3.1), we get
$$\begin{aligned} \begin{aligned} \lim _{n\rightarrow \infty }{\varphi (\Vert \varPsi _n(x)-\varPsi _n(y)\Vert _2)}&=\varphi \big (\lim _{n\rightarrow \infty }{\Vert \varPsi _n(x)-\varPsi _n(y)\Vert _2}\big )\\&=\varphi (\Vert \varPsi (x)-\varPsi (y)\Vert _2)\\&=\varPhi _{\psi }(x,y). \end{aligned} \end{aligned}$$
This concludes the proof. \(\square \)
Corollary 3.1
Let \(H_{\varPhi _{\psi _n}}(\varOmega )=\text {span} \{ \varPhi _{\psi _n}(\cdot ,x),\;x\in \varOmega \}\) be equipped with the bilinear form \(\left( \cdot ,\cdot \right) _{H_{\varPhi _{\psi _n}}(\varOmega )}\) and let \({{\mathscr {N}}}_{\varPhi _{\psi _n}} (\varOmega )\) be the related native space. Then, taking the limit of the basis functions, we obtain the space \(H_{\varPhi _{\psi }}(\varOmega )=\text {span} \{ \varPhi _{\psi }(\cdot ,x),\;x\in \varOmega \}\) equipped with the bilinear form \(\left( \cdot ,\cdot \right) _{H_{\varPhi _{\psi }}(\varOmega )}\) and the related native space \({{\mathscr {N}}}_{\varPhi _{\psi }}(\varOmega )\).
Proof
If \(f\in H_{\varPhi _{\psi }}(\varOmega )\), then it can be expressed as a linear combination of basis functions \(\varPhi _{\psi }(\cdot ,x),\;x\in \varOmega \). From Theorem 3.1, we get that for every \(x\in \varOmega \)
$$\begin{aligned} \lim _{n\rightarrow \infty }{\varPhi _{\psi _n}(\cdot ,x)}=\varPhi _{\psi }(\cdot ,x), \end{aligned}$$
and so f is also a linear combination of the functions \(\lim _{n\rightarrow \infty }{\varPhi _{\psi _n}(\cdot ,x)},\;x\in \varOmega \), as required. \(\square \)
We get an immediate consequence for the interpolant \(\mathscr {V}_{\psi }\) too.
Corollary 3.2
Let \(\varOmega \), \(\mathscr {S}\) and \(\mathscr {D}\) be as in Definition 3.1. Let \(f:\varOmega \longrightarrow {{\mathbb {R}}}\) be a discontinuous function whose step discontinuities are located at the points belonging to \(\mathscr {D}\). Moreover, let \(\psi _n\) and \(\psi \) be as in Theorem 3.1. Then, considering the interpolation problem with nodes \(\mathscr {X}=\{ x_k,\;k=1,\dots ,N\}\) on \(\varOmega \), we have
$$\begin{aligned} \lim _{n\rightarrow \infty }{\mathscr {V}_{\psi _n}(x)}=\mathscr {V}_{\psi }(x), \end{aligned}$$
for every \(x\in \varOmega \).
Proof
Since \(\mathscr {V}_{\psi }\) is a linear combination of the basis functions, the thesis follows from Theorem 3.1 and Corollary 3.1. \(\square \)
To provide error bounds, we now only need to introduce the power function for a VSDK \(\varPhi _{\psi }\) on the set of nodes \(\mathscr {X}\). From (2.4), we know that it is defined as
$$\begin{aligned} P_{\varPhi _{\psi },{{\mathscr {X}}}}(x)=\sqrt{\frac{\text {det}(A_{\psi }(\mathscr {Y}))}{\text {det}(A_{\psi }(\mathscr {X}))}}. \end{aligned}$$
From Theorem 3.1 and Corollary 3.1, it easily follows that \(\forall x\in \varOmega \)
$$\begin{aligned} P_{\varPhi _{\psi },{{\mathscr {X}}}}(x)=\lim _{n\rightarrow \infty }{P_{\varPhi _{\psi _n},{{\mathscr {X}}}}(x)}. \end{aligned}$$
These results allow to state an error bound for interpolation via VSDKs.
Proposition 3.1
Let \(\varPhi _{\psi }\) be a VSDK on \(\varOmega =(a,b)\subset {{\mathbb {R}}}\). Suppose that \({{\mathscr {X}}} = \{x_i, i=1, \ldots , N \} \subseteq \varOmega \) have distinct points. For all \(f \in {{\mathscr {N}}}_{\varPhi _{\psi }}(\varOmega )\) we have
$$\begin{aligned} |f(x)-\mathscr {V}_{\psi }(x)| \le P_{\varPhi _{\psi },{{\mathscr {X}}}}(x) \Vert f\Vert _{{{\mathscr {N}}}_{\varPhi _{\psi }}(\varOmega )}, \quad x \in \varOmega . \end{aligned}$$
Proof
For every \(n\in {{\mathbb {N}}}\) and \(x\in \varOmega \), since the VSK \(\varPhi _{\psi _n}\) is continuous, we know that (see Theorem 2.1)
$$\begin{aligned} |f(x)-\mathscr {V}_{\psi _n}(x)| \le P_{\varPhi _{\psi _n},{{\mathscr {X}}}}(x) \Vert f\Vert _{{{\mathscr {N}}}_{\varPhi _{\psi _n}}(\varOmega )}. \end{aligned}$$
Then, taking the limit \(n\rightarrow \infty \) and recalling the results of this subsection, the thesis follows. \(\square \)
Proposition 3.1, as the classical bound for the RBF interpolants, limits the error in terms of the power function and consequently takes into account both the kernel and data.
VSDKs: multidimensional case
The VSDKs rely upon the classical RBF bases and therefore in principle they are suitable to be implemented in any dimension. However, since the geometry is more complex than in 1D, we need to carefully define the scale function \(\psi \).
Let \(\varOmega \subset {{\mathbb {R}}}^d\) be an open subset with Lipschitz boundary. In our discussion, we consider step functions \(f:\varOmega \longrightarrow {{\mathbb {R}}}\) such that there exists a disjoint partition \(\mathscr {P}=\{R_1,\ldots ,R_m\}\) of regions having Lipschitz boundaries. That is all the jumps of f lie along \((d-1)\)-dimensional manifolds \(\gamma _1,\dots ,\gamma _p\) such that
$$\begin{aligned} \gamma _i\subseteq \bigcup _{i=1}^{m} {\partial R_{i}}{\setminus }\partial \varOmega , \;\; \forall i=1,\dots ,p. \end{aligned}$$
Then, a suitable scale function \(\psi \) for interpolating f via VSDKs can be defined as follows.
Definition 3.2
Let \(\varOmega \subset {{\mathbb {R}}}^d\) be an open subset with Lipschitz boundary, \(\mathscr {S}=\{\alpha _1,\ldots ,\alpha _m\}\) real distinct values and \(\mathscr {P}=\{R_1, \ldots , R_m\}\) a partition of \(\varOmega \) whose elements are regions having Lipschitz boundaries. Define \(\psi :\varOmega \longrightarrow \mathscr {S}\) as
$$\begin{aligned} {\psi (\varvec{x})}|_{R_i}:= \alpha _i. \end{aligned}$$
With this choice of the scale function \(\psi \) and referring to (2.5), we call again the kernel \(\varPhi _{\psi }\) a VSDK on \(\varOmega \).
Remark 3.1
In Definition 3.2 we choose a scale function which emulates the properties of the one-dimensional function of Definition 3.1. The difference is that the multidimensional \(\psi \) could be discontinuous not exclusively at the same points as f, but also at other nodes. Precisely, if we are able to choose \(\mathscr {P}\) so that
$$\begin{aligned} \bigcup _{i=1}^{p}{\gamma _i}=\bigcup _{i=1}^{m} {\partial R_{i}}{{\setminus }}\partial \varOmega , \end{aligned}$$
then f and \(\psi \) have the same discontinuities. Otherwise, if
$$\begin{aligned} \bigcup _{i=1}^{p}{\gamma _i}\subset \bigcup _{i=1}^{m} {\partial R_{i}}{\setminus }\partial \varOmega , \end{aligned}$$
then \(\psi \) is discontinuous along \(\bigcup _{i=1}^{m} {\partial R_{i}}{\setminus }\big (\partial \varOmega \cup \bigcup _{i=1}^{p}{\gamma _i}\big )\), while f is not.
The theoretical analysis in the multidimensional case is done along the same path of the one-dimensional setting. Indeed, we consider continuous scale functions \(\psi _n:\varOmega \longrightarrow \mathscr {I} \subseteq (0,+ \infty )\) such that \(\forall \varvec{x}\in \varOmega \),
$$\begin{aligned} \lim _{n\rightarrow \infty }{\psi _n(\varvec{x})}=\psi (\varvec{x}), \end{aligned}$$
and
$$\begin{aligned} \lim _{n\rightarrow \infty }{\mathscr {V}_{\psi _n}(\varvec{x})}=\mathscr {V}_{\psi }(\varvec{x}), \end{aligned}$$
for every \(\varvec{x}\in \varOmega \).
We omit the easy extension of all results discussed in Sect. 3.1 and we state directly the error bound.
Proposition 3.2
Let \(\varPhi _{\psi }\) be a VSDK as in Definition 3.2. Suppose that \({{\mathscr {X}}} = \{\varvec{x}_i, i=1, \ldots , N \} \subseteq \varOmega \) have distinct points. For all \(f \in {{\mathscr {N}}}_{\varPhi _{\psi }}(\varOmega )\) we have
$$\begin{aligned} |f(\varvec{x})-\mathscr {V}_{\psi }(\varvec{x})| \le P_{\varPhi _{\psi },{{\mathscr {X}}}}(\varvec{x}) \Vert f\Vert _{{{\mathscr {N}}}_{\varPhi _{\psi }}(\varOmega )}, \quad \varvec{x} \in \varOmega . \end{aligned}$$
Proof
Refer to Proposition 3.1 and to the remarks made in this section. \(\square \)