Consider a dynamical system modelled by an equation \(\dot {{\mathbf {x}}}={\mathbf {f}}({\mathbf {x}})\), where the function f(x) is smooth except at some discontinuity threshold \(\mathcal {D}\). Let the space of x be divided by \(\mathcal {D}\) into open regions \(\mathcal {R}_i\), where i ∈ Z N with Z N denoting a set of N indices or modes. Let f(x) take a different functional form f i(x) on each region \(\mathcal {R}_i\), so

$$\displaystyle \begin{aligned} \dot{{\mathbf{x}}}={{\mathbf{f}}^{i}}(\mathbf{x})\quad {\mathrm{if}}\quad \mathbf{x}\in\mathcal{R}_i,\quad {i\in Z_N}\;. \end{aligned} $$
(5.1)

We assume that the functions f i(x) are smooth in x over the closure \(\overline {\mathcal {R}}_i\) of each region \(\mathcal {R}_i\). A solution of such a system is depicted crossing a discontinuity threshold in Fig. 5.1(i), with (ii) showing its tangent vectors following the discontinuous vector field, and therefore changing direction abruptly at \(\mathcal {D}\). Note that (5.1) does not yet define \(\dot {{\mathbf {x}}}\) for \(\mathbf {x}\in \mathcal {D}\).

Fig. 5.1
figure 1

(i) A trajectory crossing a discontinuity threshold \(\mathcal {D}\), such that (ii) its tangent vectors are f 0 and f 1 either side of the discontinuity, and (iii) lie in a connected set \(\mathcal {G}\) (their endpoints forming a curve connecting f 0 to f 1 as depicted) at a point \({\mathbf {x}}_{\mathcal {D}}\) on the discontinuity

To study how solutions of this system will behave at \(\mathcal {D}\), we need to know how the tangent vector \(\dot {{\mathbf {x}}}\) switches between the different vectors f i(x) that it encounters near a point \(\mathbf {x}\in \mathcal {D}\). We will do this by saying that \(\dot {{\mathbf {x}}}\) sweeps continuously through some set of values as x crosses \(\mathcal {D}\), as shown in Fig. 5.1(iii), and expressed as

(5.2)

where \(\mathcal {G}(\mathbf {x})\) is a connected set that varies smoothly with x.

This does not fully define \(\mathcal {G}(\mathbf {x})\) itself, and we will look into specific ways of doing so in the following sections. In particular we will look at how different choices for \(\mathcal {G}(\mathbf {x})\) relate to different modelling assumptions. All (5.2) tells us is that if x lies on the discontinuity threshold, then \(\dot {{\mathbf {x}}}\) takes a set of values \(\mathcal {G}(\mathbf {x})\) that interpolates in some way between any f i(x) for which x lies on the boundary of \(\mathcal {R}_i\), for any i ∈ Z N. If x lies inside a region \(\mathcal {R}_i\) and therefore outside the discontinuity threshold, then \(\mathcal {G}(\mathbf {x})\) needs to contain only f i(x), and it makes sense to define \(\mathcal {G}(\mathbf {x})\) in such a way that it reduces to the right-hand side of (5.1) for \(\mathbf {x}\notin \mathcal {D}\).

Before going on to define \(\mathcal {G}(\mathbf {x})\) more closely, first let us extend (5.2) to describe our main topic of interest, that of perturbations of the idealized system.

Consider a system where a switch takes place over an ε-neighbourhood of the threshold \(\mathcal {D}\), which we call the switching layer \(\mathcal { D}^\varepsilon \). We can then refine Definition 4.1 as follows.

FormalPara Definition 5.1

An implementation of the system (5.1) assigns a rule that defines (discrete or continuous) trajectories x(t) through any point x and satisfies

$$\displaystyle \begin{aligned} \dot{{\mathbf{x}}}\in&\;\mathcal{G}^\varepsilon(\mathbf{x})\qquad \mbox{ such that }\qquad \mathcal{G}^\varepsilon(\mathbf{x})\;=\!\!\!\!\bigcup_{\mathbf{u}\in B_\varepsilon(\mathbf{x})}\!\!\!\!\mathcal{G}(\mathbf{u})\; \end{aligned} $$
(5.3)

on a layer \(\mathcal {D}^\varepsilon \) for some ε > 0, such that \(\mathcal {D}^\varepsilon \supset \mathcal {D}\) and \(\mathcal {D}^\varepsilon \rightarrow \mathcal {D}\) as ε → 0, where B ε(x) denotes a ball of radius ε about x.

An implementation may represent a more physically precise model of switching than the idealized system described by (5.1)–(5.2), or a method of simulating a model described by (5.1)–(5.2). In any case, one of the first goals of piecewise-smooth systems theory should then be to discover for what classes of implementations the following holds.

FormalPara Conjecture 1

Solutions of the implementation (5.3) lie ε-close to solutions of the piecewise-smooth system given by (5.2).

We shall see that (1) is too imprecise to hold as stated, but the concepts above permit a more complete statement.

FormalPara Conjecture 2

For a given implementation, there exists a set \(\mathcal {G}\) such that solutions of the implementation (5.3) lie ε-close to solutions of the piecewise-smooth system given by (5.2).

The next few sections are essentially an exploration of these statements, obtaining insight into the classes of systems that (5.2) represents as a modelling paradigm. We proceed qualitatively. Rigorous proofs of the conjecture have been achieved so far only in such limited conditions that they have narrow applicability (but we will discuss these as we explore some of the implementations below). Alas a general proof of either conjecture would seem to be premature, most likely requiring a general representation of implementations that is far more explicit about their workings than Definition 4.1 or Definition 5.1, and relating broad classes of implementations to explicit forms for \(\mathcal {G}^\varepsilon (\mathbf {x})\). Our modest aim here will instead be to gain insight into the dynamics of such implementations, with an eye to better formulating and proving these conjectures in the future.

We will also not prove that solutions to the dynamical systems above exist. A knowledge of the most general form of \(\mathcal {G}\) or \(\mathcal {G}^\varepsilon \) that guarantees the existence of solutions (beyond the convex and upper semi-continuous sets studied by Filippov in [51]) would help further reveal the kinds of system that can be modelled, but is beyond our ambitions here.

The concept of an implementation is related but not identical to the concept of a regularization. The purpose of regularization is, as the term suggests, to achieve regularity, in this case to make a discontinuous problem well-posed under certain limited conditions, usually with the aim of obtaining unique solutions. In analysis, for example, regularization is usually achieved with some kind of smoothing [31, 136], or in electronics usually with some kind of hysteresis or delay that ensures a finite interval of motion between each switching event [134, 148]. An implementation, on the other hand, merely seeks to render a system solvable without any expectation of uniqueness.

5.1 Linear Switching

A natural choice for the form of the set in (5.2) is to take the convex hull, which we call \(\mathcal {F}\), of the vector fields across a discontinuity.

Definition 5.2

The linear switching system corresponding to (5.1) is given by

(5.4)

where \(\operatorname {hull}{\left \{{Q}\right \}}\) denotes the convex hull of the set \({\left \{{Q}\right \}}\) (sometimes written as \(\overline {\operatorname {co}}\!{\left \{{Q}\right \}}\) or \(\operatorname {conv}\!{\left \{{Q}\right \}}\)). Solutions of (5.4) will be called linear solutions of (5.1).

This is often referred to as a Filippov system, but for our purposes here we use the term linear system to highlight that we can express \(\mathcal {F}\) as a linear function of switching multipliers μ i, in the following way.

An explicit expression for the hull is given by a linear combination of the vector fields f i(x),

$$\displaystyle \begin{aligned} \mathcal{F}(\mathbf{x})=\sum_{i=1}^N\mu_i{\mathbf{f}}^i(\mathbf{x})\quad \mbox{such that}\quad \sum_{i=1}^N\mu_i=1\;, \end{aligned} $$
(5.5a)

where

$$\displaystyle \begin{aligned} \mu_i=\begin{cases} 1&{\mathrm{if}}\;\;\mathbf{x}\in\mathcal{R}_i\;,\\ 0&{\mathrm{if}}\;\;\mathbf{x}\notin\overline{\mathcal{R}}_i\;,\\ {\left[{0,1}\right]}&{\mathrm{if}}\;\;\mathbf{x}\in\delta\mathcal{R}_i\;,\end{cases} \end{aligned} $$
(5.5b)

where \(\delta \mathcal {R}_i=\overline {\mathcal {R}}_i/\mathcal {R}_i\) denotes the boundary of \(\mathcal {R}_i\). So μ i is a step function that is 1 on \(\mathcal {R}_i\) and 0 outside, and set-valued on the boundary. Note that, because the μ i’s sum to unity, if μ i = 1 for some i, then μ j = 0 for all j ≠ i. For the sake of defining the hull we let μ i = [0, 1] on \(\delta \mathcal {R}_i\), but in Chap. 5 we will look at ways to assign specific values to μ i ∈ [0, 1] for each i ∈ Z N, and hence assign specific values from the hull (5.5a) to \(\dot {{\mathbf {x}}}\).

As we said for the discontinuous quantity ν following (1.15) in Sect. 1.1, we will not make the x-dependence of μ i explicit by writing μ i(x), but must remember that it is a piecewise-constant for \(\mathbf {x}\notin \mathcal {D}\) and is set-valued for \(\mathbf {x}\in \mathcal {D}\) where, as the coefficients μ i vary over the intervals [0, 1], the right-hand side of (5.5a) explores all values in the convex hull.

The hull is the smallest convex set that contains all of the f is from (5.1). Extensive theory for such convex system was developed in [51], starting with the proof that solutions exist if \(\mathcal {F}\) is non-empty, bounded, closed, convex, and upper semi-continuous. Moreover, making use of a set \(\mathcal {F}_\delta \) that lies δ-close to \(\mathcal {F}\), such that \(\mathcal {F}\subset \mathcal {F}_\delta \) and \(\mathcal {F}_0=\mathcal {F}\), in [4, 51] it is proven that a solution exists through a point x δ that is δ-close to x, and that the limit of a convergent sequence of solutions of (5.4) is itself a solution of (5.4). Most commonly the term Filippov system refers to a system where a point \(\mathbf {x}\in \mathcal {D}\) can lie on the boundary of two regions \(\mathcal {R}_1\) and \(\mathcal {R}_2\) only, in which case the linear solutions of Definition 5.2 are mostly unique (except at certain singularities). They are no longer unique if \(\mathbf {x}\in \mathcal { D}\) can lie on the boundary of more than two regions.

We refer the reader to [51] for the full theory of convex solutions rather than restating it here, because it is rather lengthy, and although a natural choice mathematically, the system (5.4) is actually a strong restriction of the possible systems allowed by (5.2). There is no physical or dynamical reason in general that restricts a system to follow a vector field lying in the convex hull \(\mathcal {F}\). At the same time, in associating one switching multiplier μ i with each vector field f i, the model (5.5a) contains somewhat more multipliers than are necessary to continuously transition between all of the modes f i, and instead it is possible to define sets that are both more general, and yet involve less unknown multipliers. This will matter when, in order to study solutions in detail, we come to fix the values of these multipliers by dynamical or physical considerations.

5.2 Nonlinear Switching

A common way that models like (5.1) arise in practice is when a function F depends on a number of discontinuous quantities. Let these quantities be a set of switching multipliers ν 1, …, ν m, defined without loss of generality as

$$\displaystyle \begin{aligned} \nu_j=\operatorname{step}\big(\sigma_j(\mathbf{x})\big)\quad {\mathrm{for}}\quad \sigma_j\neq0\;, \end{aligned} $$
(5.6)

recalling the definition (1.15), in terms of smooth scalar functions σ i(x) for i = 1, …, m. We then write \(\mathcal {G}(\mathbf {x})\) in (5.2) as

$$\displaystyle \begin{aligned} \mathcal{G}(\mathbf{x})=\mathbf{F}(\mathbf{x};\nu_1,\dots,\nu_m)\;, \end{aligned} $$
(5.7a)

where

$$\displaystyle \begin{aligned} \nu_j=\begin{cases} 1&{\mathrm{if}}\;\;\sigma_j(\mathbf{x})>0\;,\\ 0&{\mathrm{if}}\;\;\sigma_j(\mathbf{x})<0\;,\\ {\left[{0,1}\right]}&{\mathrm{if}}\;\;\sigma_j(\mathbf{x})=0\;.\end{cases} \end{aligned} $$
(5.7b)

Similarly to the hull (5.5), for the sake of defining \(\mathcal {G}(\mathbf {x})\) we let ν j = [0, 1] on σ j = 0, but in Chap. 5 we will look at ways to assign specific values to ν j ∈ [0, 1] for each j = 1, …, m, and hence assign specific values from the set (5.8) to \(\dot {{\mathbf {x}}}\).

The right-hand side of (5.7a) is then set-valued on \(\mathcal {D}\) due to the set-valuedness of (5.7b) at σ j = 0, but taking a unique value if σ j ≠ 0 for all j = 1, …, m. We may assume the σ js and F to be defined for all x (or one may restrict these domains and the differentiability of these functions as a problem requires, but our analysis will mainly be local).

For (5.8) to correspond to (5.1) and (5.2) there must be a direct correspondence between each f i(x) and each F(x;ν 1, …, ν m) outside \(\mathcal {D}\), that is when σ j ≠ 0 for all j = 1, …, m. The simplest way this happens is if \(\mathcal {G}(\mathbf {x})\) is a convex canopy of the fields f i(x).

Definition 5.3

The set \(\mathcal {G}(\mathbf {x})\) is a convex canopy of the vector fields f i(x) indexed by i ∈ Z N in (5.1) if it is expressible in the form (5.7a) in terms of switching multipliers ν 1, …, ν m, given by (5.7b), such that N = 2m, and such that: F has continuous dependence on x and on the ν js, and there is a one-to-one correspondence between each of the N functions f i with i ∈ Z N, and the 2m vector fields F(x;ν 1, …, ν m) in which each ν j takes value 0 or 1.

We then write the following.

Definition 5.4

The nonlinear switching system corresponding to (5.1) is given by

(5.8)

where F depends smoothly on x and on switching multipliers ν j as defined in (5.7b). Solutions of (5.8) will be called nonlinear solutions of (5.1).

The correspondence required in Definition 5.3 can be achieved by associating each i ∈ Z N with a binary string i 1i m of 0s and 1s, by either

$$\displaystyle \begin{aligned} {\mathrm{(a)}}\quad i=1+\sum_{j=1}^m 2^{j-1}i_j\qquad {\mathrm{or}}\qquad {\mathrm{(b)}}\quad i=i_1\dots i_m\;, \end{aligned} $$
(5.9)

where (a) simply numbers regions so \(i\in Z_N={\left \{{1,2,\dots ,N}\right \}}\), while (b) identifies i as the binary string i = i 1i 2i m itself.

The simplest example of a canopy is then given by writing

$$\displaystyle \begin{aligned} \mathcal{G}(\mathbf{x})=\sum_{i=1}^{2^m}\mu_i{{\mathbf{f}}^{i}}(\mathbf{x})\quad \mbox{where}\quad \mu_i=\prod_{j=1}^m\nu_j^{i_j}(1-\nu_j)^{1-i_j}\;, \end{aligned} $$
(5.10)

with i and i 1i m related by either rule in (5.9). Thus when all σ js are non-vanishing, \(\mathcal {G}(\mathbf {x})\) has a unique value f i(x). If any σ j vanishes, then the corresponding multiplier ν j is set-valued, each μ i either vanishes or is set-valued, and hence \(\mathcal {G}\) is set-valued.

The canopy given by (5.10) is typically a subset of the hull in (5.5a), that is \(\mathcal {G}(\mathbf {x})\subseteq \mathcal {F}(\mathbf {x})\). In fact the canopy is typically a lower dimensional set, as rather than N − 1 coefficients μ i in the hull (5.5a), we now have only m − 1 coefficients ν j, with N = 2m. Canopies still given by (5.7a) but taking values outside the hull (5.5a) are also possible if F includes hidden terms, which we will come to in Sect. 5.3.

Although the expression (5.10) may look somewhat opaque at first, it is easy to expand for any given m and the resulting expressions are rather easier to understand. For convenience we give the cases m = 1 in the different indexing systems in Appendix B.

This system now consists of m discontinuity thresholds \(\mathcal {D}_j\) that comprise the discontinuity surface \(\mathcal {D}\),

$$\displaystyle \begin{aligned} \mathcal{D}_j&={\left\{{\mathbf{x}\in\mathbb R^n\;:\;\sigma_j(\mathbf{x})=0}\right\}}\qquad \mbox{and}\\ \mathcal{D}\;&={\left\{{\mathbf{x}\in\mathbb R^n\;:\;\sigma_1(\mathbf{x})\dots\sigma_m(\mathbf{x})=0}\right\}}\;, \end{aligned} $$
(5.11)

and clearly this assumes that the discontinuity surface is a manifold expressible as a union of submanifolds \(\mathcal {D}=\mathcal {D}_1\cup \dots \cup \mathcal {D}_m\).

The convex canopy of the vector fields f i is a natural choice for a set interpolating between the fields f i, as just the multi-linear interpolation between the f i’s in terms of the coefficients ν j, in some ways more natural than the convex hull (5.5a) which is strictly linear in it coefficients μ i but requires a larger number of them. As such the expression (5.10) result has been arrived at independently from different viewpoints by several authors, perhaps first in [5] as a way of ‘blending’ the fields f i to seek unique motion along \(\mathcal {D}\), as well as in [37, 38] as a way of facilitating computation, in [78, 81] as a study of nonlinearity in switching, and in [98, 141] to derive equivalence classes of regularized systems.

Functions like F(x;ν 1, …, ν m) appear naturally in many applications, wherever a physical parameter ν j jumps in value as some scalar quantity σ j crosses a threshold. The ‘three experiments’ in Chap. 4 took this form, and in electronic control this is familiar as Utkin’s formulation of variable structure systems (see, e.g., [127, 148]).

5.3 Hidden Terms: The ‘Ghosts’ of Switching

The expression (5.10) for \(\mathcal {G}\) is allowed to have nonlinear dependence on the switching multipliers \(\nu _j=\operatorname {step}(\sigma _j)\). Let us now ask what this nonlinearity signifies, and how this relates to the problem of defining the value of \(\operatorname {step}(0)\).

Consider that we have a vector field that behaves as \(\dot {{\mathbf {x}}}=\mathbf {F}(\mathbf {x};\operatorname {step}(\sigma (\mathbf {x})))\) for σ ≠ 0, and a modelling parameter that behaves as \(\nu =\operatorname {step}(\sigma (\mathbf {x}))\). Can we simply assume that an adequate model is given by \(\dot {{\mathbf {x}}}=\mathbf {F}(\mathbf {x};\nu )\)? What is the difference if we instead model this as \(\dot {{\mathbf {x}}}=\mathbf {F}(\mathbf {x};\nu ^p)\) for some \(p\in \mathbb N\), since we can also write \(\nu ^p=\operatorname {step}(\sigma (\mathbf {x}))\)? This will have non-trivial consequences on the discontinuity threshold, where ν varies over the interval [0, 1].

The difference between any monomial ν p and the linear term ν can be written as

$$\displaystyle \begin{aligned} \nu^p-\nu=\nu(\nu-1)\sum_{r=0}^{p-2}\nu^r\qquad {\mathrm{for}}\;\;p\ge2\;. \end{aligned} $$
(5.12)

This is what we called in Sect. 1.1 a hidden term, since it vanishes for all σ ≠ 0, as highlighted by the factorization on the right-hand side where either ν or ν − 1 vanishes if ν is 0 or 1. The hidden term need not vanish inside the switching layer, however, where 0 ≤ ν ≤ 1. Let us now write this more formally.

Definition 5.5

A hidden term H(x;ν) associated with a discontinuity threshold \(\mathcal {D}\) vanishes everywhere outside \(\mathcal {D}\). If \(\mathbf {x}\in \mathcal {D}\) at a point where \(\mathcal {D}\) is an intersection \(\mathcal {D}_1\cap \dots \cap \mathcal {D}_m\) of manifolds \(\mathcal {D}_j={\left \{{\mathbf {x}\in \mathbb R^n:\sigma _j(\mathbf {x})=0}\right \}}\), then we can write this as

$$\displaystyle \begin{aligned} \mathbf{H}(\mathbf{x};\nu)\sigma_1(\mathbf{x})\dots\sigma_m(\mathbf{x})=0\quad {\mathrm{for\; any}}\quad \mathbf{x}\;. \end{aligned} $$
(5.13)

That is, either some σ j = 0 and x lies on the discontinuity threshold, or σ j ≠ 0 for all j in which case H(x;ν) = 0.

Using hidden terms we can distinguish between different systems such as \(\dot {{\mathbf {x}}}=\mathbf {F}(\mathbf {x};\nu )\) and \(\dot {{\mathbf {x}}}=\mathbf {F}(\mathbf {x};h(\nu ))\), where h is any function of ν that behaves like \(h(\nu )=\operatorname {step}(\sigma (\mathbf {x}))\), for example, h(ν) = ν p for \(p\in \mathbb N\).

More generally we have the following.

Lemma 5.3

If a system \(\dot {{\mathbf {x}}}=\mathbf {F}(\mathbf {x};\nu )\) can be expressed in terms of a multiplier \(\nu =\operatorname {step}(\sigma (\mathbf {x}))\) for some smooth function σ, such that F is k-times differentiable with respect to ν, then we can decompose it into the convex combination of the fields f 0(x) ≡F(x;0) and f 1(x) ≡F(x;1), plus a k-times differentiable hidden term H(x;ν), as

$$\displaystyle \begin{aligned} \dot{{\mathbf{x}}}=\mathbf{F}(\mathbf{x};\nu)=\nu{{\mathbf{f}}^{1}}(\mathbf{x})+(1-\nu){{\mathbf{f}}^{0}}(\mathbf{x})+\mathbf{H}(\mathbf{x};\nu)\;. \end{aligned} $$
(5.14)

Proof

The result is straightforward from Definition 5.5. It is clear from (5.14) that F(x;0) ≡f 0(x) and F(x;1) ≡f 1(x), and therefore that H(x;0) and H(x;1) must vanish, so H is a hidden term. The differentiability of H with respect to ν follows directly from that of F.□

More useful than the result itself is to use this to derive an expression for H. If F is k-times differentiable with respect to ν, then we can expand it as a polynomial

$$\displaystyle \begin{aligned} \dot{{\mathbf{x}}}=\mathbf{F}(\mathbf{x};\nu)=\sum_{r=0}^k{\mathbf{c}}_r(\mathbf{x})\nu^r\;, \end{aligned} $$
(5.15)

for some vector fields c r(x). We can express the first two of these, c 0 and c 1, in terms of the vector fields f 0 and f 1 either side of the discontinuity by evaluating F at ν = 0 and ν = 1. Using (5.15) this gives f 0(x) = F(x;0) = c 0 and f 1(x) = F(x;1) = \(\displaystyle \sum _{r=0}^k\)c r, which re-arranges to c 0 = f 0 and c 1 = f 1 −f 0 −\(\displaystyle \sum _{p=2}^k\)c p. Substituting these into (5.15) we obtain (5.14), where

$$\displaystyle \begin{aligned} \mathbf{H}(\mathbf{x};\nu)&=\sum_{p=2}^k{\mathbf{c}}_p(\mathbf{x})(\nu^p-\nu)=\nu(\nu-1)\sum_{p=2}^k\sum_{r=0}^{p-2}{\mathbf{c}}_p(\mathbf{x})\nu^r\;, \end{aligned} $$
(5.16)

using the identity (5.12) to extract the factor ν(ν − 1) in H. Thus H is a hidden term since H(x;0) = H(x;1) = 0, and hence H(x;ν)σ(x) = 0 for all x.

Nonlinear dependence on discontinuous multipliers therefore gives us a way to characterize different systems that appear the same almost everywhere, but differ at a discontinuity threshold, distinguished via hidden terms. The result generalizes easily to several switching multipliers ν j simply by forming a multi-variable polynomial expansion in powers of ν j.

The hidden term (5.16) has a slightly different formula to that we obtained in (1.11)–(1.12) in Sect. 1.1, but they are consistent. We developed (1.11) as an infinite series for a scalar problem \(\dot x=F(x)\) with switching threshold x = 0, so to see the equivalence we need to merely make the scalars x, F, a n, b n, into vectors x, F, a n, b n, let the threshold be at σ(x) = 0, and truncate the series at \({{\cal O}{\left ({{{\nu ^k}}}\right )}}\). Clearly then the linear part of the series in (1.11) and (5.14) is equivalent with f 1(x) = a 0(x) and f 0(x) = b 0(x). The hidden terms are both of the form

$$\displaystyle \begin{aligned} \mathbf{H}(\mathbf{x};\nu)=\nu(1-\nu)\mathbf{G}(\mathbf{x};\nu)\quad {\mathrm{where}}\quad \mathbf{G}(\mathbf{x};\nu)=\sum_{r=0}^{k-2}{\mathbf{d}}_r(\mathbf{x})\;, \end{aligned} $$
(5.17)

with coefficients d r(x) related to c r in (5.16) and a r(x), b r(x), in (1.12), by

$$\displaystyle \begin{aligned} {\mathbf{d}}_r(\mathbf{x})=-\!\!\!\sum_{p=r+2}^k\!\!\!{\mathbf{c}}_p(\mathbf{x})={\mathbf{b}}_{r+1}(\mathbf{x})+(-1)^r\sum_{p=r}^{k-2}\frac{p!}{r!(p-r)!)}{\mathbf{a}}_{p+1}(\mathbf{x})\;. \end{aligned} $$
(5.18)

Thus we are beginning to see how different modelling approaches lead to the same fundamental form for the expansion of a piecewise-smooth function (5.14), with a hidden term H = ν(1 − ν)G, and it is only the function G we obtain that changes. We will see a few more forms for G yet in Sect. 6.3, obtained by considering implementations that smooth the discontinuity in different ways.

Such in-depth analysis of dynamics at the discontinuity becomes particularly necessary if solutions dwell upon the discontinuity threshold for significant intervals of time, as seen in all of the examples in Chap. 4. That motion is known as sliding along the discontinuity, and it is one of the oldest and most important notions in nonsmooth dynamics. To deal with the various behaviours in Chap. 4 associated with nonlinearity of the vector field or with the implementation of the discontinuity, we need to significantly expand that standard concept of sliding. We shall do this in Chap. 6, before applying these ideas specifically to the prototypes from Chap. 4.