1 Introduction

The aim of geometric numerical integration is to develop numerical integrators that preserve geometric properties of the system of differential equations under investigation. Classical examples include symplectic integrators [36, 51], energy preserving methods [77], and schemes that preserve a Lie–Poisson structure [88]. The motivation behind geometric numerical integration is that, as a rule of thumb, such integrators will typically give better global or long term numerical results than standard methods since they incorporate qualitative properties of the system under consideration.

In mathematical physics, most fundamental differential equations are invariant under a certain collection of symmetry transformations. These symmetries can be point transformations, contact transformations, or generalized transformations [68]. In all cases, the symmetries of a differential equation encapsulate important properties of the equation and its solutions. Furthermore, Lie group techniques are amongst the most effective methods for obtaining explicit solutions and conservation laws of nonlinear differential equations [11, 68, 76].

When discretizing differential equations invariant under a certain symmetry group, there are different incentives for preserving the symmetries of these equations. From a physical standpoint, discrete spacetime models should preserve the symmetries of their continuous counterparts. Mathematically, Lie group techniques could then be used to find explicit solutions and compute conservation laws of the discrete models. From a more practical point of view, symmetry-preserving discretizations should share some exact solutions with the original differential equations, or at least provide better approximations than noninvariant numerical schemes.

In the last 30 years, the application of Lie group techniques to finite difference equations has become a very active field of research. To the best of our knowledge, Yanenko and Shokin were the first to use group theoretical methods to study finite difference schemes by introducing first differential approximations of difference equations [82, 87]. The application of Lie group methods to finite difference equations, as we know it today, was first introduced by Dorodnitsyn in 1989 [23]. Early on, one of the main focuses in the field was to construct Lie point symmetry-preserving finite difference approximations of differential equations. Beside Dorodnitsyn, early contributors include Bakirova, Kozlov, Levi, and Winternitz who constructed symmetry-preserving schemes for heat transfer equations [2, 3, 26], variable coefficient Korteweg–de Vries equations [27], Burgers’ equation [37], the nonlinear Schrödinger equation [17], and second-order ordinary differential equations [28]. Symmetry-preserving approximation of Euler–Lagrange equations and their corresponding Lagrangian have also been considered in [29, 30], and the application of Noether’s theorem to compute conservation laws has been extensively studied in the discrete setting [24, 44, 45]. The applications of Lie point symmetries to finite difference equations have also been extended to generalized symmetries [54, 55], λ-symmetries [53, 59], and contact transformations [62].

In recent years, more systematic efforts have been directed towards investigating the numerical performance of symmetry-preserving schemes. For ordinary differential equations, symmetry-preserving schemes have proven to be very promising. For solutions exhibiting sharp variations or singularities, symmetry-preserving schemes systematically appear to outperform standard numerical schemes [13, 14, 18, 50]. For partial differential equations, the improvement of symmetry-preserving schemes versus traditional integrators is not as clear [9, 49, 61, 78]. On one hand, it was shown in [85] that symmetry-preserving schemes do much better in tracking sharp interfaces in Hamilton–Jacobi equations. On the other hand, invariant numerical schemes for evolution equations generally require the use of time-evolving meshes which can lead to mesh tangling and thereby severely limit the use of symmetry-preserving schemes. In this case, special techniques have to be developed to avoid mesh singularities. For example, new ideas relying on r-adaptivity have been implemented to improve the performance of invariant integrators [7]. Also, in [5, 6] an invariant evolution–projection strategy was introduced and invariant meshless discretization schemes were considered in [4].

The preceding references only provide a short bibliographical overview of the field. Many papers had to be omitted. More references on the subject can be found in the survey papers [56, 86], and the books [25, 44].

Given a differential equation with symmetry group G, the first step in constructing a symmetry-preserving numerical scheme is to compute difference invariants of the product action of G on a chosen stencil. There are mainly two approaches for constructing those invariants. Most of the references cited above use the infinitesimal symmetry generators of the group action and Lie’s infinitesimal invariance criterion to construct difference invariants. Alternatively, the difference invariants can be constructed using the novel method of equivariant moving frames mainly developed by Olver, which was done in [4, 21, 50, 70, 78, 79]. Given sufficiently many difference invariants, an invariant numerical scheme is, in general, obtained by finding a suitable combination of these invariants that converges to the original differential equation in the continuous limit. When using Lie’s infinitesimal generator approach, a suitable combination is found by taking the Taylor expansion of the difference invariants and combining them in such a way to obtained the desired invariant scheme. With the method of moving frames, a suitable combination is found more systematically by invariantizing a noninvariant numerical scheme. Since the symmetry group of a differential equation will, in general, act on both the independent and dependent variables, a symmetry-preserving numerical scheme will usually not be defined on a uniform orthogonal mesh.

The application of Lie groups to finite difference equations is a vast and very dynamic field of study. While preparing these lecture notes we had to omit many interesting applications and important results. The focus of these notes will be on the theoretical construction of invariant numerical schemes and their numerical implementation. At the heart of all our considerations are differential equations, finite difference equations, symmetry groups, and invariants. These familiar notions are all reviewed in Sects. 2, 3, and 4. As outlined above, there are two different approaches for computing invariants of a Lie group action. The infinitesimal approach based on Lie’s symmetry generators is introduced in Sect. 4.1, while the equivariant moving frame approach is explained in Sect. 4.2. Section 5 is devoted to weakly invariant equations, which can play an important role in the construction of symmetry-preserving schemes. The construction of symmetry-preserving numerical schemes is carefully explained in Sect. 6. To illustrate the implementation, we consider the Schwarzian differential equation and the Korteweg–de Vries (KdV) equation. In Sect. 7 we carry out numerical simulations for the Schwarzian equation, the KdV equation and Burgers’ equation. For partial differential equations, the invariance of a numerical scheme does not, in general, guarantee better numerical results. We will show that symmetry-preserving schemes can lead to mesh tangling, which limit their practical scope. To circumvent this shortcoming, we discuss new invariant numerical strategies. For the Korteweg–de Vries equation, we introduce invariant evolution–projection schemes and invariant adaptive numerical schemes. Unlike the KdV equation, solutions to Burgers’ equation can exhibit shocks. For these shock solutions we propose a new invariant finite volume type scheme. Finally, in Sect. 8 we identify some open problems and challenges in the field of symmetry-preserving numerical integrators.

2 Differential and Difference Equations

In this section we review the definitions of differential equations and finite difference equations. We take this opportunity to introduce some of the notation used throughout these notes.

2.1 Differential Equations

Let M be an m-dimensional manifold. For 0 ≤ , let \(\mathop{\mathrm{J}}\nolimits ^{(\ell)} =\mathop{ \mathrm{J}}\nolimits ^{(\ell)}(M,p)\) denote the extended ℓth order jet space of 1 ≤ p < m dimensional submanifolds SM defined as the space of equivalence classes of submanifolds under the equivalence relation of th order contact at a point [68]. Local coordinates on \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\) are given by the -jet

$$\displaystyle{ {\bigl (x,u^{(\ell)}\bigr )}\;, }$$
(1)

where x = (x 1, , x p) correspond to the independent variables and u () denotes the derivatives

$$\displaystyle\begin{array}{rcl} & & u_{x^{J}}^{\alpha } = \frac{\partial ^{k}u^{\alpha }} {(\partial x^{1})^{j_{1}}\cdots (\partial x^{p})^{j_{p}}} {}\\ & & \phantom{dfdlsglfggfdgfflfhg}\mbox{ with $1 \leq \alpha \leq q = m - p$ and $0 \leq k = j_{1} +\ldots +j_{p} \leq \ell$}\;. {}\\ \end{array}$$

In the above notation, J = (j 1, , j p ) is an ordered p-tuple of nonnegative integers, with entries j i ≥ 0 indicating the number of derivatives taken in the variable x i. The order of the multi-index, denoted by \(\mathop{\mathrm{\#}}\nolimits J = k\), indicates how many derivatives are being taken.

Example 2.1

In the case where p = 2 and q = 1, we have two independent variables (x 1, x 2) = (t, x) and one dependent variable u 1 = u. Then, the second order jet space is parametrized by

$$\displaystyle{(t,x,u,u_{t},u_{x},u_{tt},u_{tx},u_{xx})\;.}$$

Definition 2.2

A differential equation of order n is the zero locus of a differential map \(\varDelta: \mathop{\mathrm{J}}\nolimits ^{(\ell)} \rightarrow \mathbb{R}\). That is,

$$\displaystyle{ \varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\;. }$$
(2)

For later use, we introduce two regularity requirements on differential equations.

Definition 2.3

A differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) is said to be regular if the rank of its differential

$$\displaystyle{\mathrm{d}\varDelta =\sum _{ i=1}^{p} \frac{\partial \varDelta } {\partial x^{i}}\mathrm{d}x^{i} +\sum _{ J}\sum _{\alpha =1}^{q} \frac{\partial \varDelta } {\partial u_{x^{J}}^{\alpha }}\mathrm{d}u_{x^{J}}^{\alpha }}$$

is constant on the domain of definition of \(\varDelta: \mathop{\mathrm{J}}\nolimits ^{(\ell)} \rightarrow \mathbb{R}\).

Example 2.4

Any evolutionary partial differential equation

$$\displaystyle{\varDelta {\bigl (t,x,u^{(\ell)}\bigr )} = u_{ t} - f(t,x,u,u_{x},u_{xx},\ldots,u_{x^{\ell}}) = 0}$$

is regular since the rank of dΔ = du t − df is one.

Definition 2.5

A differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) is locally solvable at a point \({\bigl (x_{0},u_{0}^{(\ell)}\bigr )}\) if there exists a smooth solution u = f(x), defined in the neighborhood of x 0, such that u 0 () = f ()(x 0). A differential equation which is both regular and locally solvable is said to be fully regular.

The above description assumes that a submanifold SM is locally represented as the graph of a function \(S ={\bigl \{{\bigl ( x,f(x)\bigr )}\bigr \}}\). Alternatively, when no distinction between independent and dependent variables is made, a submanifold SM is locally parameterized by p variables \(s = (s^{1},\ldots,s^{p}) \in \mathbb{R}^{p}\) such that

$$\displaystyle{{\bigl (x(s),u(s)\bigr )} \in S\;.}$$

In numerical analysis, the independent variables s = (s 1, , s p) are called computational variables [39]. These are the variables that are discretized when finite difference equations are introduced in Sect. 2.2. We let \(\mathcal{J}^{(\ell)}\) denote the th order jet space of submanifolds SM parametrized by computational variables. Local coordinates on \(\mathcal{J}^{(\ell)}\) are given by

$$\displaystyle{ {\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = (\mathop{\ldots }s^{i}\mathop{\ldots }x_{ s^{A}}^{i}\mathop{\ldots }u_{ s^{A}}^{\alpha }\mathop{\ldots })\;, }$$
(3)

with 1 ≤ ip, 1 ≤ αq, and \(0 \leq \mathop{\mathrm{\#}}\nolimits A \leq \ell\).

Remark 2.6

We hope that the jet notations \({\bigl (x,u^{(\ell)}\bigr )}\) and \({\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )}\) will not confuse the reader. The independent variable, that is x and s, respectively, indicates with respect to which variables the dependent variables u (and x in the second case) are differentiated in u ().

Example 2.7

In the case where p = 2 and m = 3, let (s 1, s 2) = (τ, s) denote the two computational variables and let (t, x, u) be a local parametrization of M. Then the second order jet space \(\mathcal{J}^{(2)}\) is parametrized by

$$\displaystyle{(\tau,s,t,x,u,t_{\tau },t_{s},x_{\tau },x_{s},u_{\tau },u_{s},t_{\tau \tau },t_{\tau s},t_{ss},x_{\tau \tau },x_{\tau s},x_{ss},u_{\tau \tau },u_{\tau s},u_{ss}).}$$

The transition between the jet coordinates (1) and (3) is given by the chain rule. Provided

$$\displaystyle{ \det {\biggl (\frac{\partial x^{j}} {\partial s^{i}} \biggr )}\neq 0\;,\quad \mbox{ where $1 \leq i,j \leq p$}\;, }$$
(4)

the implicit total derivative operators

$$\displaystyle{D_{x^{i}} =\sum _{ j=1}^{p}\mathop{ \mathrm{W}}\nolimits _{ i}^{j}D_{ s^{j}},\quad {\bigl (\mathop{\mathrm{W}}\nolimits _{i}^{j}\bigr )} ={\biggl ( \frac{\partial x^{j}} {\partial s^{i}} \biggr )}^{-1}\;\;,\quad i = 1,\ldots,p\;,}$$

are well-defined, and successive application of those operators to the dependent variables u α will give the coordinate expressions for the x-derivatives of u in terms of the s-derivatives of x and u:

$$\displaystyle{ u_{x^{J}}^{\alpha } = (D_{x^{1}})^{j_{1} }\cdots (D_{x^{p}})^{j_{p} }u^{\alpha } ={\biggl (\sum _{ l=1}^{p}\mathop{ \mathrm{W}}\nolimits _{ 1}^{l}D_{ s^{l}}\biggr )}^{j_{1} }\cdots {\biggl (\sum _{l=1}^{p}\mathop{ \mathrm{W}}\nolimits _{ p}^{l}D_{ s^{l}}\biggr )}^{j_{p} }u^{\alpha }\;. }$$
(5)

We note that the nondegeneracy constraint (4) implies that the change of variables x = x(s) is invertible.

Example 2.8

Combining Examples 2.1 and 2.7, assume that x = x(τ, s) and t = t(τ, s) are functions of the computational variables (τ, s). Provided

$$\displaystyle{ \det \left [\begin{array}{*{10}c} t_{\tau } & t_{s}\\ x_{\tau } &x_{s} \end{array} \right ] = t_{\tau }x_{s}-t_{s}x_{\tau }\neq 0\;, }$$
(6)

the implicit derivative operators

$$\displaystyle{ D_{x} = \frac{t_{\tau }\,D_{s} - t_{s}\,D_{\tau }} {x_{s}t_{\tau } - x_{\tau }t_{s}} \;,\quad D_{t} = \frac{x_{s}\,D_{\tau } - x_{\tau }\,D_{s}} {x_{s}t_{\tau } - x_{\tau }t_{s}} \;. }$$
(7)

are well-defined. It follows that

$$\displaystyle{ u_{x} = \frac{t_{\tau }\,u_{s} - t_{s}\,u_{\tau }} {x_{s}t_{\tau } - x_{\tau }t_{s}}\;,\quad u_{t} = \frac{x_{s}\,u_{\tau } - x_{\tau }\,u_{s}} {x_{s}t_{\tau } - x_{\tau }t_{s}} \;. }$$
(8)

Relations for the higher order derivatives are obtained by applying (7) to (8).

Given a differential equation (2), the chain rule (5) can be used to re-express (2) in terms of x i = x i(s), u α = u α(s) and their computational derivatives \(x_{s^{A}}^{i}\), \(u_{s^{A}}^{\alpha }\):

$$\displaystyle{ \bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} =\varDelta {\bigl ( x,u^{(\ell)}\bigr )} = 0\;. }$$
(9a)

Recall that \({\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = (s,\mathop{\ldots }x_{s^{A}}^{i}\mathop{\ldots }u_{s^{A}}^{\alpha }\mathop{\ldots }) \in \mathcal{J}^{(\ell)}\) for \(\bar{\varDelta }= 0\) in (9a) while \({\bigl (x,u^{(\ell)}\bigr )} = (x,\mathop{\ldots }u_{x^{J}}^{\alpha }\mathop{\ldots }) \in \mathop{\mathrm{J}}\nolimits ^{(\ell)}\) in Δ = 0. Equation (9a) can be supplemented by companion equations [64],

$$\displaystyle{ \tilde{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\;. }$$
(9b)

The latter are introduced to impose restrictions on the change of variables x = x(s). The system of differential equations (9) is called an extended system of the differential equation (2). For the extended system of differential equations (9) to share the same solution space as the original equation (2), the companion equations (9b) cannot introduce differential constraints on the derivatives \(u_{s^{A}}^{\alpha }\).

Definition 2.5 is readily adapted to the computational variable framework.

Definition 2.9

A differential equation \(\bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\) (or system of differential equations) is regular if the rank of its differential

$$\displaystyle{\mathrm{d}\bar{\varDelta } =\sum _{ i=1}^{p} \frac{\partial \bar{\varDelta }} {\partial s^{i}}\mathrm{d}s^{i} +\sum _{ J}\sum _{i=1}^{p} \frac{\partial \bar{\varDelta }} {\partial x_{s^{J}}^{i}}\mathrm{d}x_{s^{J}}^{i} +\sum _{ J}\sum _{\alpha =1}^{q} \frac{\partial \bar{\varDelta }} {\partial u_{s^{J}}^{\alpha }}\mathrm{d}u_{s^{J}}^{\alpha }}$$

is constant on the domain of definition. The equation (or system of equations) is locally solvable at a point (s 0, x 0 (), u 0 ()) if there exists a smooth solution x = f(s), u = g(s), defined in the neighborhood of s 0, such that x 0 () = f ()(s 0) and u 0 () = g ()(s 0). The differential equation (or system of differential equations) is said to be fully regular if it is both regular and locally solvable.

Example 2.10

As one of our main examples in these notes, we consider the Korteweg–de Vries (KdV) equation

$$\displaystyle{ u_{t} + uu_{x} + u_{xxx} = 0\;. }$$
(10)

We introduce the computational variables (τ, t) so that x = x(τ, s), t = t(τ, s). Then the implicit total derivative operators are given by (7). Before proceeding any further, we assume that

$$\displaystyle{ t_{s} = 0\;,\quad t_{\tau \tau } = 0\;. }$$
(11)

In other words,

$$\displaystyle{ t = k\tau + t^{0}\;, }$$
(12)

where k ≠ 0 and t 0 are constants. The reasons for imposing the constraints (11) are explained in Example 3.10. The operators of implicit differentiation (7) then simplify to

$$\displaystyle{D_{x} = \frac{1} {x_{s}}D_{s}\;,\quad D_{t} = \frac{1} {t_{\tau }}{\biggl (D_{\tau } - \frac{x_{\tau }} {x_{s}}D_{s}\biggr )}\;.}$$

Therefore,

$$\displaystyle{u_{x} = \frac{u_{s}} {x_{s}}\;,\quad \!u_{xx} = \frac{1} {x_{s}}{\biggl (\frac{u_{s}} {x_{s}}\biggr )}_{s}\;,\quad \!u_{xxx} = \frac{1} {x_{s}}{\biggl ( \frac{1} {x_{s}}{\biggl (\frac{u_{s}} {x_{s}}\biggr )}_{s}\biggr )}_{s}\;,\quad \!u_{t} = \frac{u_{\tau }} {t_{\tau }} -\frac{x_{\tau }} {t_{\tau }} \cdot \frac{u_{s}} {x_{s}}}$$

and the KdV equation (10) becomes

$$\displaystyle{ \frac{u_{\tau }} {t_{\tau }} +{\biggl ( u -\frac{x_{\tau }} {t_{\tau }} \biggr )}\frac{u_{s}} {x_{s}} + \frac{1} {x_{s}}{\biggl ( \frac{1} {x_{s}}{\biggl (\frac{u_{s}} {x_{s}}\biggr )}_{s}\biggr )}_{s} = 0\;, }$$
(13)

together with the companion equations (11). The differential equation (13) is reminiscent of the equation one obtains when writing the KdV equation in Lagrangian form [9]. In the classical Lagrangian framework, the differential constraint

$$\displaystyle{ \frac{x_{\tau }} {t_{\tau }} = u\;, }$$
(14)

is also imposed. The KdV equation then reduces to

$$\displaystyle{ \bar{\varDelta }= \frac{u_{\tau }} {t_{\tau }} + \frac{1} {x_{s}}{\biggl ( \frac{1} {x_{s}}{\biggl (\frac{u_{s}} {x_{s}}\biggr )}_{s}\biggr )}_{s} = 0\;, }$$
(15)

together with the companion equations (11), (14). In particular, when k = 1 in (12), we obtain the system of differential equations

$$\displaystyle{u_{\tau } + \frac{1} {x_{s}}{\biggl ( \frac{1} {x_{s}}{\biggl (\frac{u_{s}} {x_{s}}\biggr )}_{s}\biggr )}_{s} = 0\;,\quad x_{\tau } = u\;.}$$

2.2 Finite Difference Equations

We now move on to the discrete setting, which is the main focus of these lecture notes. In the previous section, we introduced two different jets spaces, namely \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\) and \(\mathcal{J}^{(\ell)}\). The motivation for introducing computational variables and the corresponding jet space \(\mathcal{J}^{(\ell)}\) stems from the fact that the discrete framework is more closely related to \(\mathcal{J}^{(\ell)}\) than \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\).

Let \(N = (n^{1},\ldots,n^{p}) \in \mathbb{Z}^{p}\) denote an integer-valued multi-index. Thinking of the multi-index N as sampling the computational variables \(s = (s^{1},\ldots,s^{p}) \in \mathbb{R}^{p}\) at integer values, the discrete notation (x N , u N ) should be understood as sampling the submanifold \(S ={\bigl \{{\bigl ( x(s),u(s)\bigr )}\bigr \}} \subset M\) at the integer-valued points \(s = N \in \mathbb{Z}^{p} \subset \mathbb{R}^{p}\). In other words \((x_{N},u_{N}) ={\bigl ( x(N),u(N)\bigr )}\). To approximate the -jet \({\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} \in \mathcal{J}^{(\ell)}\) at s = N, we consider a finite collection of points

$$\displaystyle{ (N,x_{N}^{[\ell]},u_{ N}^{[\ell]}) = (N,\ldots,x_{ N+K},\ldots,u_{N+K},\ldots )\;, }$$
(16)

where \(K \in \mathbb{Z}^{p}\). We require that the point (x N , u N ) is always included and that

$$\displaystyle{x_{N+K_{1}}\neq x_{N+K_{2}}\quad \mbox{ whenever $K_{1}\neq K_{2}$}\;,}$$

so that no two discrete independent variables are the same. We refer to (16) as the ℓth order discrete jet at N. In numerical analysis, a point in (16) is also called a stencil. For theoretical purposes, one can assume that the multi-index \(K \in (\mathbb{Z}^{\geq 0})^{p}\) only takes nonnegative values and that \(0 \leq \mathop{\mathrm{\#}}\nolimits K = k^{1} +\ldots +k^{p} \leq \ell\). The latter provides the minimal number of points required to approximate the -jet \({\bigl (x,u^{(\ell)}\bigr )}\) (or \({\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )}\)) by first order forward differences. In applications, especially when constructing numerical schemes, it is generally preferable to consider points centered around (x N , u N ) and to include more than the minimum number of points in \({\bigl (N,x_{N}^{[\ell]},u_{N}^{[\ell]}\bigr )}\) required to approximate \({\bigl (x,u^{(\ell)}\bigr )}\) for better numerical accuracy and stability. From now on, we will assume that a certain stencil (16) has been chosen. We denote by

$$\displaystyle{\mathcal{J}^{[\ell]} =\bigcup _{ N\in \mathbb{Z}^{p}}{\Bigl (N,x_{N}^{[\ell]},u_{ N}^{[\ell]}\Bigr )}}$$

the union over all the stencils and call \(\mathcal{J}^{[\ell]}\) the th order discrete jet space as \(\mathcal{J}^{[\ell]}\) provides an approximation of \(\mathcal{J}^{(\ell)}\). Since the jet coordinates of \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\) can be expressed in terms of the jet coordinates of \(\mathcal{J}^{(\ell)}\) using (5), it follows that the points in \(\mathcal{J}^{[\ell]}\) can be used to approximate \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\).

Example 2.11

Consider the case where p = 2 and the dimension of the manifold M is dimM = m = 3. Let (t, x, u) be local coordinates on M. In the continuous case, see Example 2.7, we introduced the computational variables (τ, s). In the discrete case, let \(N = (n,i) \in \mathbb{Z}^{2}\), which can be thought of as evaluating the computational variables (τ, s) at integer values. To make the multi-index notation more compact, we let

$$\displaystyle{(t_{N},x_{N},u_{N}) = (t_{i}^{n},x_{ i}^{n},u_{ i}^{n})\;,\quad N = (n,i) \in \mathbb{Z}^{2}\;.}$$

Working with forward differences, the simplest first order discrete jet is parametrized by

$$\displaystyle{{\Bigl (t_{N}^{[1]},x_{ N}^{[1]},u_{ N}^{[1]}\Bigr )} = (t_{ i}^{n},x_{ i}^{n},u_{ i}^{n},t_{ i}^{n+1},x_{ i}^{n+1},u_{ i}^{n+1},t_{ i+1}^{n},x_{ i+1}^{n},u_{ i+1}^{n})\;.}$$

First order approximations of the first order derivatives (t τ , x τ , u τ ) and (t s , x s , u s ) on a grid with unit spacing are then given by

$$\displaystyle{ \begin{array}{lll} (t_{\tau },x_{\tau },u_{\tau }) & \approx &(t_{i}^{n+1} - t_{i}^{n},x_{i}^{n+1} - x_{i}^{n},u_{i}^{n+1} - u_{i}^{n})\;, \\ (t_{s},x_{s},u_{s})& \approx &(t_{i+1}^{n} - t_{i}^{n},x_{i+1}^{n} - x_{i}^{n},u_{i+1}^{n} - u_{i}^{n})\;. \end{array} }$$
(17)

Referring to (8) for the expressions of the t and x derivatives of u in terms of the computational variable derivatives, and using (17) we have that

$$\displaystyle{ \begin{array}{lll} u_{x}& =&\frac{t_{\tau }\,u_{s}-t_{s}\,u_{\tau }} {x_{s}t_{\tau }-x_{\tau }t_{s}} \approx \frac{(t_{i}^{n+1}-t_{ i}^{n})(u_{ i+1}^{n}-u_{ i}^{n})-(t_{ i+1}^{n}-t_{ i}^{n})(u_{ i}^{n+1}-u_{ i}^{n})} {(x_{i+1}^{n}-x_{i}^{n})(t_{i}^{n+1}-t_{i}^{n})-(x_{i}^{n+1}-x_{n}^{i})(t_{i+1}^{n}-t_{i}^{n})} \;, \\ u_{t} & =&\frac{x_{s}\,u_{\tau }-x_{\tau }\,u_{s}} {x_{s}t_{\tau }-x_{\tau }t_{s}} \approx \frac{(x_{i+1}^{n}-x_{ i}^{n})(u_{ i}^{n+1}-u_{ i}^{n})-(x_{ i}^{n+1}-x_{ i}^{n})(u_{ i+1}^{n}-u_{ i}^{n})} {(x_{i+1}^{n}-x_{i}^{n})(t_{i}^{n+1}-t_{i}^{n})-(x_{i}^{n+1}-x_{n}^{i})(t_{i+1}^{n}-t_{i}^{n})} \;.\end{array} }$$
(18)

The latter expressions are first order forward approximations of the first order partial derivatives u x and u t on any mesh that satisfies

$$\displaystyle\begin{array}{rcl} & & \det \left [\begin{array}{*{10}c} (t_{i}^{n+1} - t_{i}^{n}) & (t_{i+1}^{n} - t_{i}^{n}) \\ (x_{i}^{n+1} - x_{i}^{n})&(x_{i+1}^{n} - x_{i}^{n}) \end{array} \right ] {}\\ & & \phantom{dfgdkglfkgkfggdfgfha} = (x_{i+1}^{n} - x_{ i}^{n})(t_{ i}^{n+1} - t_{ i}^{n}) - (x_{ i}^{n+1} - x_{ i}^{n})(t_{ i+1}^{n} - t_{ i}^{n})\neq 0\;,{}\\ \end{array}$$

the latter being a discrete version of the nondegeneracy condition (6). The procedure can be repeated to obtain approximations of higher order derivatives on arbitrary meshes. For example, applying the implicit derivative operators (7) to the first order derivative expressions (8) one obtains formulas for the second order derivatives u xx , u xt , and u tt expressed in terms of the computational derivatives. Substituting the approximations (17) and the second order derivative approximations

$$\displaystyle{\begin{array}{llrl} t_{\tau \tau } & \approx t_{i}^{n+2} - 2t_{i}^{n+1} + t_{i}^{n}\;, & x_{\tau \tau }& \approx x_{i}^{n+2} - 2x_{i}^{n+1} + x_{i}^{n}, \\ t_{\tau s} & \approx t_{i+1}^{n+1} - t_{i}^{n+1} - t_{i+1}^{n} + x_{i}^{n}\;,& \quad x_{\tau s}& \approx x_{i+1}^{n+1} - x_{i}^{n+1} - x_{i+1}^{n} + x_{i}^{n}\:, \\ t_{ss}& \approx t_{i+2}^{n} - 2t_{i+1}^{n} + t_{i}^{n}\;, &x_{ss}& \approx x_{i+2}^{n} - 2x_{i+1}^{n} + x_{i}^{n}\;,\end{array} }$$

into the formulas obtained yields discrete approximations for u xx , u xt , and u tt in the computational variables on an orthogonal grid with unit spacing.

Definition 2.12

A finite difference equation is the zero locus of a discrete map \(E: \mathcal{J}^{[\ell]} \rightarrow \mathbb{R}\). That is,

$$\displaystyle{E{\Bigl (N,x_{N}^{[\ell]},u_{ N}^{[\ell]}\Bigr )} = 0\;.}$$

Definition 2.13

A finite difference equation \(E: \mathcal{J}^{[\ell]} \rightarrow \mathbb{R}\) is said to be regular if the rank of the differential

$$\displaystyle{\mathrm{d}E =\sum _{K}{\Biggl [\sum _{i=1}^{p} \frac{\partial E} {\partial x_{N+K}^{i}}\mathrm{d}x_{N+K}^{i} +\sum _{ \alpha =1}^{q} \frac{\partial E} {\partial u_{N+K}^{\alpha }}\mathrm{d}u_{N+K}^{\alpha }\Biggr ]}}$$

is constant for all N in the domain of definition of the equation.

Finite difference equations can be studied as mathematical objects of interest in their own [31, 44, 63]. In the following we are interested in finite difference equations that approximate differential equations.

Definition 2.14

A finite difference equation E(N, x N [], u N []) = 0 is said to be consistent with the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) (or \(\bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0)\) if in the continuous limit (x N+K , u N+K ) → (x N , u N ),

$$\displaystyle{E(N,x_{N}^{[\ell]},u_{ N}^{[\ell]}) \rightarrow \varDelta {\bigl ( x,u^{(\ell)}\bigr )}\quad (\mbox{ or $E(N,x_{ N}^{[\ell]},u_{ N}^{[\ell]}) \rightarrow \bar{\varDelta }{\bigl ( s,x^{(\ell)},u^{(\ell)}\bigr )}$})\;.}$$

Remark 2.15

The process of taking continuous limits is discussed in more details in Sect. 6.

Definition 2.16

Let \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) be a differential equation with extended system \(\{\bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0,\,\tilde{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\}\). A numerical scheme is a system of finite difference equations

$$\displaystyle{\overline{E}(N,x_{N}^{[\ell]},u_{ N}^{[\ell]}) = 0\;,\quad \widetilde{E}(N,x_{ N}^{[\ell]},u_{ N}^{[\ell]}) = 0\;,}$$

where \(\overline{E}(N,x_{N}^{[\ell]},u_{N}^{[\ell]}) = 0\) approximates the differential equation

$$\displaystyle{\varDelta {\bigl (x,u^{(\ell)}\bigr )} =\bar{\varDelta }{\bigl ( s,x^{(\ell)},u^{(\ell)}\bigr )} = 0}$$

and the equations \(\widetilde{E}(N,x_{N}^{[\ell]},u_{N}^{[\ell]}) = 0\) provide an approximation of the companion equations

$$\displaystyle{\tilde{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\;.}$$

Intuitively, the difference equations \(\widetilde{E}(N,x_{N}^{[\ell]},u_{N}^{[\ell]}) = 0\) provide constraints on the mesh used to approximate the differential equation Δ = 0. The latter should not yield any restrictions on the discrete dependent variables u N [].

Example 2.17

To illustrate Definition 2.16, let us consider the KdV equation (10). Assume the equation is to be discretized on the orthogonal mesh

$$\displaystyle{ t^{n} = k\,n + t^{0}\;,\quad x_{ i} = h\,i + x_{0}\;, }$$
(19)

where k, h > 0, \((n,i) \in \mathbb{Z}^{2}\), and t 0, x 0 are arbitrary constants. The mesh (19) can be encapsulated in a system of finite difference equations in different ways. For example, it is not difficult to see that (19) is the solution to the system of equations

$$\displaystyle{ \begin{array}{llrl} t_{i}^{n+1} - t_{i}^{n}& = k\;,&\quad x_{i}^{n+1} - x_{i}^{n}& = 0\;, \\ t_{i+1}^{n} - t_{i}^{n}& = 0\;, &x_{i+1}^{n} - x_{i}^{n}& = h\;.\end{array} }$$
(20)

The mesh (19) is also a solution to

$$\displaystyle{ \begin{array}{rrrr} t_{i}^{n+1} - 2t_{i}^{n} + t_{i}^{n-1} & = 0,& x_{i}^{n+1} - x_{i}^{n}& = 0\;, \\ t_{i+1}^{n} - t_{i}^{n}& = 0,&\quad x_{i+1}^{n} - 2x_{i}^{n} + x_{i-1}^{n}& = 0\;. \end{array} }$$
(21)

The difference between the two systems of mesh equations is that in (20) the time step k and the spatial step h are fixed by the system whereas in (21) those steps corresponds to constants of integration. In both cases, the KdV equation can be approximated by

$$\displaystyle{ \frac{u_{i}^{n+1} - u_{i}^{n}} {k} + u_{i}^{n} \cdot \frac{u_{i+1}^{n} - u_{ i-1}^{n}} {2h} + \frac{u_{i+2}^{n} - 2u_{i+1}^{n} + 2u_{i-1}^{n} - u_{i-2}^{n}} {2h^{3}} = 0\;. }$$
(22)

The systems of equations (20)– (22) or (21)– (22) provide two examples of Definition 2.16. They also illustrate the fact that, in general, the equations \(\widetilde{E} = 0\) specifying the mesh are not unique.

3 Lie Symmetries

Let G be an r-dimensional Lie group, and let \(\mathcal{M}\) be a d-dimensional manifold with local coordinates z = (z 1, , z d). In the following, the manifold \(\mathcal{M}\) can represent the submanifold jet spaces \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\) or \(\mathcal{J}^{(\ell)}\) or the discrete jet space \(\mathcal{J}^{[\ell]}\). In the latter case, \(\mathcal{M}\) should in fact be called a lattifold or lattice variety, that is a manifold-like structure modeled on \(\mathbb{Z}^{p}\) [65, 67].

Definition 3.1

A transformation group acting on a manifold \(\mathcal{M}\) is given by a Lie group G and a smooth map \(\varPhi: G \times \mathcal{M}\rightarrow \mathcal{M}\), such that Φ(g, z) = g ⋅ z, which satisfies the following two properties

$$\displaystyle{ e \cdot z = z\;,\quad g \cdot (h \cdot z) = (gh) \cdot z\;,\quad \mbox{ for all $z \in \mathcal{M}$, $g,\,h \in G$}\;, }$$
(23)

and where eG denotes the identity element.

It follows from (23) that the inverse of the transformation defined by the group element g is given by the inverse group element g −1. Therefore g induces a diffeomorphism from \(\mathcal{M}\) to itself.

Remark 3.2

Definition 3.1 assumes that the group action is global, meaning that g ⋅ z is defined for every gG and every \(z \in \mathcal{M}\). In practice, group actions may only be defined locally, meaning that for a given \(z \in \mathcal{M}\), the transformation g ⋅ z is only defined for group elements g sufficiently near the identity. For a local transformation group, the map Φ is defined on an open subset \(\mathcal{B}\) with \(\{e\} \times \mathcal{M}\subset \mathcal{B}\subset G \times \mathcal{M}\), and the conditions (23) of Definition 23 are imposed wherever they are defined.

In the following, we use capital letters to denote the image of a point under a group transformation. For example,

$$\displaystyle{Z = g \cdot z\quad \mbox{ where $g \in G$ and $z \in \mathcal{M}$}\;.}$$

At the infinitesimal level, let \(\mathfrak{g}\) denote the Lie algebra of vector fields corresponding to the infinitesimal generators of the group action. A vector field

$$\displaystyle{\mathbf{v} =\sum _{ a=1}^{d}\zeta ^{a}(z) \frac{\partial } {\partial z^{a}}}$$

will be in \(\mathfrak{g}\) if it is tangent to the orbits of a one-parameter subgroup of transformations of G. The flow through the point \(z \in \mathcal{M}\) generated by a vector field \(\mathbf{v} \in \mathfrak{g}\), is found by solving the initial value problem

$$\displaystyle{\frac{\mathrm{d}Z^{a}} {\mathrm{d}\epsilon } =\zeta ^{a}(Z)\;,\quad Z^{a}(0) = z^{a}\;,\qquad a = 1,\ldots,d\;.}$$

The maximal integral curve is denoted exp[ε v] ⋅ z, and is called the exponentiation of the infinitesimal generator v.

Definition 3.3

Let G be a local Lie group of transformations acting on \(\mathcal{M}\). The Lie group G is a (local) symmetry group of the (fully) regular equationFootnote 1 F(z) = 0 if and only if

$$\displaystyle{F(g \cdot z) = 0\quad \mbox{ whenever $F(z) = 0$}\;,}$$

for all gG such that the local action is defined. Infinitesimally, a connected Lie group of transformations G acting on \(\mathcal{M}\) is a local symmetry group of F(z) = 0 if and only if

$$\displaystyle{ \mathbf{v}(F)\bigr \rvert_{F=0} = 0\quad \mbox{ for all $\mathbf{v} \in \mathfrak{g}$}\;. }$$
(24)

Remark 3.4

Definition 3.3 extends to systems of equations and more general local groups of transformations by including discrete transformations as well [10, 40, 42, 43]. In the following we restrict all our considerations to Lie point symmetries and omit the interesting case of discrete symmetries.

3.1 Symmetries of Differential Equations

Symmetries of differential equations are covered extensively in many excellent textbooks such as [11, 12, 43, 68, 71, 76]. We refer to these references for a more detailed exposition.

If \(\mathcal{M} =\mathop{ \mathrm{J}}\nolimits ^{(\ell)}\), then the local group action is given by the prolonged action \((X,U^{(\ell)}) = g \cdot {\bigl ( x,u^{(\ell)}\bigr )}\) on the submanifold -jet \({\bigl (x,u^{(\ell)}\bigr )}\). Let

$$\displaystyle{ X^{i} = g \cdot x^{i}\;,\quad i = 1,\ldots,p\;,\qquad U^{\alpha } = g \cdot u^{\alpha }\;,\quad \alpha = 1,\ldots,q }$$
(25)

denote the local group action of G on the manifold M locally coordinatized by (x, u). To compute the prolonged action, we introduce the implicit differentiation operators [33],

$$\displaystyle{ D_{X^{i}} =\sum _{ j=1}^{p}\mathop{ \mathrm{W}}\nolimits _{ i}^{j}D_{ x^{j}}\;,\quad \mbox{ where $(\mathop{\mathrm{W}}\nolimits _{i}^{j}) ={\biggl ( \frac{\partial X^{j}} {\partial x^{i}} \biggr )}^{-1}$} }$$
(26)

denotes the entries of the inverse Jacobian matrix and

$$\displaystyle{D_{x^{j}} = \frac{\partial } {\partial x^{j}} +\sum _{J}\sum _{\alpha =1}^{q}u_{ x^{J+e_{j}}}^{\alpha } \frac{\partial } {\partial u_{x^{J}}^{\alpha }}}$$

is the total differentiation operator with respect to the independent variable x j. In the above formula, \(e_{j} = (0,\ldots,0,1,0,\ldots,0) \in \mathbb{R}^{p}\) denotes the unit vector with zeros everywhere except in the jth component. We note that the operators (26) mutually commute

$$\displaystyle{[D_{X^{i}},D_{X^{j}}] = 0\;,\quad 1 \leq i,\,j \leq p\;.}$$

Successively applying the implicit differentiation operators (26) to U α = g ⋅ u α yields the expressions for the prolonged action

$$\displaystyle{U_{X^{J}}^{\alpha } = (D_{X^{1}})^{j_{1} }\cdots (D_{X^{p}})^{j_{p} }U^{\alpha }\;,\quad \alpha = 1,\ldots,q,\quad \mathop{\mathrm{\#}}\nolimits J \geq 0\;.}$$

At the infinitesimal level, let

$$\displaystyle{ \mathbf{v} =\sum _{ i=1}^{p}\xi ^{i}(x,u) \frac{\partial } {\partial x^{i}} +\sum _{ \alpha =1}^{q}\phi ^{\alpha }(x,u) \frac{\partial } {\partial u^{\alpha }} }$$
(27)

denote an infinitesimal generator of the group action (25). The prolongation of (27) to \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\) is given by

$$\displaystyle{\mathbf{v}^{(\ell)} =\sum _{ i=1}^{p}\xi ^{i} \frac{\partial } {\partial x^{i}} +\sum _{ \alpha =1}^{q}\sum _{ J}\phi ^{\alpha;J} \frac{\partial } {\partial u_{x^{J}}^{\alpha }}\;,}$$

where the prolonged vector field coefficients are defined recursively by the standard prolongation formula

$$\displaystyle{\phi ^{\alpha;J+e_{j} } = D_{x^{j}}\phi ^{\alpha;J} -\sum _{ i=1}^{p}(D_{ x^{j}}\xi ^{i})\,u_{ x^{J+e_{i}}}^{\alpha }\;.}$$

Given a differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\), the Lie point symmetries of the equation are found from the infinitesimal invariance criterion

$$\displaystyle{ \mathbf{v}^{(\ell)}(\varDelta )\bigr \rvert_{\varDelta =0} = 0\quad \mbox{ for all $\mathbf{v} \in \mathfrak{g}$}\;. }$$
(28)

The latter yields a differential equation in x, u and the derivatives of u with respect to x, as well as ξ i(x, u) and ϕ α(x, u) and their partial derivatives with respect to x and u. After eliminating any dependencies among the derivatives of the us due to the equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\), one can equate the coefficients of the remaining unconstrained partial derivatives of u to zero. This yields a system of linear partial differential equations for the coefficients ξ i and ϕ α, called the determining equations of the (maximal) Lie symmetry algebra. The procedure for obtaining and solving the determining equations has been implemented in all major computer algebra systems such as Macsyma, Maple, Mathematica, MuMath and Reduce. An extensive list of references on the subject can be found in [19].

Example 3.5

To illustrate the algorithm outlined above, we compute the infinitesimal generators of the KdV equation (10). Let v = ξ(t, x, u) x + η(t, x, u) t + ϕ(t, x, u) u denote a general vector field on \(\mathbb{R}^{3}\). The third order prolongation of v is

$$\displaystyle\begin{array}{rcl} \mathbf{v}^{(3)} =\xi \frac{\partial } {\partial x} +\eta \frac{\partial } {\partial t} +\phi \frac{\partial } {\partial u} +\phi ^{x} \frac{\partial } {\partial u_{x}} +\phi ^{t} \frac{\partial } {\partial u_{t}} +\phi ^{xx} \frac{\partial } {\partial u_{xx}} +\phi ^{xt} \frac{\partial } {\partial u_{xt}} +\phi ^{tt} \frac{\partial } {\partial u_{tt}}& & {}\\ +\phi ^{xxx} \frac{\partial } {\partial u_{xxx}} +\phi ^{xxt} \frac{\partial } {\partial u_{xxt}} +\phi ^{xtt} \frac{\partial } {\partial u_{xtt}} +\phi ^{ttt} \frac{\partial } {\partial u_{ttt}},& & {}\\ \end{array}$$

where

$$\displaystyle{ \begin{array}{lll} \phi ^{t} & =&D_{t}\phi - u_{x}D_{t}\xi - u_{t}D_{t}\eta \;, \\ \phi ^{x} & =&D_{x}\phi - u_{x}D_{x}\xi - u_{t}D_{x}\eta \;, \\ \phi ^{xx} & =&D_{x}(\phi ^{x}) - u_{xx}D_{x}\xi - u_{xt}D_{x}\eta \\ & =&D_{x}^{2}\phi - u_{x}D_{x}^{2}\xi - u_{t}D_{x}^{2}\eta - 2u_{xx}D_{x}\xi - 2u_{xt}D_{x}\eta \;, \\ \phi ^{xxx}& =&D_{x}(\phi ^{xx}) - u_{xxx}D_{x}\xi - u_{xxt}D_{t}\eta \\ & =&D_{x}^{3}\phi - u_{x}D_{x}^{3}\xi - u_{t}D_{x}^{3}\eta - 3u_{xx}D_{x}^{2}\xi - 3u_{xt}D_{x}^{2}\eta \\ & & \phantom{dgggdsgfldhldgdghffffhflhldfhlgh} - 3u_{xxx}D_{x}\xi - 3u_{xxt}D_{x}\eta \;. \end{array} }$$
(29)

Applying the infinitesimal invariance criterion (24) to the KdV equation (10) we obtain

$$\displaystyle{ \phi ^{t} + u\phi ^{x} + u_{ x}\phi +\phi ^{xxx} = 0\;, }$$
(30)

where u satisfies (10). Substituting the expressions (29) into (30) and replacing u t by − uu x u xxx , we obtain the determining equations of the Lie symmetry algebra, which we now solve. Firstly, the coefficient of u xxt is D x η = η x + u x η u which implies that η x = η u = 0. In other words, η = η(t) is a function of t onlyFootnote 2. Secondly, the coefficient of u xx 2 yields ξ u = 0 and thus ξ = ξ(t, x), implying that the admitted Lie symmetries are projectable. Next, the coefficient of u xxx gives η t − 3ξ x = 0. Integrating the latter with respect to x, we find that \(\xi = \frac{1} {3}x\,\eta _{t} +\chi (t)\). The coefficient of u xx implies that ϕ uu = ϕ xu = 0 so that ϕ = σ(t)u + φ(t, x). Next the coefficient in u x yields the equation

$$\displaystyle{-\xi _{t} + u(\eta _{t} -\xi _{x})+\phi = 0\;.}$$

Substituting the expressions for ξ and ϕ, we find

$$\displaystyle{\sigma = -\tfrac{2} {3}\eta _{t}\quad \text{and}\quad \varphi = \tfrac{1} {3}x\,\eta _{tt} +\chi _{t}\quad \text{so that}\quad \phi = -\tfrac{2} {3}u\,\eta _{t} + \tfrac{1} {3}x\,\eta _{tt} +\chi _{t}\:.}$$

Finally, the term with no derivatives of u gives ϕ t + ϕ xxx + uϕ x = 0, which after substitution yields

$$\displaystyle{-\tfrac{1} {3}u\,\eta _{tt} + \tfrac{1} {3}x\,\eta _{ttt} +\chi _{tt} = 0\;.}$$

Since η = η(t) and χ = χ(t) are functions of t, the latter equation holds for all (t, x, u) provided that η tt = χ tt = 0. Therefore,

$$\displaystyle{\xi = c_{1} + c_{2}\,t + c_{3}\,x\;,\quad \eta = c_{4} + 3c_{3}\,t\;,\quad \phi = c_{2} - 2c_{3}\,u\;,}$$

and the maximal Lie symmetry algebra is spanned by the four vector fields

$$\displaystyle{ \begin{array}{llllll} \mathbf{v}_{1} & = \frac{\partial } {\partial x}, &&\longrightarrow &&\text{space translations}\;, \\ \mathbf{v}_{2} & = \frac{\partial } {\partial t}, &&\longrightarrow &&\text{time translations}\;, \\ \mathbf{v}_{3} & = t \frac{\partial } {\partial x} + \frac{\partial } {\partial u}, &&\longrightarrow &&\text{Galilean boosts}\;, \\ \mathbf{v}_{4} & = x \frac{\partial } {\partial x} + 3t \frac{\partial } {\partial t} - 2u \frac{\partial } {\partial u},&&\longrightarrow &&\text{scalings}\;.\end{array} }$$
(31)

Exercise 3.6

Show that the symmetry group of the ordinary differential equation u xx = 0 is eight-dimensional, and generated by

$$\displaystyle{ \begin{array}{llll} \frac{\partial } {\partial x}\;,&\quad x \frac{\partial } {\partial x}\;,&\quad u \frac{\partial } {\partial x}\;,&\quad x^{2} \frac{\partial } {\partial x} + xu \frac{\partial } {\partial u}, \\ \frac{\partial } {\partial u}\;,&x \frac{\partial } {\partial u}\;,&u \frac{\partial } {\partial u}\;,&xu \frac{\partial } {\partial x} + u^{2} \frac{\partial } {\partial u}\;. \end{array} }$$
(32)

Show that the corresponding group of local transformations is the projective group \(SL(3, \mathbb{R})\) acting via fractional linear transformations

$$\displaystyle{X = \frac{\epsilon _{1}x +\epsilon _{2}u +\epsilon _{3}} {\epsilon _{7}x +\epsilon _{8}u +\epsilon _{9}}\;,\quad U = \frac{\epsilon _{4}x +\epsilon _{5}u +\epsilon _{6}} {\epsilon _{7}x +\epsilon _{8}u +\epsilon _{9}}\;,\quad \det \left [\begin{array}{*{10}c} \epsilon _{1} & \epsilon _{2} & \epsilon _{3}\\ \epsilon _{ 4} & \epsilon _{5} & \epsilon _{6}\\ \epsilon _{7 } & \epsilon _{8 } & \epsilon _{9} \end{array} \right ] = 1\;,}$$

where \(\epsilon _{1},\ldots,\epsilon _{9} \in \mathbb{R}\) are group parameters.

Exercise 3.7

Consider the Schwarzian differential equation

$$\displaystyle{ \frac{u_{x}\,u_{xxx} - (3/2)u_{xx}^{2}} {u_{x}^{2}} = F(x)\;, }$$
(33)

where F(x) is an arbitrary function.

  1. 1.

    Find the determining equations for the vector fields spanning the maximal Lie symmetry algebra and show that a basis is given by

    $$\displaystyle{ \mathbf{v}_{1} = \frac{\partial } {\partial u}\;,\quad \mathbf{v}_{2} = u \frac{\partial } {\partial u}\;,\quad \mathbf{v}_{3} = u^{2} \frac{\partial } {\partial u}\;. }$$
    (34)
  2. 2.

    Show that the corresponding local Lie group of transformations is

    $$\displaystyle{ X = x\;,\qquad U = \frac{au + b} {cu + d}\;,\quad \mbox{ with $ad - bc = 1$}\;. }$$
    (35)
  3. 3.

    When F(x) ≡ 0 is identically zero, show that the maximal Lie symmetry algebra is four-dimensional and determine a basis. Also find the corresponding finite group transformations.

Exercise 3.8

Show that the maximal Lie symmetry algebra of Burgers’ equation

$$\displaystyle{ u_{t} + uu_{x} =\nu u_{xx}\;, }$$
(36)

where ν > 0 denotes the viscosity, is spanned by the vector fields

$$\displaystyle\begin{array}{rcl} & \mathbf{v}_{1} = \frac{\partial } {\partial x}\;,\quad \mathbf{v}_{2} = \frac{\partial } {\partial t}\;,\quad \mathbf{v}_{3} = t \frac{\partial } {\partial x} + \frac{\partial } {\partial u}\;, & \\ & \mathbf{v}_{4} = x \frac{\partial } {\partial x} + 2t \frac{\partial } {\partial t} - u \frac{\partial } {\partial u}\;,\quad \mathbf{v}_{5} = tx \frac{\partial } {\partial x} + t^{2} \frac{\partial } {\partial t} + (x - tu) \frac{\partial } {\partial u}\;.&{}\end{array}$$
(37)

In the computational variable framework, the local transformation group G acting on the manifold M is trivially extended to the computational variables. That is,

$$\displaystyle{g \cdot (s,x,u) = (s,g \cdot x,g \cdot u)\;.}$$

The prolongation of an infinitesimal generator (27) to \(\mathcal{J}^{(\ell)}\) is then simply given by

$$\displaystyle{\mathbf{v}^{(\ell)} =\sum _{ i=1}^{p}\sum _{ J}D_{s}^{J}\xi ^{i} \frac{\partial } {\partial x_{s^{J}}^{i}} +\sum _{ \alpha =1}^{q}\sum _{ J}D_{s}^{J}\phi ^{\alpha } \frac{\partial } {\partial u_{s^{J}}^{\alpha }}\;,}$$

where \(D_{s}^{J} = (D_{s^{1}})^{j_{1}}\cdots (D_{s^{p }})^{j_{p}}\) denotes the total differentiation operator in the computational variables s = (s 1, , s p) with

$$\displaystyle{D_{s^{j}} = \frac{\partial } {\partial s^{j}} +\sum _{ i=1}^{p}\sum _{ J}x_{s^{J+e_{j}}}^{i} \frac{\partial } {\partial x_{s^{J}}^{i}} +\sum _{ \alpha =1}^{q}\sum _{ J}u_{s^{J+e_{j}}}^{\alpha } \frac{\partial } {\partial u_{s^{J}}^{\alpha }}\;,\quad j = 1,\ldots,p.}$$

Definition 3.9

Let G be a symmetry group of the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\). The extended system of differential equations

$$\displaystyle{ \{\bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0,\,\tilde{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\} }$$
(38)

is said to be G-compatible if G is a symmetry group of (38). That is,

$$\displaystyle{\left \{\begin{array}{@{}l@{\quad }l@{}} \bar{\varDelta }(s,g \cdot x^{(\ell)},g \cdot u^{(\ell)}) = 0,\quad \\ \tilde{\varDelta }(s,g \cdot x^{(\ell)},g \cdot u^{(\ell)}) = 0,\quad \end{array} \right.\quad \text{whenever}\quad \left \{\begin{array}{@{}l@{\quad }l@{}} \bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0,\quad \\ \tilde{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0,\quad \end{array} \right.}$$

and where the prolonged action is defined. At the infinitesimal level,

$$\displaystyle{\mathbf{v}^{(\ell)}(\bar{\varDelta })\bigr \rvert_{\{\bar{\varDelta } =0,\tilde{\varDelta }=0\}} = 0\quad \text{and}\quad \mathbf{v}^{(\ell)}(\tilde{\varDelta })\bigr \rvert_{\{\bar{\varDelta } =0,\tilde{\varDelta }=0\}} = 0}$$

for all infinitesimal generators \(\mathbf{v} \in \mathfrak{g}\).

Example 3.10

Recall from Example 3.5 that the KdV equation (10) is invariant under a four-dimensional maximal Lie symmetry group whose associated algebra of infinitesimal generators is spanned by the vector fields (31). In the computational variables (τ, s) introduced in Example 2.10, the first prolongation of the infinitesimal generators (31) is given by

$$\displaystyle\begin{array}{rcl} & & \mathbf{v}_{1}^{(1)} = \frac{\partial } {\partial x}\;,\quad \mathbf{v}_{2}^{(1)} = \frac{\partial } {\partial t}\;,\quad \mathbf{v}_{3}^{(1)} = t \frac{\partial } {\partial x} + \frac{\partial } {\partial u} + t_{s} \frac{\partial } {\partial x_{s}} + \frac{\partial } {\partial u_{s}} + t_{\tau } \frac{\partial } {\partial x_{\tau }} + \frac{\partial } {\partial u_{\tau }}, {}\\ & & \qquad \mathbf{v}_{4}^{(1)} = x \frac{\partial } {\partial x} + 3t \frac{\partial } {\partial t} - 2u \frac{\partial } {\partial u} + x_{s} \frac{\partial } {\partial x_{s}} + 3t_{s} \frac{\partial } {\partial t_{s}} - 2u_{s} \frac{\partial } {\partial u_{s}} {}\\ & & \phantom{dfgdgflghdfmfghgmhgmhfgmhfgfhghgh} + x_{\tau } \frac{\partial } {\partial x_{\tau }} + 3t_{\tau } \frac{\partial } {\partial t_{\tau }} - 2u_{\tau } \frac{\partial } {\partial u_{\tau }}\;. {}\\ \end{array}$$

By direct computation, it is not hard to verify that for the differential equation (15)

$$\displaystyle{\mathbf{v}_{1}^{(2)}[\bar{\varDelta }]\bigr \rvert_{\bar{\varDelta } =0} = \mathbf{v}_{2}^{(2)}[\bar{\varDelta }]\bigr \rvert_{\bar{\varDelta } =0} = \mathbf{v}_{3}^{(2)}[\bar{\varDelta }]\bigr \rvert_{\bar{\varDelta } =0} = \mathbf{v}_{4}^{(2)}[\bar{\varDelta }]\bigr \rvert_{\bar{\varDelta } =0} = 0\;.}$$

Therefore, Eq. (15) is invariant under the symmetry group of the KdV equation. Also,

$$\displaystyle{\mathbf{v}_{\kappa }^{(2)}(t_{ s}) = 0\;,\quad \mathbf{v}_{\kappa }^{(2)}(t_{\tau \tau }) = 0\;,\quad \mathbf{v}_{\kappa }^{(2)}{\biggl (\frac{x_{\tau }} {t_{\tau }} - u\biggr )} = 0\;,\qquad \kappa = 1,2,3,4,}$$

whenever

$$\displaystyle{t_{s} = 0\;,\quad t_{ss} = 0\;,\quad \frac{x_{\tau }} {t_{\tau }} - u = 0\;.}$$

Therefore, the companion equations (11), (14) are invariant under the symmetry group of the KdV equation. The extended system of differential equations (11), (14), (15) is therefore G-compatible with the symmetry group of the KdV equation.

3.2 Symmetries of Finite Difference Equations

As in Sect. 3.1, let G be a local Lie group of transformations acting smoothly on the manifold M. The induced action on the discrete n-jet (N, x N [], u N []) is given by the product action

$$\displaystyle{ g \cdot (N,x_{N}^{[\ell]},u_{ N}^{[\ell]}) = (N,\ldots,g \cdot x_{ N+K},\ldots,g \cdot u_{N+K},\ldots )\;, }$$
(39)

where each point (x N+K , u N+K ) is transformed by the same group transformation g. At the infinitesimal level, given the vector field

$$\displaystyle{ \mathbf{v} =\sum _{ i=1}^{p}\xi _{ N}^{i} \frac{\partial } {\partial x_{N}^{i}} +\sum _{ \alpha =1}^{q}\phi _{ K}^{\alpha } \frac{\partial } {\partial u_{N}^{\alpha }}\;, }$$
(40)

where ξ N i = ξ i(x N , u N ) and ϕ N α = ϕ α(x N , u N ), the prolonged vector field is given by

$$\displaystyle{\mathbf{v}^{[\ell]} =\sum _{ K}{\biggl [\sum _{i=1}^{p}\xi _{ N+K}^{i} \frac{\partial } {\partial x_{N+K}^{i}} +\sum _{ \alpha =1}^{q}\phi _{ N+K}^{\alpha } \frac{\partial } {\partial u_{N+K}^{\alpha }}\biggr ]}\;,}$$

which is obtained by adding copies of v evaluated at the different points in the discrete jet (N, x N [], u N []).

Remark 3.11

The above considerations can be generalized by allowing the group action (39) or the infinitesimal generator (40) to depend on the multi-index N. For example, in (40), the vector field coefficients could be functions of N so that ξ N i = ξ i(N, x N , u N ) and ϕ N α = ϕ α(N, x N , u N ). When constructing symmetry-preserving schemes, this more general case does not occur as the transformation group that one considers is the group of point symmetries of the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\), which only contains point transformations in the x, u variables.

Using the infinitesimal invariance criterion

$$\displaystyle{ \mathbf{v}^{[\ell]}(E)\bigr\rvert_{ E=0} = 0\quad \text{ for all } \mathbf{v} \in \mathfrak{g}\;, }$$
(41)

the symmetries of finite difference equations can be computed in a manner similar to the differential case. Equation (41) yields a finite difference equation for the vector field coefficients ξ N i and ϕ N α. Since the invariance condition (41) only has to hold on the solution of the difference equation, one must eliminate any dependencies among (x N , u N ) and their shifts due to the equation E(N, x N [], u N []) = 0. Differentiating the resulting equation with respect to the remaining variables sufficiently many times, one obtains a system of differential equations for the vector field coefficients. Once the differential equations are solved, one will, in general, have to substitute the solution into the original difference equation for the vector field coefficients, or an intermediate equation obtained along the way, and solve the resulting equation to obtain the symmetry generators.

Example 3.12

As a first example, let us compute the admitted infinitesimal generators of the ordinary difference equation

$$\displaystyle{ u_{i+2} = a(i)u_{i+1} + b(i)u_{i}\quad \text{ where } a(i)b(i)\neq 0 \quad \forall \;i \in \mathbb{Z}\;. }$$
(42)

Let

$$\displaystyle{\mathbf{v} =\phi _{i} \frac{\partial } {\partial u_{i}}}$$

be a vector field, where we allow ϕ i = ϕ(i, u i ) to depend on the discrete index \(i \in \mathbb{Z}\). Applying the infinitesimal invariance criterion (41) we obtain the equation

$$\displaystyle{ \phi (i + 2,a(i)u_{i+1} + b(i)u_{i}) = a(i)\phi (i + 1,u_{i+1}) + b(i)\phi (i,u_{i})\;, }$$
(43)

where we replaced u i+2 by the right-hand side of (42). Applying the differential operator \({\bigl (1/b(i)\bigr )}\partial _{u_{i}} -{\bigl ( 1/a(i)\bigr )}\partial _{u_{i+1}}\) to (43) we obtain the differential–difference equation

$$\displaystyle{ -\phi '(i + 1,u_{i+1}) +\phi '(i,u_{i}) = 0\;, }$$
(44)

where the prime notation means differentiation with respect to the second entry of the function. Differentiating (44) with respect to u i we obtain

$$\displaystyle{\phi ''(i,u_{i}) = 0\;.}$$

Integrating this equation once, we find that

$$\displaystyle{ \phi '(i,u_{i}) =\alpha (i)\;, }$$
(45)

for some arbitrary function α(i). Substituting (45) in (44) yields α(i + 1) = α(i). Thus, α(i) = c is constant. Integrating (45), we obtain that

$$\displaystyle{ \phi (i,u_{i}) = c\,u_{i} +\beta (i)\;. }$$
(46)

Substituting (46) in (43) we conclude that β(i) must be a solution of the equation β i+2 = a(i)β i+1 + b(i)β i . Thus, the Lie algebra of infinitesimal symmetry generators is spanned by

$$\displaystyle{\begin{array}{llll} \mathbf{v}_{1} & = u_{i} \frac{\partial } {\partial u_{i}}, &\longrightarrow &\text{dilations}\;, \\ \mathbf{v}_{\beta } & =\beta (i) \frac{\partial } {\partial u_{i}},&\longrightarrow &\text{linear superposition of solutions}\;.\end{array} }$$

Example 3.13

As a second example, we consider the autonomous discrete potential Korteweg–de Vries equation (dpKdV)

$$\displaystyle{ u_{i+1}^{n+1} = u_{ i}^{n} + \frac{1} {u_{i+1}^{n} - u_{i}^{n+1}}\;, }$$
(47)

which can be found in the work of Hirota [38]. Let

$$\displaystyle{\mathbf{v} =\phi _{ i}^{n} \frac{\partial } {\partial u_{i}^{n}}\;,\quad \phi _{i}^{n} =\phi (i,n,u_{ i}^{n})}$$

be a vector field. Implementing the infinitesimal invariance criterion (41), we obtain the equation

$$\displaystyle\begin{array}{rcl} & & \phi _{i+1}^{n+1} =\phi _{ i}^{n} + \frac{\phi _{i}^{n+1} -\phi _{ i+1}^{n}} {(u_{i+1}^{n} - u_{i}^{n+1})^{2}}\;, \\ & & \phantom{gglfdhmfhmghm}\mbox{ where $\phi _{i+1}^{n+1} =\phi {\biggl ( i + 1,n + 1,u_{i}^{n} + \frac{1} {u_{i+1}^{n}-u_{i}^{n+1}} \biggr )}$}\;.{}\end{array}$$
(48)

Applying the operator \(\partial _{u_{i+1}^{n}} + \partial _{u_{i}^{n+1}}\) yields

$$\displaystyle{ \phi '(i,n + 1,u_{i}^{n+1}) -\phi '(i + 1,n,u_{ i+1}^{n}) = 0\;. }$$
(49)

Differentiating with respect to u i+1 n gives

$$\displaystyle{\phi ''(i + 1,n,u_{i+1}^{n}) = 0\quad \text{so that}\quad \phi _{ i}^{n} =\alpha (i,n)u_{ i}^{n} +\beta (i,n)\;.}$$

Substituting ϕ i n in (49) we obtain the difference equation

$$\displaystyle{\alpha (i,n + 1) -\alpha (i + 1,n) = 0\;,}$$

which implies that α(i, n) = γ(i + n). Substituting ϕ i n in (48) yields the constraints

$$\displaystyle\begin{array}{rcl} & \gamma (i + n + 2) = -\gamma (i + n + 1) =\gamma (i + n)\;, & {}\\ & \beta (i + 1,n + 1) =\beta (i,n)\;,\quad \beta (i + 1,n) =\beta (i,n + 1)\;,& {}\\ \end{array}$$

which imply that

$$\displaystyle{\phi _{i}^{n} = c_{ 1}(-1)^{i+n}u_{ i}^{n} + c_{ 2}(-1)^{i+n} + c_{ 3}\;,}$$

where c 1, c 2, . c 3 are arbitrary constants. We conclude that the Lie algebra of infinitesimal symmetry generators is spanned by

$$\displaystyle{\mathbf{v}_{1} = (-1)^{i+n}u_{ i}^{n} \frac{\partial } {\partial u_{i}^{n}}\;,\quad \mathbf{v}_{2} = (-1)^{i+n} \frac{\partial } {\partial u_{i}^{n}}\;,\quad \mathbf{v}_{3} = \frac{\partial } {\partial u_{i}^{n}}\;.}$$

These vector fields satisfy the commutation relations

$$\displaystyle{[\mathbf{v}_{1},\mathbf{v}_{2}] = -\mathbf{v}_{3}\;,\quad [\mathbf{v}_{1},\mathbf{v}_{3}] = -\mathbf{v}_{2}\;,\quad [\mathbf{v}_{2},\mathbf{v}_{3}] = 0\;,}$$

which are isomorphic to the commutation relations of the pseudo-Euclidean Lie algebra \(\mathfrak{e}(1,1)\) [83].

For more examples, we refer the reader to [41, 44, 5658].

4 Invariants

Intuitively, an invariant is a quantity that remains unchanged under the action of a group of local transformations. In this section, we review two methods for constructing invariants. The first approach is based on Lie’s infinitesimal invariance criterion which leads to systems of first order partial differential equations that can be solved using the method of characteristics. The second approach uses the novel theory of equivariant moving frames. In this framework, invariants are obtained by solving a system of nonlinear algebraic equations. Remarkably, the latter can be solved for a wide variety of group actions.

4.1 Lie’s Infinitesimal Approach

As in Sect. 3, we consider the differential and finite difference cases simultaneously by considering an r-parameter local Lie group G acting on \(\mathcal{M}\), which can represent either \(\mathop{\mathrm{J}}\nolimits ^{(\ell)}\), \(\mathcal{J}^{(\ell)}\) or \(\mathcal{J}^{[\ell]}\).

Definition 4.1

A function \(I: \mathcal{M}\rightarrow \mathbb{R}\) is said to be a G-invariant if

$$\displaystyle{ I(g \cdot z) = I(z)\quad \mbox{ for all $g \in G$} }$$
(50)

where the action is defined. At the infinitesimal level, \(I: \mathcal{M}\rightarrow \mathbb{R}\) is an invariant if

$$\displaystyle{ \mathbf{v}(I) = 0\quad \mbox{ for all $\mathbf{v} \in \mathfrak{g}$.} }$$
(51)

Remark 4.2

The notion of an invariant is more restrictive than that of an invariant equation. The invariance of an equation only has to hold on its solution space whereas the invariance of a function must hold on its domain of definition.

Finding invariants from the group invariance condition (50) can be difficult as the group action is generally nonlinear. One of the key insights of Sophus Lie was to work with the infinitesimal invariance condition (51) as the latter is a linearized version of the nonlinear problem. Let

$$\displaystyle{ \mathbf{v}_{\kappa } =\sum _{ a=1}^{d}\zeta _{ \kappa }^{a}(z) \frac{\partial } {\partial z^{a}}\;,\quad \kappa = 1,\ldots,r =\dim \mathfrak{g}\;, }$$
(52)

be a basis of the Lie algebra \(\mathfrak{g}\) of infinitesimal generators of the Lie group action G. To find the functions \(I: \mathcal{M}\rightarrow \mathbb{R}\) invariant under the group action G, we require that the infinitesimal invariance criterion (51) holds for each basis element (52). This yields the system of first order linear partial differential equations

$$\displaystyle{ \sum _{a=1}^{d}\zeta _{ \kappa }^{a}(z) \frac{\partial I} {\partial z^{a}} = 0\;,\quad \kappa = 1,\ldots,r\;. }$$
(53)

The latter is solved using the method of characteristics. The corresponding characteristic system of ordinary differential equations is

$$\displaystyle{ \frac{\mathrm{d}z^{1}} {\zeta _{\kappa }^{1}(z)} = \frac{\mathrm{d}z^{2}} {\zeta _{\kappa }^{2}(z)} =\ldots = \frac{\mathrm{d}z^{d}} {\zeta _{\kappa }^{d}(z)}\;,\quad \kappa = 1,\ldots,r\;, }$$
(54)

and, in the generic case, the system of equations (54) yields a complete set of \(\dim \mathcal{M}- r\) functionally independent invariants

$$\displaystyle{I^{\nu }(z)\;,\quad \nu = 1,\ldots,\dim \mathcal{M}- r\;.}$$

Definition 4.3

A set of invariants I c = {, I ν(z), } is said to be complete if any invariant function \(I: \mathcal{M}\rightarrow \mathbb{R}\) can be expressed in terms of those invariants. That is,

$$\displaystyle{I(z) = F(\ldots,I^{\nu }(z),\ldots )\;.}$$

Most textbooks on symmetries and differential equations cover Lie’s infinitesimal method of computing differential invariants [11, 12, 43, 68, 71, 76]. Differential invariants are fundamental objects in mathematics and have many applications. They occur in geometry as the curvature of curves, surfaces, and submanifolds [35], they are used in differential equations to reduce the order of ordinary differential equations and find invariant solution of partial differential equations [11, 12, 43, 68, 76], their signature manifold is used to solve local equivalence problems [34, 47, 71, 84], geometric flows of differential invariants are closely related to completely integrable equations [66], and have applications in computer vision [48], climate and turbulence modeling [8], and much more.

In the finite difference situation, since the Lie group G acts trivially on the multi-index N, the components of N will always provide p invariants. Solving the infinitesimal invariance criterion

$$\displaystyle{ \mathbf{v}_{\kappa }^{[\ell]}(I) =\sum _{ K}{\biggl [\sum _{i=1}^{p}\xi _{ \kappa;N+K}^{i} \frac{\partial I} {\partial x_{N+K}} +\sum _{ \alpha =1}^{q}\phi _{ \kappa;N+K}^{\alpha } \frac{\partial I} {\partial u_{N+K}^{\alpha }}\biggr ]} = 0\;, }$$
(55)

where κ = 1, , r, will, in the generic case, produce \(\dim \mathcal{J}^{[\ell]} - p - r\) difference invariants I ν(x N [], u N []) independent of the multi-index N.

Example 4.4

To illustrate the application of the infinitesimal invariance criterion (55), we consider the special linear group \(SL(2, \mathbb{R})\) acting on \(M = \mathbb{R}^{2} =\{ (x,u)\}\) by the fractional linear action (35) with infinitesimal generators (34). For future reference, we consider the order three discrete jet space \(\mathcal{J}^{[3]}\) with coordinates

$$\displaystyle{ (i,x_{i-1},u_{i-1},x_{i},u_{i},x_{i+1},u_{i+1},x_{i+2},u_{i+2})\;. }$$
(56)

To compute a complete set of finite difference invariants on \(\mathcal{J}^{[3]}\), we prolong the infinitesimal generators (34) to \(\mathcal{J}^{[3]}\):

$$\displaystyle{ \begin{array}{lll} \mathbf{v}_{1}^{[3]} & =& \frac{\partial } {\partial u_{i-1}} + \frac{\partial } {\partial u_{i}} + \frac{\partial } {\partial u_{i+1}} + \frac{\partial } {\partial u_{i+2}} \;, \\ \mathbf{v}_{2}^{[3]} & =&u_{i-1} \frac{\partial } {\partial u_{i-1}} + u_{i} \frac{\partial } {\partial u_{i}} + u_{i+1} \frac{\partial } {\partial u_{i+1}} + u_{i+2} \frac{\partial } {\partial u_{i+2}} \;, \\ \mathbf{v}_{3}^{[3]} & =&u_{i-1}^{2} \frac{\partial } {\partial u_{i-1}} + u_{i}^{2} \frac{\partial } {\partial u_{i}} + u_{i+1}^{2} \frac{\partial } {\partial u_{i+1}} + u_{i+2}^{2} \frac{\partial } {\partial u_{i+2}} \;.\end{array} }$$
(57)

Omitting the trivial invariant given by the index i, we expect \((\dim \mathcal{J}^{[3]} - 1) -\dim \mathfrak{g} = 8 - 3 = 5\) functionally independent invariants. Clearly, four of them are given by

$$\displaystyle{ x_{i-1}\;,\quad x_{i}\;,\quad x_{i+1}\;,\quad x_{i+2}\;. }$$
(58)

To find the remaining functionally independent invariant I = I(u i−1, u i , u i+1, u i+2), we first solve the differential equation

$$\displaystyle{\mathbf{v}_{1}^{[3]}(I) = \frac{\partial I} {\partial u_{i-1}} + \frac{\partial I} {\partial u_{i}} + \frac{\partial I} {\partial u_{i+1}} + \frac{\partial I} {\partial u_{i+2}} = 0}$$

using the method of characteristics. The corresponding characteristic system of ordinary differential equations is given by

$$\displaystyle{\mathrm{d}u_{i-1} =\mathrm{ d}u_{i} =\mathrm{ d}u_{i+1} =\mathrm{ d}u_{i+2}\;.}$$

The three functionally independent solutions are

$$\displaystyle{ I_{i-1} = u_{i} - u_{i-1}\;,\quad I_{i} = u_{i+1} - u_{i}\;,\quad I_{i+1} = u_{i+2} - u_{i+1}\;. }$$
(59)

The functions (59) form a complete set of difference invariants for the infinitesimal generator v 1. To proceed further, we notice that any function \(I: \mathcal{J}^{[3]} \rightarrow \mathbb{R}\) invariant under all three infinitesimal generators (57) must necessarily be a function of the invariants (59), that is I = I(I i−1, I i , I i+1). Thus to find the functions that are simultaneously invariant under v 1 [3] and v 2 [3], we must now restrict the vector field v 2 [3] to the variables (59). The result is

$$\displaystyle{\mathbf{v}_{2}^{[3]} = I_{ i-1} \frac{\partial } {\partial I_{i-1}} + I_{i} \frac{\partial } {\partial I_{i}} + I_{i+1} \frac{\partial } {\partial I_{i+1}}\;.}$$

Thus, the characteristic system associated with the differential equation

$$\displaystyle{\mathbf{v}_{2}^{[3]}(I) = I_{ i-1} \frac{\partial I} {\partial I_{i-1}} + I_{i} \frac{\partial I} {\partial I_{i}} + I_{i+1} \frac{\partial I} {\partial I_{i+1}} = 0}$$

is

$$\displaystyle{\frac{dI_{i-1}} {I_{i-1}} = \frac{dI_{i}} {I_{i}} = \frac{dI_{i+1}} {I_{i+1}} \;.}$$

The two functionally independent solutions are

$$\displaystyle{ J_{i} = \frac{I_{i-1}} {I_{i}} \;,\quad J_{i+1} = \frac{I_{i}} {I_{i+1}}\;. }$$
(60)

Therefore, any invariant function I must be expressible in terms of (60). That it, I = I(J i , J i+1). The restriction of the vector field v 3 [3] to the variables (60) yields

$$\displaystyle{\mathbf{v}_{3}^{[3]} = -I_{ i}{\biggl (J_{i}[J_{i} + 1] \frac{\partial } {\partial J_{i}} + [1 + J_{i+1}] \frac{\partial } {\partial J_{i+1}}\biggr )}\;.}$$

Thus, the equation v 3 [3](I) = 0 becomes

$$\displaystyle{J_{i}[J_{i} + 1] \frac{\partial I} {\partial J_{i}} + [1 + J_{i+1}] \frac{\partial I} {\partial J_{i+1}} = 0\;.}$$

Solving the characteristic system

$$\displaystyle{ \frac{\mathrm{d}J_{i}} {J_{i}[J_{i} + 1]} = \frac{\mathrm{d}J_{i+1}} {1 + J_{i+1}}}$$

we find that the cross-ratio

$$\displaystyle{ R_{i} = \frac{J_{i}} {(1 + J_{i})(1 + J_{i+1})} = \frac{(u_{i} - u_{i-1})(u_{i+2} - u_{i+1})} {(u_{i+1} - u_{i-1})(u_{i+2} - u_{i})} }$$
(61)

is an invariant of the \(\mathop{\mathrm{SL}}\nolimits (2, \mathbb{R})\) product action on \(\mathcal{J}^{[3]}\).

Exercise 4.5

Continuing Exercise 3.8, introduce the discrete points (t i n, x i n, u i n), where \((n,i) \in \mathbb{Z}^{2}\).

  1. 1.

    Verify that the equation

    $$\displaystyle{ t_{i+1}^{n} - t_{ i}^{n} = 0\;, }$$
    (62)

    is invariant. Therefore, Burgers’ equation can be invariantly discretized on a mesh with horizontal time layers, the discrete time t n being only a function of \(n \in \mathbb{Z}\).

  2. 2.

    Compute a complete set of difference invariants on the lattice

    using Lie’s infinitesimal method.

4.2 Moving Frame Approach

The method of equivariant moving frames is a new theoretical formulation of Cartan’s method of moving frames [16, 34, 47, 71]. In this novel framework, moving frames are no longer constrained by frame bundles or connections and can thereby be extended to discrete geometry. The theory of equivariant moving frames for local Lie group actions was first presented in [33] and then extended to infinite-dimensional Lie pseudo-group actions in [73, 74]. For a comprehensive introduction we refer the reader to the textbook [64]. In the discrete setting, the theoretical foundations have been expounded in [67, 70].

As in the previous sections, our starting point is an r-dimensional local Lie group of transformations G acting on the d-dimensional manifold \(\mathcal{M}\).

Definition 4.6

A right moving frame is a G-equivariant map \(\rho: \mathcal{M}\rightarrow G\). The G-equivariance means that

$$\displaystyle{\rho (g \cdot z) =\rho (z)g^{-1}.}$$

Remark 4.7

It is also possible to consider left moving frames. Given a right moving frame \(\rho: \mathcal{M}\rightarrow G\), a left moving frame \(\bar{\rho }: \mathcal{M}\rightarrow G\) is simply given by group inversion, \(\bar{\rho }=\rho ^{-1}\). Thus, a left moving frame \(\bar{\rho }\) is a G-equivariant map satisfying \(\bar{\rho }(g \cdot z) = g\bar{\rho }(z)\).

To guarantee the existence of a moving frame, the group action must satisfy certain regularity assumptions.

Definition 4.8

A Lie group G is said to act freely at z if the isotropy group

$$\displaystyle{G_{z} =\{ g \in G\mid g \cdot z = z\}}$$

is trivial, i.e. G z = {e}. The group action is locally free at z if the isotropy group is discrete. The action is (locally) free on \(\mathcal{M}\) if it is (locally) free at all \(z \in \mathcal{M}\).

When the action is (locally) free, the dimension of the group orbits is constant and equal to r = dim G.

Definition 4.9

A Lie group action is said to be regular if the orbits form a regular foliation.

The main existence theorem for moving frames is given by the following proposition.

Proposition 4.10

If the action of G on \(\mathcal{M}\) is locally free and regular, then a moving frame locally exists on \(\mathcal{M}\).

Remark 4.11

Let \(\mathcal{V}\) be a connected open submanifold of \(\mathcal{M}\) where a moving frame exists. By restricting \(\mathcal{M}\) to \(\mathcal{V}\), we can always assume that a moving frame is globally defined on \(\mathcal{M}\).

In practice, the construction of a moving frame is based on the choice of a cross-section \(\mathcal{K}\) to the group orbits. For simplicity, we assume that \(\mathcal{K}\) is a coordinate cross-section, which means that it is specified by fixing some of the coordinates of \(z \in \mathcal{M}\) to constant values:

$$\displaystyle{ \mathcal{K} =\{ z^{a_{\kappa }} = c^{\kappa }\mid \kappa = 1,\ldots,r =\dim G\}\;. }$$
(63)

When the action is free and regular, the right moving frame at z is the unique group element ρ(z) sending z onto the cross-section \(\mathcal{K}\), that is \(\rho (z) \cdot z \in \mathcal{K}\). The expressions for the right moving frame are obtained by solving the normalization equations

$$\displaystyle{ g \cdot z^{a_{\kappa }} = c^{\kappa }\;,\quad \kappa = 1,\ldots,r\;, }$$
(64)

for the group parameters g = ρ(z). Given a right moving frame, there is a systematic mechanism for constructing invariants known as the invariantization procedure.

Definition 4.12

The invariantization of a function F(z) is the invariant

$$\displaystyle{ \iota (F)(z) = F(\rho (z) \cdot z)\;. }$$
(65)

The fact that (65) is an invariant follows from the G-equivariance of the right moving frame:

$$\displaystyle{\iota (F)(g \cdot z) = F(\rho (g \cdot z) \cdot g \cdot z) = F(\rho (z) \cdot g^{-1} \cdot g \cdot z) = F(\rho (z) \cdot z) =\iota (F)(z).}$$

Geometrically, ι(F) is the unique invariant that agrees with F on the cross-section \(\mathcal{K}\). In particular, the invariantization of an invariant I is the invariant itself, ι(I) = I. Therefore, the invariantization map ι defines a canonical projection (depending upon the moving frame) from the space of functions to the space of invariants.

The invariantization of the components of z is of particular interest. The invariants ι(z a) = ρ(z) ⋅ z a, a = 1, , d, are called normalized invariants. By the moving frame construction, the invariantization of the component functions defining the cross-section (63) yields constant invariants, \(\iota (z^{a_{\kappa }}) = c^{\kappa }\). These are called phantom invariants. The following proposition explains why the normalized invariants are important.

Proposition 4.13

The normalized invariants ι(z a), a = 1, , d, form a complete set of invariants on \(\mathcal{M}\).

Proposition 4.13 follows from the replacement principle. If I = I(z) is an invariant, since ι(I) = I, it follows that

$$\displaystyle{I(z) =\iota (I)(z) = I{\bigl (\iota (z)\bigr )}\;.}$$

In other words, the invariant I(z) can be expressed as a function of the normalized invariants by replacing z with the invariants ι(z).

For an arbitrary manifold \(\mathcal{M}\), the group action of G on \(\mathcal{M}\), does not have to be free. On the other hand, when \(\mathcal{M}\) is either \(\mathop{\mathrm{J}}\nolimits ^{[\ell]}\), \(\mathcal{J}^{(\ell)}\) or \(\mathcal{J}^{[\ell]}\), it is always possible, under some mild assumptions, to choose large enough so that the prolonged action becomes (locally) free. To state the result precisely, we need the following technical definitions.

Definition 4.14

Let G be a local Lie group of transformations acting on the manifold M. The isotropy subgroup of a subset S of M is the subgroup

$$\displaystyle{G_{S} =\{ g \in G\mid g \cdot S = S\}\;.}$$

The global isotropy subgroup of a subset S of M is the subgroup

$$\displaystyle{G_{S}^{\star } =\{ g \in G\mid g \cdot z = z\text{ for all }z \in S\}\;.}$$

Definition 4.15

A local Lie group of transformations G is said to act effectively on subsets if, for any open subset UM, G U = {e}. The local Lie group acts locally effectively on subsets if, for any open subset UM, G U is a discrete subgroup of G.

In the differential case, the following theorem due to Ovsiannikov [76], and corrected by Olver [69], states that if a group acts (locally) effectively on subsets, then its prolonged action will eventually become free.

Proposition 4.16

If a local Lie group of transformations G acts (locally ) effectively on subsets of M, then there exists ℓ 0 such that for all ℓ 0 , the prolonged action of G acts locally freely on an open dense subset \(\mathrm{V}^{(\ell)} \subset \mathop{\mathrm{J}}\nolimits ^{(\ell)}\) (or \(\mathcal{V}^{(\ell)} \subset \mathcal{J}^{(\ell)}\) ).

The discrete version of Proposition 4.16 was proved in [15].

Example 4.17

We now implement the moving frame construction for the projective action (35) on the order three submanifold jet space

$$\displaystyle{\mathop{\mathrm{J}}\nolimits ^{(3)} =\{ (x,u,u_{ x},u_{xx},u_{xxx})\}\;.}$$

We must therefore compute the prolonged action up to the third derivative. Since the independent variable x is an invariant of the action (35), the implicit derivative operator (26) is

$$\displaystyle{D_{X} = D_{x} = \frac{\partial } {\partial x} + u_{x} \frac{\partial } {\partial u} + u_{xx} \frac{\partial } {\partial u_{x}} + u_{xxx} \frac{\partial } {\partial u_{xx}} + \cdots \;,}$$

and the prolonged action, up to order 3, is

$$\displaystyle\begin{array}{rcl} U_{X}& =& D_{X}(U) = \frac{u_{x}} {(cu + d)^{2}}\;, {}\\ U_{XX}& =& D_{X}^{2}(U) = \frac{u_{xx}} {(cu + d)^{2}} - \frac{2cu_{x}^{2}} {(cu + d)^{3}}\;, {}\\ U_{XXX}& =& D_{X}^{3}(U) = \frac{u_{xxx}} {(cu + d)^{2}} - \frac{6cu_{x}u_{xx}} {(cu + d)^{3}} + \frac{6c^{2}u_{x}^{3}} {(cu + d)^{4}}\;. {}\\ \end{array}$$

Assuming u x ≠ 0, we construct a moving frame by choosing the cross-section

$$\displaystyle{ \mathcal{K} =\{ u = 0,u_{x} =\epsilon =\mathop{ \mathrm{sign}}\nolimits (u_{x}),u_{xx} = 0\}\;. }$$
(66)

Solving the normalization equations

$$\displaystyle\begin{array}{rcl} & U = \frac{au+b} {cu+d} = 0\;,\quad U_{X} = \frac{u_{x}} {(cu+d)^{2}} =\epsilon \;,& {}\\ & U_{XX} = \frac{u_{xx}} {(cu+d)^{2}} - \frac{2cu_{x}^{2}} {(cu+d)^{3}} = 0\;, & {}\\ \end{array}$$

for the group parameters and using the unitary constraint adbc = 1, we obtain the right moving frame

$$\displaystyle{ a = \frac{1} {\vert u_{x}\vert ^{1/2}}\;,\quad b = - \frac{u} {\vert u_{x}\vert ^{1/2}}\;,\quad c = \frac{u_{xx}} {2\vert u_{x}\vert ^{3/2}}\;,\quad d = \frac{2u_{x}^{2} - uu_{xx}} {2\vert u_{x}\vert ^{3/2}} \;. }$$
(67)

Invariantizing εu xxx , we obtain the Schwarzian derivative

$$\displaystyle{\epsilon \,\iota (u_{xxx}) = \frac{u_{x}u_{xxx} - (3/2)u_{xx}^{2}} {u_{x}^{2}} \;.}$$

Exercise 4.18

Referring to Exercise 4.5:

  1. 1.

    Find the one-parameter group action induced by each of the infinitesimal generators (37).

  2. 2.

    Construct a moving frame on \(\mathop{\mathrm{J}}\nolimits ^{(1)} =\{ (t,x,u,u_{t},u_{x})\}\).

  3. 3.

    Compute the normalized invariant ι(u xx ).

Example 4.19

We now reconsider Example 4.4 using the method of moving frames. The product action on \(\mathcal{J}^{[3]}\) is

$$\displaystyle\begin{array}{rcl} & X_{i-1} = x_{i-1}\;,\quad X_{i} = x_{i}\;,\quad X_{i+1} = x_{i+1}\;,\quad X_{i+2} = x_{i+2}\;,& {}\\ & U_{i-1} = \frac{au_{i-1}+b} {cu_{i-1}+d}\;,\quad U_{i} = \frac{au_{i}+b} {cu_{i}+d}\;, & {}\\ & U_{i+1} = \frac{au_{i+1}+b} {cu_{i+1}+d}\;,\quad U_{i+2} = \frac{au_{i+2}+b} {cu_{i+2}+d}\;. & {}\\ \end{array}$$

In the following, we let

$$\displaystyle{\epsilon _{i} =\mathop{ \mathrm{sign}}\nolimits {\biggl ( \frac{u_{i+1} - u_{i-1}} {(u_{i} - u_{i-1})(u_{i+1} - u_{i})}\biggr )}\;.}$$

Then, a cross-section to the group orbits is given by

$$\displaystyle{ \mathcal{K} =\{ u_{i-1} =\epsilon _{i},u_{i} \rightarrow \infty,u_{i+1} = 0\}\;, }$$
(68)

where we let u i tend to infinity. Solving the normalization equations

$$\displaystyle{U_{i-1} =\epsilon _{i}\;,\quad U_{i} \rightarrow \infty \;,\quad U_{i+1} = 0\;,}$$

we obtain the right moving frame

$$\displaystyle{a = - \frac{1} {c(u_{i+1} - u_{i})}\;,\quad b = - \frac{u_{i+1}} {c(u_{i+1} - u_{i})}\;,\quad d = -cu_{i}\;,}$$

where

$$\displaystyle{c = \pm \sqrt{{\biggl | \frac{u_{i+1 } - u_{i-1 } } {(u_{i+1} - u_{i})(u_{i} - u_{i-1})}\biggr |}}\;.}$$

Invariantizing ε i u i+2 we obtain the same difference invariant as in (61):

$$\displaystyle{\epsilon _{i}\,\iota (u_{i+2}) = R_{i} = \frac{(u_{i+2} - u_{i+1})(u_{i} - u_{i-1})} {(u_{i+2} - u_{i})(u_{i+1} - u_{i-1})}\;.}$$

The latter could also be derived from the replacement principle. Invariantizing (61) we find that

$$\displaystyle{\begin{array}{lll} R_{i} =\iota (R_{i})& =&\frac{(\iota (u_{i})-\iota (u_{i-1}))(\iota (u_{i+2})-\iota (u_{i+1}))} {(\iota (u_{i+1}-\iota (u_{i-1}))(\iota (u_{i+2})-\iota (u_{i}))} \\ & =& \frac{(\iota (u_{i})-\epsilon _{i})\iota (u_{i+2})} {-\epsilon _{i}(\iota (u_{i+2})-\iota (u_{i}))}\mathop{\longrightarrow}\limits_{\iota (u_{i}) \rightarrow \infty }^{}\epsilon _{i}\,\iota (u_{i+2})\;.\end{array} }$$

5 Weakly Invariant Equations

As observed in Remark 4.2, the notion of an invariant function is more restrictive than that of an invariant equation. This brings us to distinguish two types of invariant equations.

Definition 5.1

An equation F(z) = 0 is said to be weakly invariant if it is invariant only on its solution space. That is

$$\displaystyle{F(g \cdot z) = 0\quad \mbox{ provided $F(z) = 0$}}$$

and the action is defined. An equation F(z) = 0 is said to be strongly invariant if the function \(F: \mathcal{M}\rightarrow \mathbb{R}\) is G-invariant. That is,

$$\displaystyle{F(g \cdot z) = F(z)\qquad \mbox{ for all $g \in G$}}$$

where the action is defined.

Remark 5.2

We note that a weakly invariant equation can, sometimes, be made strongly invariant by appropriately multiplying the equation by a certain relative invariant. We recall that a relative invariant of weight μ is a function R(z) which satisfies R(g ⋅ z) = μ(g, z)R(z). Indeed, if a weakly invariant equation F(z) = 0 is such that F(g ⋅ z) = μ(g, z)F(z), with μ(g, z) ≠ 0, then multiplying the equation by a relative invariant R(z) ≠ 0 of weight 1∕μ yields the strongly invariant equation R(z)F(z) = 0.

As a simple example, let \(\mathcal{M} = \mathcal{J}^{[1]} =\{ (i,x_{i},x_{i+1},u_{i},u_{i+1})\}\), and consider the product action

$$\displaystyle{X_{i} =\lambda x_{i} + a\;,\quad X_{i+1} =\lambda x_{i+1} + a\;,\quad U_{i} =\lambda u_{i} + b\;,\quad U_{i+1} =\lambda u_{i+1} + b\;,}$$

where λ > 0 and \(a,b \in \mathbb{R}\). Then the equation

$$\displaystyle{ u_{i+1} - u_{i} = 0 }$$
(69)

is weakly invariant as g ⋅ u i+1g ⋅ u i = λ(u i+1u i ). Dividing Eq. (69) by the relative invariant h i = x i+1x i , one obtains the equivalent strongly invariant equation

$$\displaystyle{\frac{u_{i+1} - u_{i}} {x_{i+1} - x_{i}} = 0.}$$

We now explain how to systematically search for weakly invariant equations. As always, we assume that G is an r-dimensional Lie group acting locally on a d-dimensional manifold \(\mathcal{M}\).

5.1 Lie’s Infinitesimal Approach

A weakly invariant equation is found by searching for a submanifold \(\mathcal{S}\subset \mathcal{M}\), defined as the zero locus of an equation W(z) = 0, where the isotropy group is nontrivial. To find such a submanifold we consider a basis of infinitesimal generators (52) and introduce the corresponding Lie matrix.

Definition 5.3

The Lie matrix is the r × d matrix whose components are given by the coefficients of the infinitesimal generators (52):

$$\displaystyle{ \mathbf{L}(z) = \left [\begin{array}{*{10}c} \zeta _{1}^{1}(z)&\mathop{\ldots }&\zeta _{1}^{d}(z)\\ \vdots & & \vdots \\ \zeta _{r}^{1}(z)&\mathop{\ldots }&\zeta _{r}^{d}(z) \end{array} \right ]. }$$
(70)

Proposition 5.4

The dimension of the group orbit through \(z \in \mathcal{M}\) is equal to the rank of the Lie matrix L(z).

Proposition 5.5

Let 0 ≤ kr. The set of points

$$\displaystyle{\mathcal{S}_{k} =\{ z \in \mathcal{M}\mid \mathop{\mathrm{rank}}\nolimits \mathbf{L}(z) = k\}}$$

is invariant under the action of G. The number of functionally independent invariants on \(\mathcal{S}_{k}\) is given by the formula

$$\displaystyle{\dim \mathcal{M}-\mathop{\mathrm{rank}}\nolimits \mathbf{L}\vert _{\mathcal{S}_{k}} = d - k\;.}$$

The sets of points \(\mathcal{S}_{k}\) where the rank of the Lie matrix L is not maximal, i.e. rank L < r, are described by equations of the form W(z) = 0. By Proposition 5.5, these equations are weakly invariant. Therefore, weakly invariant equations are found by searching for submanifolds where the rank of the Lie matrix is not maximal.

Example 5.6

To illustrate the above considerations, we consider the Lie algebra of vector fields

$$\displaystyle{ \mathbf{v}_{1} = \frac{\partial } {\partial x}\;,\quad \mathbf{v}_{2} = \frac{\partial } {\partial u}\;,\quad \mathbf{v}_{3} = x \frac{\partial } {\partial x}\;,\quad \mathbf{v}_{4} = x \frac{\partial } {\partial u}\;,\quad \mathbf{v}_{5} = u \frac{\partial } {\partial u}\;, }$$
(71)

and search for weakly invariant equations on the discrete jet space

$$\displaystyle{ \mathcal{J}^{[2]} =\{ (i,x_{ i-1},x_{i},x_{i+1},u_{i-1},u_{i},u_{i+1})\}\;. }$$
(72)

The prolongation of the infinitesimal generators (71) to \(\mathcal{J}^{[2]}\) is given by

$$\displaystyle\begin{array}{rcl} & \mathbf{v}_{1}^{[2]} = \frac{\partial } {\partial x_{i-1}} + \frac{\partial } {\partial x_{i}} + \frac{\partial } {\partial x_{i+1}} \;,\quad \mathbf{v}_{2}^{[2]} = \frac{\partial } {\partial u_{i-1}} + \frac{\partial } {\partial u_{i}} + \frac{\partial } {\partial u_{i+1}} \;,& {}\\ & \mathbf{v}_{3}^{[2]} = x_{i-1} \frac{\partial } {\partial x_{i-1}} + x_{i} \frac{\partial } {\partial x_{i}} + x_{i+1} \frac{\partial } {\partial x_{i+1}} \;, & {}\\ & \mathbf{v}_{4}^{[2]} = x_{i-1} \frac{\partial } {\partial u_{i-1}} + x_{i} \frac{\partial } {\partial u_{i}} + x_{i+1} \frac{\partial } {\partial u_{i+1}} \;, & {}\\ & \mathbf{v}_{5}^{[2]} = u_{i-1} \frac{\partial } {\partial u_{i-1}} + u_{i} \frac{\partial } {\partial u_{i}} + u_{i+1} \frac{\partial } {\partial u_{i+1}} \;, & {}\\ \end{array}$$

and the corresponding Lie matrix is

$$\displaystyle{\mathbf{L} = \left [\begin{array}{*{10}c} 1 & 1 & 1 & 0 & 0 & 0\\ 0 & 0 & 0 & 1 & 1 & 1 \\ x_{i-1} & x_{i}&x_{i+1} & 0 & 0 & 0 \\ 0 & 0 & 0 &x_{i-1} & x_{i}&x_{i+1} \\ 0 & 0 & 0 &u_{i-1} & u_{i}&u_{i+1} \end{array} \right ].}$$

Assuming that h i = x i+1x i ≠ 0 and h i−1 = x i x i−1 ≠ 0, the Lie matrix can be row reduced to

$$\displaystyle{\mathbf{L} \sim \left [\begin{array}{*{10}c} 1 &1& 1 & 0 &0& 0\\ 0 &0 & 0 & 1 &1 & 1 \\ -h_{i-1} & 0&h_{i}& 0 &0& 0 \\ 0 &0& 0 &-h_{i-1} & 0&h_{i} \\ 0 &0& 0 & W &0& 0 \end{array} \right ],}$$

where W = h i−1(u i+1u i ) − h i (u i u i−1). Therefore, when

$$\displaystyle{ h_{i-1}(u_{i+1} - u_{i}) - h_{i}(u_{i} - u_{i-1}) = 0 }$$
(73)

the rank of the Lie matrix is not maximal and (73) yields a weakly invariant equation.

5.2 Moving Frame Approach

As explained in Sect. 4.2, a moving frame \(\rho: \mathcal{M}\rightarrow G\) exists provided the group action is free. In terms of the Lie matrix (70), this occurs where the rank of L(z) = r = dimG is maximal. Therefore, submanifolds where the rank of the Lie matrix is not maximal occur where a moving frame does not exist. In those situations it is still possible to construct partial moving frames [72, 75, 84]. Intuitively, a partial moving frame is the G-equivariant map that one obtains when some of the group parameters cannot be normalized during the normalization procedure. Given a partial moving frame, the invariantization map is still defined as in (65), and a complete set of normalized difference invariants can still be constructed.

In applications, partial moving frames naturally occur as one attempts to solve the normalizing equations (64). The solution to the normalization equations will, in general, require some nondegeneracy conditions to hold and submanifolds where those constraints are not satisfied will determine weakly invariant equations.

Example 5.7

We now reconsider Example 5.6 using the equivariant moving frame method. The group of transformations induced by the infinitesimal generators is given by

$$\displaystyle{X =\lambda x + a\;,\quad U =\alpha u +\beta x + b\;,}$$

where λ > 0, α > 0, and \(a,b,\beta \in \mathbb{R}\). The product action on the discrete jet space (72) is

$$\displaystyle{ \begin{array}{ccc} &X_{i-1} =\lambda x_{i-1} + a,&U_{i-1} =\alpha u_{i-1} +\beta x_{i-1} + b\:, \\ & X_{i} =\lambda x_{i} + a, & U_{i} =\alpha u_{i} +\beta x_{i} + b\;, \\ &X_{i+1} =\lambda x_{i+1} + a,&U_{i+1} =\alpha u_{i+1} +\beta x_{i+1} + b\;.\end{array} }$$
(74)

Starting the normalization process, we first set X i = 0 and U i = 0. Solving the normalization equations

$$\displaystyle{0 = X_{i} =\lambda x_{i} + a\;,\quad 0 = U_{i} =\alpha u_{i} +\beta x_{i} + b\;,}$$

we obtain

$$\displaystyle{ a = -\lambda x_{i}\;,\quad b = -\alpha u_{i} -\beta x_{i}\;. }$$
(75)

Introducing the notation

$$\displaystyle{h_{i} = x_{i+1} - x_{i}\;,\quad h_{i-1} = x_{i} - x_{i-1}\;,\quad \varDelta u_{i} = u_{i+1} - u_{i}\;,\quad \varDelta u_{i-1} = u_{i} - u_{i-1}\;,}$$

the substitution of the group normalizations (75) into the product action (74) yields

$$\displaystyle{ \begin{array}{rl} X_{i-1} = -\lambda \,h_{i-1},&\quad U_{i-1} = -\alpha \,\varDelta u_{i-1} -\beta \, h_{i-1}\;, \\ X_{i+1} =\lambda \, h_{i},&\quad U_{i+1} =\alpha \,\varDelta u_{i} +\beta \, h_{i}\;.\end{array} }$$
(76)

At this stage, assuming that h i−1 > 0 (and similarly h i > 0) we can set X i−1 = −1, which leads to the group normalization

$$\displaystyle{ \lambda = \frac{1} {h_{i-1}}\;. }$$
(77)

Substituting (77) into (76) yields the difference invariant

$$\displaystyle{H_{i} =\iota (x_{i+1}) = \frac{h_{i}} {h_{i-1}}.}$$

To normalize the remaining group parameters α and β in

$$\displaystyle{\left [\begin{array}{*{10}c} U_{i-1} \\ U_{i+1} \end{array} \right ] = \left [\begin{array}{*{10}c} -\varDelta u_{i-1} & -h_{i-1} \\ \varDelta u_{i} & h_{i} \end{array} \right ]\left [\begin{array}{*{10}c} \alpha \\ \beta \end{array} \right ]\;,}$$

it is necessary for the coefficient matrix to be invertible. On the other hand, if the matrix is not invertible, that is, if

$$\displaystyle{ 0 =\det \left [\begin{array}{*{10}c} -\varDelta u_{i-1} & -h_{i-1} \\ \varDelta u_{i} & h_{i} \end{array} \right ] = -h_{i}\,\varDelta u_{i-1}+h_{i-1}\,\varDelta u_{i}\;, }$$
(78)

one can only construct a partial moving frame and (78) is a weakly invariant equation, which is identical to (73). When (78) holds, we can normalize either U i+1 or U i−1. Let U i−1 = 0, then

$$\displaystyle{\beta = -\alpha \frac{\varDelta u_{i-1}} {h_{i-1}}\;,}$$

and one obtains the partial moving frame

$$\displaystyle{a = - \frac{x_{i}} {h_{i-1}}\;,\quad b = \frac{\alpha } {h_{i-1}}\det \left [\begin{array}{*{10}c} u_{i} & x_{i} \\ u_{i-1} & x_{i-1} \end{array} \right ]\;,\quad \lambda = \frac{1} {h_{i-1}}\;,\quad \beta = -\alpha \frac{\varDelta u_{i-1}} {h_{i-1}}\;.}$$

Finally, we note that

$$\displaystyle{\iota (u_{i+1}) =\alpha {\biggl [\varDelta u_{i} - \frac{h_{i}} {h_{i-1}}\varDelta u_{i-1}\biggr ]} = 0\;,}$$

by virtue of (78).

6 Symmetry-Preserving Numerical Schemes

At this point, given a Lie group of local transformations G acting on \(\mathcal{M}\), we have everything needed to construct G-invariant equations. As introduced in Sect. 5, a G-invariant equation F(z) = 0 will either be weakly invariant or strongly invariant. To obtain strongly invariant equations, the first step consists of computing a complete set of invariants I c using either Lie’s infinitesimal approach or the moving frame method. Once a complete set of invariants I c has been computed, a strongly invariant equation \(0 = F(z) =\widetilde{ F}(\mathbf{I}_{c})\) is simply obtained by combining invariants from I c . To obtain weakly invariant equations, one simply has to use one of the two procedures outlined in Sect. 5.

When \(\mathcal{M} =\mathop{ \mathrm{J}}\nolimits ^{(\ell)}\), the above procedure will produce all the differential equations \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) admitting G as a symmetry group. Similarly, when \(\mathcal{M} = \mathcal{J}^{(\ell)}\), one obtains all the differential equations \(\bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\) invariant under the prolonged action of G. Obtaining these differential equations is referred to as the inverse problem of group classification. Given a G-invariant differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\), the procedure can also be used to construct an extended system of equations \(\{\bar{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0,\tilde{\varDelta }{\bigl (s,x^{(\ell)},u^{(\ell)}\bigr )} = 0\}\) that is G-compatible with \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\).

In the following, we are mainly interested in the case when \(\mathcal{M} = \mathcal{J}^{[\ell]}\). Given a differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) with symmetry group G, we want to construct a system of finite difference equations that approximates the differential equation, specifies constraints on the mesh, and preserves the symmetry group G. This is now obviously done by finding an appropriate collection of strongly invariant and weakly invariant difference equations, which, in the continuous limit, converge to the differential equation. To find an approximation of the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\), the first step consists of computing a complete set of difference invariants using either Lie’s infinitesimal approach or the moving frame method and to consider their Taylor expansion. Then one searches for a combination of these Taylor expansions that will, in the continuous limit, converge to the differential equation, and thereby provide a finite difference approximation of the equation. This step will not always work. It is possible that the difference invariants cannot be combined in such a way to converge to the differential equation in the continuous limit. When this is the case, one should search for a weakly invariant equation W(x N [], u N []) = 0 that converges to Δ = 0. If the later fails, one can try to add more points in the lattice. It is not clear yet if all invariant differential equations admit at least one symmetry-preserving scheme. Differential equations with infinite-dimensional symmetry groups are particularly challenging. To this day, no one has been able to systematically construct symmetry-preserving schemes for such equations.

In parallel, one also searches for a set of strongly and/or weakly invariant difference equations that will constrain the mesh on which the differential equation is approximated. Mesh equations do not always have to be included. If they are avoided, this leads to invariant meshless discretization schemes [4], which tend to be more complicated numerical schemes as they can operate on an arbitrary collection of nodes where the solution is sought numerically. When, included, the mesh equations will influence how the continuous limit should be taken in the above paragraph. The number of equations specifying the mesh is not a priori fixed. The only requirements are that those equations should not impose any constraints on the dependent variables u N [], that they should be compatible, and have the appropriate continuous limit. The latter can mean different things depending on the point of view used. For example, in [13, 14, 18, 2830, 56, 61], the discrete indices N + K are assumed to be fixed and in the continuous limit, the points (x N+K , u N+K ) converge to (x N , u N ) for all \(K \in \mathbb{Z}^{p}\). With this perspective, the mesh equations will converge, in the continuous limit, to identities such as 0 = 0. Alternatively, if one regards the discrete index N = (n 1, , n p) as sampling the computational variables s = (s 1, , s p), one can take the limit in the index variables [67, 78, 79]. To this end, we introduce the variation parameters ε = (ε 1, , ε p) ∈ [0, 1]p. One can then write the multi-index N + K as

$$\displaystyle{N + K = N +\epsilon \cdot K\vert _{\epsilon =(1,\ldots,1)} = (n^{1} +\epsilon ^{1}k^{1},\ldots,n^{p} +\epsilon ^{p}k^{p})\vert _{\epsilon =(1,\ldots,1)}\;.}$$

Letting ε → 0+, one has that

$$\displaystyle{\lim _{\epsilon \rightarrow 0^{+}}N +\epsilon \cdot K = N\;.}$$

By introducing the variation parameters ε = (ε 1, , ε p) in the mesh equations and letting ε → 0+, the latter will now converge to the companion equations (9b).

We now illustrate the above procedure for constructing symmetry-preserving numerical schemes by considering three examples.

Example 6.1

As our first example, we construct a symmetry-preserving scheme for the Schwarzian differential equation (33), whose symmetry group is given by the fractional linear action (35). The difference invariants on the lattice (56) are given by the index i, the discrete x-variables (58), and the cross-ratio (61). These invariants are sufficient to construct a symmetry-preserving scheme of the Schwarzian equation. We begin by specifying the mesh equation, as this step is the easiest. Clearly, we can set

$$\displaystyle{x_{i+1} - x_{i} = h\;,}$$

where h > 0 is a positive constant. From the mesh equation, it follows that

$$\displaystyle{x_{i-1} = x_{i} - h\;,\quad x_{i+1} = x_{i} + h\;,\quad x_{i+2} = x_{i} + 2h\;.}$$

Therefore, the Taylor expansions of u i−1, u i+1, and u i+2 centered at x i are

$$\displaystyle{ \begin{array}{lll} u_{i-1} & =&u(x_{i-1}) = u - hu_{x} + \frac{h^{2}} {2} u_{xx} -\frac{h^{3}} {6} u_{xxx} + \mathcal{O}(h^{4})\;, \\ u_{i+1} & =&u(x_{i+1}) = u + hu_{x} + \frac{h^{2}} {2} u_{xx} + \frac{h^{3}} {6} u_{xxx} + \mathcal{O}(h^{4})\;, \\ u_{i+2} & =&u(x_{i+2}) = u + 2hu_{x} + 2h^{2}u_{xx} + \frac{4h^{3}} {3} u_{xxx} + \mathcal{O}(h^{4})\;,\end{array} }$$
(79)

where the function u and its derivatives are evaluated at x i . Substituting the Taylor expansions (79) in the difference invariant (61), we obtain

$$\displaystyle{R_{i} = \frac{h^{2}u_{x}^{2} + h^{3}u_{x}u_{xx} + h^{4}{\bigl ((4/3)u_{x}u_{xxx} - (3/4)u_{xx}^{2}\bigr )} + \mathcal{O}(h^{5})} {4h^{2}u_{x}^{2} + 4h^{3}u_{x}u_{xx} + (10/3)h^{4}u_{x}u_{xxx} + \mathcal{O}(h^{5})} \;.}$$

Therefore,

$$\displaystyle{\frac{4 - 1/R_{i}} {h^{2}} = \frac{2u_{x}u_{xxx} - 3u_{xx}^{2}} {u_{x}^{2}} + \mathcal{O}(h)}$$

and an invariant approximation of the Schwarzian equation (33) is given by

$$\displaystyle{ \frac{1} {h^{2}}{\biggl [2 - \frac{1} {2R_{i}}\biggr ]} = F(x_{i})\;. }$$
(80)

Example 6.2

As a second example, we consider the second order ordinary differential equation

$$\displaystyle{ u_{xx} = 0\;. }$$
(81)

As seen in Exercise 3.6, the infinitesimal symmetry algebra is spanned by the vector fields (32). In the following, we construct a symmetry-preserving scheme of the differential equation (81) invariant under the five-dimensional symmetry subgroup generated by (71) on the discrete jet space \(\mathcal{J}^{[2]} =\{ (i,x_{i-1},x_{i},x_{i+1},u_{i-1},u_{i},u_{i+1})\}.\) Since \(\dim \mathcal{J}^{[2]} -\dim \mathfrak{g} = 7 - 5 = 2\), other than the index i, we expect one more difference invariant. Solving the system of first order partial differential equations

$$\displaystyle\begin{array}{rcl} \mathbf{v}_{1}^{[2]}(I)& =& \frac{\partial I} {\partial x_{i-1}} + \frac{\partial I} {\partial x_{i}} + \frac{\partial I} {\partial x_{i+1}} = 0\;, {}\\ \mathbf{v}_{2}^{[2]}(I)& =& \frac{\partial I} {\partial u_{i-1}} + \frac{\partial I} {\partial u_{i}} + \frac{\partial I} {\partial u_{i+1}} = 0\;, {}\\ \mathbf{v}_{3}^{[2]}(I)& =& x_{ i-1} \frac{\partial I} {\partial x_{i-1}} + x_{i} \frac{\partial I} {\partial x_{i}} + x_{i+1} \frac{\partial I} {\partial x_{i+1}} = 0\;, {}\\ \mathbf{v}_{4}^{[2]}(I)& =& x_{ i-1} \frac{\partial I} {\partial u_{i-1}} + x_{i} \frac{\partial I} {\partial u_{i}} + x_{i+1} \frac{\partial I} {\partial u_{i+1}} = 0\;, {}\\ \mathbf{v}_{5}^{[2]}(I)& =& u_{ i-1} \frac{\partial I} {\partial u_{i-1}} + u_{i} \frac{\partial I} {\partial u_{i}} + u_{i+1} \frac{\partial I} {\partial u_{i+1}} = 0\;, {}\\ \end{array}$$

we obtain the invariant

$$\displaystyle{ H_{i} = \frac{x_{i+1} - x_{i}} {x_{i} - x_{i-1}} = \frac{h_{i}} {h_{i-1}}\;. }$$
(82)

Note that this invariant was also found in our construction of a partial moving frame in Example 5.7. Clearly, it is not possible to approximate (81) using only the invariant (82). We therefore search for weakly invariant equations. In Example 5.6 (and Example 5.7) we found that W = h i−1(u i+1u i ) − h i (u i u i−1) = 0 is a weakly invariant equation. Since the product of a weakly invariant equation W(x i [2], u i [2]) = 0 by a nonzero difference function F(i, x i [2], u i [2]) ≠ 0 remains weakly invariant,

$$\displaystyle{ \frac{2W} {h_{i}h_{i-1}(h_{i} + h_{i-1})} = \frac{2} {x_{i+1} - x_{i-1}}{\biggl (\frac{u_{i+1} - u_{i}} {x_{i+1} - x_{i}} -\frac{u_{i} - u_{i-1}} {x_{i} - x_{i-1}}\biggr )} = 0}$$

is weakly invariant equation, and happens to approximate the differential equation u xx = 0. As for the mesh equation, we set H i = f(i), with f(i) > 0 for all i, and obtain

$$\displaystyle{x_{i+1} - (1 + f(i))x_{i} + f(i)x_{i-1} = 0\;.}$$

Exercise 6.3 (This Exercise Was Taken from [81])

The first-order ordinary differential equation

$$\displaystyle{ u' = A'(x)u + B'(x)\mathrm{e}^{A(x)} }$$
(83)

is invariant under the infinitesimal symmetry generators

$$\displaystyle{\mathbf{v}_{1} =\mathrm{ e}^{A(x)} \frac{\partial } {\partial u}\;,\quad \mathbf{v}_{2} = [u - B(x)\mathrm{e}^{A(x)}] \frac{\partial } {\partial u}\;.}$$

Working on the discrete jet space

$$\displaystyle{\mathcal{J}^{[1]} =\{ (i,x_{ i},x_{i+1},u_{i},u_{i+1})\}:}$$
  1. 1.

    Show that, other than the index i, the only two invariants are x i and x i+1.

  2. 2.

    Find a weakly invariant difference equation.

  3. 3.

    Write down a symmetry-preserving scheme for (83).

Example 6.4

The standard discretization of the KdV equation on an orthogonal mesh given in (22) is not invariant under the Galilean boosts

$$\displaystyle{X = x + vt\;,\quad T = t\;,\quad U = u + v\;,\quad v \in \mathbb{R}\;.}$$

Indeed, under this transformation, the second term in (22) is transformed to

$$\displaystyle{(u_{i}^{n} + v) \cdot \frac{u_{i+1}^{n} - u_{ i-1}^{n}} {2h} \;,}$$

while the other two terms remain unchanged. Thus, the discretization (22) does not preserve all the symmetries of the equation. It is not difficult to see that the discretization (22) is only invariant under shifts and dilations.

We now proceed to the construction of a symmetry-preserving scheme for the KdV equation. Introducing the multi-index N = (n, i), let

$$\displaystyle{(t_{N},x_{N},u_{N}) = (t_{i}^{n},x_{ i}^{n},u_{ i}^{n})}$$

as in Example 2.17. Recall that the symmetry generators of the KdV equation were found in (31). Clearly, the ratios

$$\displaystyle{\frac{t_{i+1}^{n} - t_{i}^{n}} {t_{i}^{n+1} - t_{i}^{n}}\qquad \text{and}\qquad \frac{t_{i}^{n+1} - t_{i}^{n}} {t_{i}^{n} - t_{i}^{n-1}}}$$

are invariant under space and time translations, Galilean boosts, and scalings. Therefore, we can use these two invariants to fix invariant constraints on the discretization of the time variable t by setting \(\frac{t_{i+1}^{n}-t_{ i}^{n}} {t_{i}^{n+1}-t_{i}^{n}} = 0\) and \(\frac{t_{i}^{n+1}-t_{ i}^{n}} {t_{i}^{n}-t_{i}^{n-1}} = 1\). These two equations are equivalent to

$$\displaystyle{ t_{i+1}^{n} - t_{ i}^{n} = 0\;,\quad t_{ i}^{n+1} - 2t_{ i}^{n} + t_{ i}^{n-1} = 0\;. }$$
(84)

The latter imply that a symmetry-preserving scheme for the KdV equation can be formulated on a mesh with flat, equally spaced time layers:

$$\displaystyle{t^{n} = k\,n + t^{0}\;.}$$

From here on, we assume that (84) hold. The prolongation of the vector fields (31) to the points in the stencil depicted in Fig. 1 is given by

Fig. 1
figure 1

Stencil for the KdV equation

$$\displaystyle{ \begin{array}{lll} \mathbf{v}_{1} & =&\sum _{l=0}^{1} \frac{\partial } {\partial t^{n+l}}\;,\quad \mathbf{v}_{2} =\sum _{ l=0}^{1}\sum _{j=-2}^{2} \frac{\partial } {\partial x_{i+j}^{n+l}}\;, \\ \mathbf{v}_{3} & =&\sum _{l=0}^{1}\sum _{j=-2}^{2}t^{n+l} \frac{\partial } {\partial x_{i+j}^{n+l}} + \frac{\partial } {\partial u_{i+j}^{n+l}}, \\ \mathbf{v}_{4} & =&\sum _{l=0}^{1}{\Biggl [3t^{n+l} \frac{\partial } {\partial t^{n+l}} +\sum _{ j=-2}^{2}x_{i+j}^{n+l} \frac{\partial } {\partial x_{i+j}^{n+l}} - 2u_{i+j}^{n+l} \frac{\partial } {\partial u_{i+j}^{n+l}}\Biggr ]}. \end{array} }$$
(85)

To simplify the notation, we introduce

$$\displaystyle\begin{array}{rcl} k& =& t^{n+1} - t^{n}\;,\quad h_{ i}^{n} = x_{ i+1}^{n} - x_{ i}^{n}\;, \\ \sigma _{i}^{n}& =& x_{ i}^{n+1} - x_{ i}^{n}\;,\quad Du_{ i}^{n} = \frac{u_{i+1}^{n} - u_{ i}^{n}} {h_{i}^{n}} \;,{}\end{array}$$
(86)

for the spacings and elementary first order discrete x-derivatives. Applying the infinitesimal invariance criterion (53) and solving the corresponding system of first order partial differential equations, we obtain the following 18 functionally independent invariants

$$\displaystyle{ \begin{array}{llll} &H_{i+j}^{n+l} = \frac{h_{i+j-1}^{n+l}} {h_{i+j}^{n+l}} \;, &l& = 0,1,j = -1,0,1\;, \\ &I_{i}^{n} = \frac{h_{i}^{n+1}} {h_{i}^{n}} \;,\quad J_{i}^{n} = \frac{(h_{i}^{n})^{3}} {k} \;, & & \\ &L_{i}^{n} = \frac{\sigma _{i}^{n}-k\cdot u_{ i}^{n}} {h_{i}^{n}} \;,\quad T_{i}^{n} = (u_{i}^{n+1} - u_{i}^{n})(h_{i}^{n})^{2}\;,& & \\ &K_{i+j}^{n+l} = k \cdot Du_{i+j}^{n+l}\;, &l& = 0,1,j = -2,-1,0,1\;.\end{array} }$$
(87)

Introducing the invariant quantity

$$\displaystyle{Q_{i}^{n} = H_{ i+1}^{n}{\biggl (\frac{K_{i+1}^{n} - K_{ i}^{n}} {1 + H_{i+1}^{n}} \biggr )} -{\biggl (\frac{K_{i}^{n} - K_{i-1}^{n}} {1 + H_{i}^{n}} \biggr )}\;,}$$

an invariant numerical scheme for the KdV equation (together with the mesh equations (84)) is given by

$$\displaystyle{ T_{i}^{n} - J_{ i}^{n} \cdot L_{ i}^{n}{\biggl (\frac{K_{i}^{n} + K_{ i-1}^{n}} {2} \biggr )} + Q_{i}^{n} + \frac{Q_{i-1}^{n}} {(H_{i}^{n})^{2}} = 0\;. }$$
(88)

Introducing the third order discrete x-derivative

$$\displaystyle{ D^{3}u_{ i}^{n} = \frac{2} {h_{i}^{n}}{\biggl [{\biggl (\frac{Du_{i+1}^{n} - Du_{i}^{n}} {h_{i+1}^{n} + h_{i}^{n}} \biggr )} -{\biggl (\frac{Du_{i}^{n} - Du_{i-1}^{n}} {h_{i}^{n} + h_{i-1}^{n}} \biggr )}\biggr ]}\;, }$$
(89)

the explicit expression of the invariant scheme (88) is

$$\displaystyle{ \frac{u_{i}^{n+1} - u_{i}^{n}} {k} +{\biggl ( u_{i}^{n} -\frac{\sigma _{i}^{n}} {k} \biggr )}\frac{Du_{i}^{n} + Du_{i-1}^{n}} {2} + \frac{1} {2}\big[D^{3}u_{ i}^{n} + D^{3}u_{ i-1}^{n}\big] = 0\;. }$$
(90)

A more appropriate invariant numerical scheme can be realized on the entire ten point lattice. The latter is given by

$$\displaystyle\begin{array}{rcl} & & T_{i}^{n} - J_{ i}^{n} \cdot L_{ i}^{n}{\biggl (\frac{K_{i}^{n} + K_{ i-1}^{n} + K_{ i}^{n+1} + K_{ i-1}^{n+1}} {4} \biggr)} {}\\ & & \phantom{dfdgfdlgdfglfglldfglfh} + \frac{1} {2}\biggl[ \frac{1} {I_{i}^{n}}\bigg(Q_{i}^{n+1} + \frac{Q_{i-1}^{n}} {I_{i}^{n}(H_{i}^{n+1})^{2}}\biggr) + Q_{i}^{n} + \frac{Q_{i-1}^{n}} {(H_{i}^{n})^{2}}\biggr ] = 0\;.{}\\ \end{array}$$

Explicitly,

$$\displaystyle\begin{array}{rcl} & & \frac{u_{i}^{n+1} - u_{i}^{n}} {k} +{\biggl ( u_{i}^{n} -\frac{\sigma _{i}^{n}} {k} \biggr )}\frac{Du_{i}^{n} + Du_{i-1}^{n} + Du_{i}^{n+1} + Du_{i-1}^{n+1}} {4} \\ & & \phantom{ddsgfgksankarsankar} + \frac{1} {4}{\bigl [D^{3}u_{ i}^{n+1} + D^{3}u_{ i-1}^{n+1} + D^{3}u_{ i}^{n} + D^{3}u_{ i-1}^{n}\bigr ]} = 0\;.{}\end{array}$$
(91)

To use the scheme (90) or (91), the grid velocity

$$\displaystyle{\frac{\sigma _{i}^{n}} {k} = \frac{x_{i}^{n+1} - x_{i}^{n}} {k} }$$

must be specified in an invariant manner to preserve the symmetries of the KdV equation. One possibility is to set

$$\displaystyle{ L_{i}^{n} = 0\quad \text{so that}\quad \frac{\sigma _{i}^{n}} {k} = u_{i}^{n}\;. }$$
(92)

Together, the Eqs. (84), (90) (or (91)), and (92) provide a numerical approximation of the extended system of differential equations (11), (14), (15) for the KdV equation. The latter scheme can perform poorly as there is no built-in mechanism preventing the clustering of grid points as the numerical integration proceeds. Alternatives to using (92) to obtain the position of the grid points at the next time level will be presented in Sect. 7. Using adaptive moving mesh methods, we will construct more reliable invariant numerical schemes.

We conclude this example by discussing the continuous limit of the numerical scheme (90) with mesh equations (84), (92). Let us introduce the variation parameters (ε, δ) so that

$$\displaystyle{n + l = n + l\epsilon \bigr \rvert_{\epsilon =1}\qquad \text{and}\qquad i + j = i + j\delta \bigr \rvert_{\delta =1}\;.}$$

In the numerical scheme (90), (84), (92), let

$$\displaystyle\begin{array}{rcl} & & u_{i}^{n+1} - u_{ i}^{n} = \frac{u_{i}^{n+\epsilon } - u_{ i}^{n}} {\epsilon } \;,\quad u_{i+1}^{n} - u_{ i}^{n} = \frac{u_{i+\delta }^{n} - u_{ i}^{n}} {\delta } \;, {}\\ & & u_{i+1}^{n} - 2u_{ i}^{n} + u_{ i-1}^{n} = \frac{u_{i+\delta }^{n} - 2u_{ i}^{n} + u_{ i-\delta }^{n}} {\delta ^{2}} \;, {}\\ & & u_{i-2}^{n} - 3u_{ i+1}^{n} + 3u_{ i}^{n} - u_{ i-1}^{n} = \frac{u_{i+2\delta }^{n} - 3u_{ i+\delta }^{n} + 3u_{ i}^{n} - u_{ i-\delta }^{n}} {\delta ^{3}} {}\\ \end{array}$$

with ε = 1 and δ = 1, and similarly for the differences in t and x. Then, as ε → 0 and δ → 0,

$$\displaystyle{\begin{array}{rrr} \frac{u_{i}^{n+\epsilon }-u_{ i}^{n}} {\epsilon } \rightarrow u_{\tau }\;,& \frac{u_{i+\delta }^{n}-u_{ i}^{n}} {\delta } \rightarrow u_{s}\;,& \\ \frac{u_{i+\delta }^{n}-2u_{ i}^{n}+u_{ i-\delta }^{n}} {\delta ^{2}} \rightarrow u_{ss}\;,&\frac{u_{i+2\delta }^{n}-3u_{ i+\delta }^{n}+3u_{ i}^{n}-u_{ i-\delta }^{n}} {\delta ^{3}} \rightarrow u_{sss}\;,&\end{array} }$$

and the numerical scheme (90), (84), (92), converges to (15), (11), and (14), respectively.

Alternatively, if one lets t i+j n+lt i n, x i+j n+lx i n, u i+j n+lu i n, without introducing the variation parameters (ε, δ), then after multiplying equation (92) by k, the mesh equations (84), (92) converge to the identity 0 = 0, while (90) converges to the original KdV equation (10).

Exercise 6.5

Using the difference invariants computed in Exercise 4.5 part 2, construct a symmetry-preserving scheme for Burgers’ equation (36).

When using the method of equivariant moving frames to construct symmetry-preserving numerical schemes, it is possible to avoid the step where one has to search for a combination of the difference invariants that will approximate the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\). In general, for this to be the case, some care needs to be taken when constructing the discrete moving frame \(\rho ^{[\ell]}: \mathcal{J}^{[\ell]} \rightarrow G\). The latter has to be compatible with a continuous moving frame \(\rho ^{(\ell)}: \mathop{\mathrm{J}}\nolimits ^{(\ell)} \rightarrow G\). By this, we mean that the discrete moving frame ρ [] must converge, in the continuous limit, to the moving frame ρ (). If \(\mathcal{K}^{[\ell]}\) is the cross-section used to define ρ [] and \(\mathcal{K}^{(\ell)}\) is the cross-section defining ρ (), then the moving frame ρ [] will be compatible with ρ () if, in the coalescing limit, \(\mathcal{K}^{[\ell]}\) converges to \(\mathcal{K}^{(\ell)}\). As shown in [67], discrete compatible moving frames can be constructed by using the Lagrange interpolation coordinates on \(\mathcal{J}^{[\ell]}\), although in applications these can lead to complicated expressions that may limit the scope of the method. It is frequently preferable to fix invariant constraints on the mesh, and then consider finite difference approximations of the derivatives compatible with the mesh. On a nonuniform mesh, these expressions can be obtained by following the procedure of Example 2.11.

Given a compatible moving frame ρ [] an invariant approximation of the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) is simply obtained by invariantizing any finite difference approximation E(N, x N [], u N []) = 0, compatible with the mesh. In particular, the equation E(N, x N [], u N []) = 0 does not have to be invariant.

We now illustrate the construction of symmetry-preserving numerical schemes using the method of moving frames.

Example 6.6

As our first example, we revisit Example 6.1 using the moving frame machinery. In Example 4.19, we constructed a discrete moving frame for the symmetry group of the Schwarzian differential equation. This moving frame was constructed using the cross-section (68), which is not compatible with the cross-section (66) used to define a moving frame in the differential case. Indeed, in (66) we have u = 0, while in the discrete case we let u i . Therefore, one should not expect that the invariantization of the standard scheme

$$\displaystyle{ \frac{u_{i+2} - 3u_{i+1} + 3u_{i} - u_{i-1}} {(u_{i+1} - u_{i})h^{2}} -\frac{3} {2}{\biggl (\frac{u_{i+1} - 2u_{i} + u_{i-1}} {(u_{i+1} - u_{i})h} \biggr )}^{2} = F(x_{ i}) }$$
(93)

will provide an invariant approximation of the Schwarzian equation (33). Indeed, the invariantization of (93), yields the inconsistent equation

$$\displaystyle{- \frac{9} {h^{2}} = F(x_{i})\;.}$$

In this case one has to combine the normalized invariants x i−1, x i , x i+1, x i+2, and the cross-ratio ε i ι(u i+2) = R i as in Example 6.1 to obtain the invariant numerical scheme (80).

For the invariantization of (93) to give a meaningful invariant discretization, we need to construct a discrete moving frame compatible with (67). Working on the uniform mesh

$$\displaystyle{x_{i+1} - x_{i} = h\;,}$$

we introduce the finite difference derivatives

$$\displaystyle\begin{array}{rcl} & Du_{i} = \frac{u_{i+1}-u_{i}} {h} \;,\quad D^{2}u_{ i} = \frac{u_{i+1}-2u_{i}+u_{i-1}} {h^{2}} \;,& {}\\ & D^{3}u_{i} = \frac{u_{i+2}-3u_{i+1}+3u_{i}-u_{i-1}} {h^{3}} \;. & {}\\ \end{array}$$

To obtain a compatible discrete moving frame, we consider a finite difference approximation of the cross-section (66) used in the differential case. Namely, let

$$\displaystyle\begin{array}{rcl} & & \mathcal{K} =\{ u_{i} = 0,Du_{i} =\epsilon _{i},D^{2}u_{ i} = 0\} {}\\ & & \phantom{dsflkglfdgdfdflhgdfkh}\mbox{ where $\epsilon _{i} =\mathop{ \mathrm{sign}}\nolimits (u_{i+1} - u_{i})(u_{i} - u_{i-1})(u_{i+2} - u_{i-1})$}\;.{}\\ \end{array}$$

The latter is equivalent to

$$\displaystyle{\mathcal{K} =\{ u_{i-1} = -h\epsilon _{i},u_{i} = 0,u_{i+1} = h\epsilon _{i}\}\;.}$$

Solving the normalization equations

$$\displaystyle\begin{array}{rcl} & -h\epsilon _{i} = U_{i-1} = \frac{au_{i-1}+b} {cu_{i-1}+b}\;,\quad 0 = U_{i} = \frac{au_{i}+b} {cu_{i}+d}\;,& {}\\ & h\epsilon _{i} = U_{i+1} = \frac{au_{i+1}+b} {cu_{i+1}+b}\;, & {}\\ \end{array}$$

and using the unitary constraint adbc = 1, we obtain the moving frame

$$\displaystyle\begin{array}{rcl} & a = \frac{D^{2}u_{ i}} {2c\,Du_{i}\,Du_{i-1}} \;,\quad b = - \frac{u_{i}D^{2}u_{ i}} {2c\,Du_{i}\,Du_{i-1}} \;,& {}\\ & d = c \cdot \frac{u_{i+1}\,Du_{i-1}-u_{i-1}\,Du_{i}} {Du_{i}-Du_{i-1}} \;, & {}\\ \end{array}$$

where

$$\displaystyle{c^{2} = \frac{\epsilon _{i}(D^{2}u_{ i})^{2}} {2\,Du_{i}\,Du_{i-1}(Du_{i} + Du_{i-1})}\;.}$$

We note that the right-hand side of the last equality is nonnegative by definition of ε i . Invariantizing the noninvariant scheme (93), we obtain the invariant discretization

$$\displaystyle{ \frac{(u_{i+2} - u_{i})(u_{i+1} - u_{i-1})} {h^{3}[(u_{i+2} - u_{i-1})Du_{i} - (u_{i+2} - u_{i+1})Du_{i-1}]} - \frac{2} {h^{2}} = F(x_{i})\;. }$$
(94)

The latter can be written using cross-ratios in a form similar to the invariant scheme (80). After some simplifications, the invariant scheme (94) is equivalent to

$$\displaystyle{ \frac{1} {h^{2}}{\biggl [ \frac{1} {\overline{R}_{i} - R_{i}} - 2\biggr ]} = F(x_{i})\;,}$$

where

$$\displaystyle{\overline{R}_{i} = \frac{(u_{i+2} - u_{i-1})(u_{i+1} - u_{i})} {(u_{i+2} - u_{i})(u_{i+1} - u_{i-1})}\quad \text{and}\quad R_{i} = \frac{(u_{i+2} - u_{i+1})(u_{i} - u_{i-1})} {(u_{i+2} - u_{i})(u_{i+1} - u_{i-1})}\;.}$$

Example 6.7

As our final example, we consider the invariant discretization of the KdV equation. The group action induced by the infinitesimal generators (31) is given by

$$\displaystyle{ X =\lambda x + vt + a\;,\quad T =\lambda ^{3}t + b\;,\quad U = \frac{u} {\lambda ^{2}} + v\;, }$$
(95)

where \(a,b,v \in \mathbb{R}\) and \(\lambda \in \mathbb{R}^{+}\). As in Example 6.4, to simplify the computations, we assume that (84) holds. When this is the case, it follows from (18) that

$$\displaystyle{u_{t} \approx \frac{u_{i}^{n+1} - u_{i}^{n}} {k} -\frac{\sigma _{i}^{n}} {k} Du_{i}^{n}\;,\quad u_{ x} \approx Du_{i}^{n}\;,}$$

where we use the notation that was introduced in (86). For better numerical accuracy, we let

$$\displaystyle{ \begin{array}{lll} u_{t} & \approx &\varDelta _{t}u_{i}^{n} = \frac{u_{i}^{n+1}-u_{ i}^{n}} {k} -\frac{\sigma _{i}^{n}} {k} \cdot \frac{Du_{i}^{n}+Du_{ i-1}^{n}} {2} \;, \\ u_{x}& \approx &\varDelta _{x}u_{i}^{n} = \frac{Du_{i}^{n}+Du_{ i-1}^{n}} {2} \;. \end{array} }$$
(96)

Also, recalling formula (89), we let

$$\displaystyle{ u_{xxx} \approx \varDelta _{x}^{3}u_{ i}^{n} = \tfrac{1} {2}[D^{3}u_{ i}^{n} + D^{3}u_{ i-1}^{n}]\;. }$$
(97)

Implementing the discrete moving frame construction, we choose the cross-section

$$\displaystyle{\mathcal{K} =\{ x_{i}^{n} = 0,t^{n} = 0,u_{ i}^{n} = 0,\varDelta _{ x}u_{i}^{n} = 1\}\;,}$$

which is compatible with the cross-section {x = 0, t = 0, u = 0, u x = 1} that one could use to construct a moving frame in the continuous case. Solving the normalization equations

$$\displaystyle\begin{array}{rcl} & \lambda x_{i}^{n} + vt^{n} + a = 0\;,\quad \lambda ^{3}t^{n} + b = 0\;,\quad \lambda ^{-2}u_{i}^{n} + v = 0\;,& {}\\ & \frac{\lambda ^{-2}u_{ i+1}^{n}+v} {\lambda x_{i+1}^{n}+vt^{n}+a} + \frac{\lambda ^{-2}u_{ i-1}^{n}+v} {\lambda x_{i-1}^{n}+vt^{n}+a} = 2\;, & {}\\ \end{array}$$

for the group parameters a, b, v, λ, we obtain the right moving frame

$$\displaystyle{ \begin{array}{llll} a& = -x_{i}^{n}(\varDelta _{x}u_{i}^{n})^{1/3} + \frac{t^{n}u_{ i}^{n}} {(\varDelta _{x}u_{i}^{n})^{2/3}} \;,&\quad b& = -t^{n}\,\varDelta _{x}u_{i}^{n}\;, \\ v& = - \frac{u_{i}^{n}} {(\varDelta _{x}u_{i}^{n})^{2/3}} \;, &\quad \lambda & = (\varDelta _{x}u_{i}^{n})^{1/3}\;. \end{array} }$$
(98)

To obtain an invariant scheme, we approximate the KdV equation using (96) and (97),

$$\displaystyle{ \varDelta _{t}u_{i}^{n} + u_{ i}^{n} \cdot \varDelta _{ x}u_{i}^{n} +\varDelta _{ x}^{3}u_{ i}^{n} = 0\;. }$$
(99)

and invariantize the resulting scheme. Since the latter is already invariant, the scheme remains the same. We note that the scheme (99) is the same as (90).

Exercise 6.8

Referring to Exercise 4.5:

  1. 1.

    Construct a discrete moving frame on the stencil

    $$\displaystyle{\bigl\{\bigr(n,i,t^{n},t^{n+1},x_{ i-1}^{n},x_{ i}^{n},x_{ i+1}^{n},x_{ i-1}^{n+1},x_{ i}^{n+1},x_{ i+1}^{n+1},u_{ i-1}^{n},u_{ i}^{n},u_{ i+1}^{n},u_{ i-1}^{n+1},u_{ i}^{n+1},u_{ i+1}^{n+1}\bigr)\bigr\}}$$

    compatible with the differential moving frame found in Exercise 4.18 part 2.

  2. 2.

    Invariantize the discrete approximation

    $$\displaystyle{u_{xx} \approx D^{2}u_{ i}^{n} = \frac{2} {h_{i}^{n} + h_{i-1}^{n}}[Du_{i}^{n} - Du_{ i-1}^{n}].}$$
  3. 3.

    Write a symmetry-preserving scheme for Burgers’ equation (36).

7 Numerical Simulations

In this section we present some numerical simulations using the invariant numerical schemes derived in Sect. 6.

7.1 Schwarzian ODE

indexSchwarz’ equationWe begin with the Schwarzian ODE (33) with F(x) = 2. In other words, we consider the differential equation

$$\displaystyle{ \frac{u_{x}\,u_{xxx} - (3/2)u_{xx}^{2}} {u_{x}^{2}} = 2\;. }$$
(100)

By the Schwarz’ Theorem [64], the general solution of (100) is

$$\displaystyle{u(x) = \frac{a\sin x + b\cos x} {c\sin x + d\cos x}\quad \mbox{ with $ad - bc\neq 0$}\;.}$$

Choosing a = d = 1 and b = c = 0, we obtain the particular solution u(x) = tanx. We now aim to obtain this particular solution numerically using the invariant scheme (80) and a standard noninvariant scheme, and compare the results. For the standard method, we choose the explicit fourth order adaptive Runge–Kutta solver ode45 as provided by Matlab. On the surface, this appears to be an unfair comparison since the invariant scheme (80) is only first order accurate. However, preserving geometric properties can give a numerical scheme a distinct advantage, even if it is only of relatively low order. This is verified in Fig. 2.

Fig. 2
figure 2

Numerical integration of the Schwarzian ODE (33) with F(x) = 2. Blue: Non-invariant fourth order adaptive RK method. Red: Invariant first order method. Black: Exact solution

The relative error tolerance controlling the step size in the (noninvariant) adaptive Runge–Kutta method was set to 10−12. Despite this extremely small tolerance, the numerical solution diverges at the point x = π∕2 where the solution has a vertical asymptote. On the other hand, the invariant method, with a step size of h = 0. 01, is able to integrate beyond this singularity and follows the exact solution u(x) = tanx very closely. For the conceptually related case where F(x) = sinx in (33), see [13].

7.2 Korteweg–de Vries Equation

As reviewed in the previous sections, the earliest examples of invariant numerical schemes for evolution equations almost exclusively rested on the discretization of their associated Lagrangian form. However, the use of fully Lagrangian techniques for discretizing differential equations is not common due to their tendency to cluster grid points in certain areas of the computational domain and to poorly resolve the remaining parts of the domain. Even more problematic, Lagrangian numerical methods regularly lead to mesh tangling, especially in the case of several space dimensions.

For the KdV equation this basic problem is readily demonstrated using the invariant Lagrangian scheme given by (91) and (92). To do so, we numerically implement this scheme using as initial condition a double soliton solution of the form

$$\displaystyle\begin{array}{rcl} & & u(t,x) = \frac{1} {2}c_{1}\mathop{ \mathrm{sech}}\nolimits ^{2}{\biggl (\frac{\sqrt{c_{1}}} {2} (x + a_{1} - c_{2}t)\biggr )} \\ & & \phantom{fdfsfsdsdfdfdkgfssankarhari} + \frac{1} {2}c_{2}\mathop{ \mathrm{sech}}\nolimits ^{2}{\biggl (\frac{\sqrt{c_{2}}} {2} (x + a_{2} - c_{2}t)\biggr )}\:,{}\end{array}$$
(101)

where \(c_{1},c_{2} \in \mathbb{R}\) are the phase velocities of the individual solitons and \(a_{1},a_{2} \in \mathbb{R}\) are the initial displacements. In our numerical simulations, we set a 1 = 20, a 2 = 5, c 1 = 1, c 2 = 0. 5, and restricted the computational domain to the interval [−30, 30] discretized with a total of N = 128 spatial grid points. The time step k was chosen to be proportional to h 3, kh 3, and the final integration time for the Lagrangian experiment was t = 0. 75. The result of the computation is presented in Fig. 3.

Fig. 3
figure 3

Left: Numerical solution for the KdV equation using the invariant Lagrangian scheme (91) and (92). Right: Associated evolution of the mesh points

It is visible from the evolution of the mesh points in Fig. 3 (right) that mesh tangling (here: crossing of mesh lines) is about to occur. This leads to numerical instability that is visible as high wavenumber oscillations between the two solitons, which sets in almost immediately after the start of the numerical integration. In other words, the invariant Lagrangian scheme is unsuitable for practical applications in virtually all relevant numerical situations, since no inherent control over the evolution of the mesh points is build into the scheme.

It is striking to observe that, despite the well-known shortcomings of Lagrangian numerical schemes, the latter have played a prominent role in the field of symmetry-preserving discretization. This can be explained by the fact that for most papers on the subject, invariant numerical schemes were constructed more as an example highlighting the possibility of deriving symmetry-preserving schemes of differential equations rather than as a tool for practical numerical experiments. Indeed, it is fair to say that even now, the numerical analysis of invariant discretization schemes is still lacking rigor.

In order to make the invariant numerical scheme (91) practical, a different invariant grid equation has to be derived. Possible strategies include the use of invariant evolution–projection schemes and invariant adaptive numerical schemes.

The invariant evolution–projection scheme conceptually builds upon the invariant Lagrangian scheme. The main idea of this approach is to use the invariant numerical scheme and the invariant mesh equations only over a single time step, and use an interpolation scheme to project the solution of the differential equation defined at the new spatial grid points back to the initial (typically uniform) spatial grid. The entire procedure is invariant if the interpolation scheme used is invariant [5]. The main appeal of this method is that it enables the use of invariant numerical schemes on rectangular meshes.

It is readily verified that classical interpolation methods such as linear, quadratic, cubic or spline interpolations are all invariant under the maximal symmetry group of the KdV equation. The main reason is that all these schemes are polynomials in terms like (x i+1 n+1x i n+1) or \((\hat{x}^{n+1} - x_{i}^{n+1})/(x_{i+1}^{n+1} - x_{i}^{n+1})\), where \(\hat{x}^{n+1}\) is the interpolation point, which are invariant under spatial and temporal shifts and Galilean boosts. The invariance under scaling transformations follows from the consistency of the interpolation scheme. For example, consider the linear interpolation given by

$$\displaystyle{u(\hat{x}_{i}^{n+1}) = u_{ i}^{n+1} + \frac{u_{i+1}^{n+1} - u_{ i}^{n+1}} {x_{i+1}^{n+1} - x_{i}^{n+1}}(\hat{x}_{i}^{n+1} - x_{ i}^{n+1}).}$$

Then, under the action of the KdV symmetry group given by (95), the linear interpolation formula remains invariant. In other words, it follows that

$$\displaystyle{U(\widehat{X}_{i}^{n+1}) = U_{ i}^{n+1} + \frac{U_{i+1}^{n+1} - U_{ i}^{n+1}} {X_{i+1}^{n+1} - X_{i}^{n+1}}(\widehat{X}_{i}^{n+1} - X_{ i}^{n+1}).}$$

For more details and examples, see [5, 6].

In Fig. 4 we present the numerical results for the scheme (91), (92) using the double soliton (101) as initial condition on the interval [−30, 30]. As opposed to the previous simulation, we now introduce a cubic spline interpolation at each time integration to project the solution back to the original space grid. The number of discrete spatial points is as before, that is N = 128, and the final integration time is t = 40. As it can be seen, the two solitons interact with each other and remain unchanged after their collision, which is properly captured by the invariant evolution–projection scheme. We point out though that the scheme is rather dissipative, with the amplitudes of the solitons slowly decreasing over time. While in the present example dissipation can be seen as a disadvantage, this dissipation can be essential in hyperbolic problems that involve shock solutions. For these shock solutions, numerical simulations usually require schemes, such as upwind or Lax–Friedrich and Lax–Wendroff methods, which exhibit artificial dissipation.

Fig. 4
figure 4

Numerical solution for the KdV equation using the invariant scheme (91), (92) augmented with a cubic spline interpolation after every step to project the solution back to the original uniform mesh

A second possibility for completing the invariant numerical scheme (91) without using Lagrangian methods rests on moving mesh methods. Without going into great details, we present here an invariant r-adaptive scheme for the KdV equation (for more information, see [9]). In r-adaptive numerical schemes a fixed number of grid points is redistributed so that points automatically move to regions where higher resolution is required, for example near shocks. Therefore, r-adaptive numerical methods are particularly important for hyperbolic problems. We refer to [39] for a comprehensive review of such methods.

For one-dimensional problems, r-adaptive moving meshes on the interval [a, b] are uniquely determined through the equidistribution principle, which in differential form reads

$$\displaystyle{ (\delta (t,x)x_{s})_{s} = 0 }$$
(102)

with boundary conditions x(t, 0) = a and x(t, 1) = b. In (102), the function δ is called the mesh density function or monitor function. Its role is to control the areas where grid points should concentrate or de-concentrate. It is typically linked to the solution of the physical differential equation. For example, the arc-length type mesh density function is

$$\displaystyle{ \delta = \sqrt{1 +\alpha u_{x }^{2}}\;, }$$
(103)

where \(\alpha \in \mathbb{R}\) is a constant adaptation parameter.

To complete the invariant scheme for the KdV equation, we discretize (102) and (103) using the difference invariants given in (87) or using the invariantization map induced by the discrete moving frame (98). In particular, it turns out that the straightforward discretization

$$\displaystyle{ \begin{array}{ll} &\frac{\delta _{i+1}^{n}+\delta _{ i}^{n}} {2} (x_{i+1}^{n+1} - x_{ i}^{n+1}) -\frac{\delta _{i}^{n}+\delta _{ i-1}^{n}} {2} (x_{i}^{n+1} - x_{ i-1}^{n+1}) = 0\;, \\ &\delta _{i}^{n} = \sqrt{1 +\alpha {\biggl ( k\frac{u_{i+1 }^{n }-u_{i }^{n }} {x_{i+1}^{n}-x_{i}^{n}}\biggr )}^{2}}\;,\end{array} }$$
(104)

is invariant under the maximal Lie symmetry group of the KdV equation.

In Fig. 5 we present the numerical solution for the KdV equation using the invariant adaptive scheme (91) with (104) and the same double soliton initial condition (101) as in the previous simulation. The final integration time was again chosen to be t = 40 and the adaptation parameter was set to α = 10.

Fig. 5
figure 5

Left: Numerical solution for the KdV equation using the invariant adaptive scheme (91), (104). Right: Associated evolution of the mesh points

It is readily seen from Fig. 5 that the invariant adaptive scheme (91), (104) again does not suffer from the shortcomings observed for the Lagrangian scheme (91), (92). In particular, no mesh tangling occurs. The associated adaptive mesh suitably tracks the position of the solitons and remains almost uniform away from the two waves, although the adaptation is relatively weak since the solution does not exhibiting overly steep gradients. An advantage of the invariant r-adaptive scheme over the invariant evolution–projection scheme is that the amplitudes of the solitons are not damped during the adaptation strategy.

In general, using invariant adaptive schemes has the merit of combining a geometric numerical method with a well-proven numerical strategy for dynamically redistributing the points in a mesh. In particular, this technique works for all evolution equations that are invariant under the Galilean group, which are virtually all equations of classical hydrodynamics, including the shallow-water equations, the Euler equations and the Navier–Stokes equations. Since shock waves are physically important solutions in these models, invariant adaptive schemes are of high practical relevance in this field.

7.3 Burgers’ Equation

In this section we construct a new numerical scheme for Burgers’ equation (36) invariant under the four-parameter symmetry group

$$\displaystyle\begin{array}{rcl} & & X =\mathrm{ e}^{\epsilon _{4}}x +\epsilon _{3}t +\epsilon _{1}\;,\quad T =\mathrm{ e}^{2\epsilon _{4}}t +\epsilon _{2}\;,\quad U =\mathrm{ e}^{-\epsilon _{4}}u +\epsilon _{3}\;, \\ & & \phantom{dsfglglfdglfdhfhlsankarharigaranbavafgldgfhgf}\epsilon _{1},\epsilon _{2},\epsilon _{3},\epsilon _{4} \in \mathbb{R}{}\end{array}$$
(105)

generated by the vector fields v 1, v 2, v 3, v 4 given in (37). We exclude the one-parameter group of transformations generated by v 5 since in numerical simulations the evolution of the time variable t should always be strictly increasing, and allowing the inversion transformations generated by v 5 would enable one to reverse the time direction, which is not desirable from a numerical standpoint.

Remark 7.1

As an exercise, the reader is invited to adapt the constructions below by including the inversion transformations generated by v 5. This has never been attempted and could potentially lead to interesting new results!

Due to the similarities between the symmetry subgroup action (105) and the KdV symmetry group (31), the underlying symmetry-preserving schemes for Burgers’ equation are conceptually similar to the invariant schemes constructed before for the KdV equation. Though, one important differences between the two equations is that solutions to Burgers’ equation can develop very steep gradients (although remaining smooth for all times provided that ν ≠ 0). This is particularly the case if ν approaches zero. Hence, grid adaptation is of practical relevance for this equation.

In [49], an invariantization for the Crank–Nicolson scheme for Burgers’ equation was proposed. However, we note that the Crank–Nicolson scheme is implicit and thus in the case where ν is small it might not be the most efficient way of solving Burgers’ equation since an explicit scheme should then suffice. In the following, we propose a new scheme which draws some ideas from high-resolution finite volume methods [52]. It is well-known that high order schemes, such as the Lax–Wendroff method, lead to oscillations in the numerical solution near shocks, whereas low order schemes, such as the upwind method, develop no such oscillations but exhibit an excessive amount of numerical viscosity. The idea in the high-resolution method is thus to use a high order method away from the shock and a low resolution method near the shock. The transition between the two regions is accomplished through the use of flux /slope limiters.

To formulate an indexinvariant finite volume schemeinvariant finite volume type method for Burgers’ equation, we rewrite (36) in the form

$$\displaystyle{ u_{t} +\tilde{ f}_{x} = 0\;,\quad \tilde{f} = \tfrac{1} {2}u^{2} -\nu u_{ x}\;. }$$
(106)

We now discretize (106) on a moving mesh, which, as we have previously seen, is enough to guarantee invariance under Galilean transformations. As in Examples 2.8 and 2.10, we introduce the computational variables (τ, s) and let t = t(τ) = + t 0 and x = x(τ, s). Then, a suitable conservative form of Burgers’ equation in the computational variables (τ, s) is given by

$$\displaystyle{ (x_{s}u)_{\tau } + k{\biggl (\frac{1} {2}u^{2} -\nu \frac{u_{s}} {x_{s}} -\frac{ux_{\tau }} {k} \biggr )}_{s} = (x_{s}u)_{\tau } + kf_{s} = 0\;, }$$
(107)

see also [39]. We then discretize the flux f in two different ways, once using the second order centered difference method (high resolution) and once using the first order upwind method (low resolution). In doing so, we observe, as in [9], that the invariance under Galilean transformations requires us to discretize (107) in such a way that all spatial derivatives are evaluated using the same finite difference discretizations. With that said, the high order discretization of (107) is Δ τ (x s u)high + kΔ s f high = 0, with

$$\displaystyle\begin{array}{rcl} & & \begin{array}{ll} &\varDelta _{\tau }(x_{s}u)^{\mathrm{high}} = (h_{i}^{n+1} + h_{i-1}^{n+1})u_{i}^{n+1} - (h_{i}^{n} + h_{i-1}^{n})u_{i}^{n}\;, \\ &\varDelta _{s}f^{\mathrm{high}} = \tfrac{1} {2}{\bigl [(u_{i+1}^{n})^{2} - (u_{ i-1}^{n})^{2}\bigr ]} -\nu (Du_{ i}^{n} - Du_{ i-1}^{n}) \end{array} {}\\ & & \phantom{dgkdkgkgdgksddglgfflfdgldfgdslgksdgjkdjglkdjg} -{\biggl (\frac{\sigma _{i+1}^{n}} {k} u_{i+1}^{n} -\frac{\sigma _{i-1}^{n}} {k} u_{i-1}^{n}\biggr )}\;.{}\\ \end{array}$$

On the other hand, the low order discretization of (107) is Δ τ (x s u)low + kΔ s f low = 0, where

$$\displaystyle{\varDelta _{\tau }(x_{s}u)^{\mathrm{low}} = \left \{\begin{array}{@{}l@{\quad }l@{}} h_{i-1}^{n+1}u_{ i}^{n+1} - h_{ i-1}^{n}u_{ i}^{n},\quad &u_{ i}^{n} \geq 0, \\ h_{i}^{n+1}u_{i}^{n+1} - h_{i}^{n}u_{i}^{n}, \quad &u_{i}^{n} <0, \end{array} \right.}$$

and

$$\displaystyle{\varDelta _{s}f^{\mathrm{low}} = \left \{\begin{array}{@{}l@{\quad }l@{}} \varDelta _{s}f_{\geq }^{\mathrm{low}},\quad &u_{ i}^{n} \geq 0, \\ \varDelta _{s}f_{<}^{\mathrm{low}},\quad &u_{i}^{n} <0, \end{array} \right.}$$

with

$$\displaystyle\begin{array}{rcl} \varDelta _{s}f_{\geq }^{\mathrm{low}}& =& \frac{1} {2}{\bigl [(u_{i}^{n})^{2} - (u_{ i-1}^{n})^{2}\bigr ]} -\nu (Du_{ i-1}^{n} - Du_{ i-2}^{n}) -{\biggl (\frac{\sigma _{i}^{n}} {k} u_{i}^{n} -\frac{\sigma _{i-1}^{n}} {k} u_{i-1}^{n}\biggr )}, {}\\ \varDelta _{s}f_{<}^{\mathrm{low}}& =& \frac{1} {2}{\bigl [(u_{i+1}^{n})^{2} - (u_{ i}^{n})^{2}\bigr ]} -\nu (Du_{ i+1}^{n} - Du_{ i}^{n}) -{\biggl (\frac{\sigma _{i+1}^{n}} {k} u_{i+1}^{n} -\frac{\sigma _{i}^{n}} {k} u_{i}^{n}\biggr )}. {}\\ \end{array}$$

The invariant high-resolution method is obtained by dynamically selecting the regions of the domain where the high order and low order methods are used. For this purpose, we introduce the ratio

$$\displaystyle{\theta _{i}^{n} = \frac{\varDelta u_{I-1}^{n}} {\varDelta u_{i-1}^{n}} \;,\quad \mbox{ where $\varDelta u_{i-1}^{n} = u_{i}^{n} - u_{i-1}^{n}$}\;,}$$

and I = i − 1 if u i n ≥ 0 and I = i + 1 if u i n < 0. Geometrically, the quantity θ i n measures the smoothness of the solution over the interval [x i−1, x i ]. This ratio is, by its definition, invariant under the symmetry subgroup (105), and therefore so is any function of θ i n.

We proceed to discretize (107) by considering

$$\displaystyle{ \varDelta _{\tau }(x_{s}u) + k\varDelta _{s}f = 0\;, }$$
(108)

with

$$\displaystyle\begin{array}{rcl} & & \varDelta _{\tau }(x_{s}u) =\varDelta _{\tau }(x_{s}u)^{\mathrm{low}} -\varPhi (\theta _{ i-1}^{n}){\bigl [\varDelta _{\tau }(x_{ s}u)^{\mathrm{low}} -\varDelta _{\tau }(x_{ s}u)^{\mathrm{high}}\bigr ]}\;, {}\\ & & \varDelta _{s}f =\varDelta _{s}f^{\mathrm{low}} -\varPhi (\theta _{ i-1}^{n}){\bigl [\varDelta _{ s}f^{\mathrm{low}} -\varDelta _{ s}f^{\mathrm{high}}\bigr ]}\;, {}\\ \end{array}$$

and where, for the flux limiter function Φ(θ i n), we choose the so-called minmod-limiter, Φ(θ i n) = max{0, min(1, θ i n)}. For further discussions on flux limiters, see [52]. To complete the invariant finite volume type scheme for Burgers’ equation, we use the same grid adaptation strategy as for the KdV equation to obtain the spatial step size σ i n = x i n+1x i n as time evolves.

As a numerical example, we carry out an experiment similar to the one given in [49] for the exact solution

$$\displaystyle{u(x) = - \frac{\sinh {\bigl (x/(2\nu )\bigr )}} {\cosh {\bigl (x/(2\nu )\bigr )} +\exp {\bigl ( -(c + t)/(4\nu )\bigr )}}\;,}$$

where \(c \in \mathbb{R}\). We discretize the spatial domain [−0. 5, 0. 5] with N = 128 grid points using Dirichlet boundary conditions, and choose the time step k to be proportional to h 2, kh 2. The final integration time is t = 0. 5 and for numerical purposes c = 0. 25 and the viscosity was set to ν = 0. 001. The adaptation parameter α in the arc-length type mesh density function in (104) was set to α = 0. 5. The respective numerical results are depicted in Fig. 6.

Fig. 6
figure 6

Left: Numerical solution of Burgers’ equation using the invariant adaptive scheme (104), (108). Right: Corresponding evolution of the mesh points

Unlike in the numerical simulations for the KdV equation presented in Sect. 7.2, Fig. 6 clearly demonstrates the need for an adaptive moving mesh. While this is implied from the structure of the numerical solution, it is remarkable that the requirement for a moving mesh is already encoded in the structure of the symmetry group of Burgers’ equation. Hence, numerically preserving symmetries can be seen as a geometrical justification for using r-adaptive numerical methods. Moreover, due to the use of a high-resolution finite volume type scheme, no unphysical oscillations around the shock is observed.

8 Conclusion

To recapitulate, let us summarize the algorithm for constructing symmetry-preserving finite difference schemes. Given a differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\):

  1. 1.

    Use the infinitesimal invariance criterion (28) to determine a basis of infinitesimal symmetry generators.

  2. 2.

    Choose a lattice on which the differential equation is to be discretized.

  3. 3.

    When possible, in particular when discretizing a partial differential equation, impose obvious invariant constraints on the mesh. This step is not necessary but if implemented it can, in general, simplify the implementation of the remaining steps.

  4. 4.

    Use either Lie’s infinitesimal approach or the moving frame method to compute a complete set of difference invariants, and, if necessary, to find weakly invariant difference equations. When using the moving frame method, one has to exponentiate the infinitesimal generators found in Step 1 to obtain the connected component of the group of local symmetry transformations.

  5. 5.

    Combine the difference invariants and the weakly invariant equations in such a way to obtain an approximation of the differential equation \(\varDelta {\bigl (x,u^{(\ell)}\bigr )} = 0\) and (possibly) constraints on the mesh. If using the moving frame method, invariantize a finite difference approximation of the differential equation compatible with the mesh to obtain an invariant approximation of the differential equation.

The basic algorithm for constructing symmetry-preserving numerical schemes is now fairly well-understood. Below are some open problems and comments for the interested reader.

  • Many important differential equations in mathematical physics admit an infinite-dimensional symmetry group. Such equations include the Davey–Stewartson equations [20], Liouville’s equation, the Kadomtsev–Petviashvili equation [22], the Infeld–Rowland equation [32], the Euler equations [68], and many other equations from fluid dynamics [46]. Implementing the above algorithm for infinite-dimensional symmetry groups remains a challenge. One particularity of these groups is that as new points are added to the stencil, new group parameters appear, which does not occur in the finite-dimensional case. To avoid this difficulty, one possibility is to consider finite-dimensional subgroups of the infinite-dimensional symmetry group and implement the algorithm above [60, 61]. Another possibility, which preserves the infinite-dimensional nature of the group action, is to discretize the Lie pseudo-group action [79].

  • In the last 25 years, a great deal of efforts has been devoted to constructing symmetry-preserving finite difference numerical schemes. With the emergence of finite element methods [80], and discrete exterior calculus [1], it would be interesting to extend the above symmetry-preserving algorithm to these settings as well. Further extensions to finite volume and spectral methods should also be considered.

  • As with any geometric integrator, one of the motivations for developing symmetry-preserving schemes is to obtain better long term numerical results. As we saw in Sect. 7, and as observed in the literature [13, 14, 18, 50], symmetry-preserving schemes for ordinary differential equations perform extremely well, particularly near singularities. For first order ordinary differential equation, it is even possible to construct symmetry-preserving schemes that will approximate exactly the solution of the original equation [81]. On the other hand, the numerical improvements for partial differential equations are not as clear [4, 9, 21, 49, 61, 78, 79]. In many cases, they tend to be comparable to standard schemes. Now that the theoretical foundations are on firm grounds, one of the main challenges in the field of symmetry-preserving schemes is to investigate the numerical properties of invariant schemes and understand why and when these schemes give better numerical results.

  • Most partial differential equations invariantly discretized to date have been evolutionary equations (such as the KdV and Burgers’ equations). Much more work, especially from the numerical side, has to be devoted to the invariant discretization of other types of partial differential equations, such as the wave equation, Laplace’s equation, and the sine-Gordon equation. In particular, constructing symmetry-preserving schemes compatible with given boundary conditions is an important avenue of research.

  • Symmetries are usually not the only geometric properties that a differential equation admits. Other, equally important properties such as a Hamiltonian structure or conservation laws might be present as well. Developing geometric integrators that will preserve more than just one geometric property at the time is an important research direction to pursue.

9 Answers to Selected Exercises

  • Exercise 4.5 , part 2: A complete set of difference invariants is given by the nine invariants

    $$\displaystyle\begin{array}{rcl} & I_{1} = \frac{h_{i}^{n}} {h_{i-1}^{n}}\;,\quad I_{2} = \frac{h_{i}^{n+1}} {h_{i-1}^{n+1}} \;,\quad I_{3} = \frac{h_{i}^{n}h_{ i}^{n+1}} {k^{n}} \;,\quad I_{4} = h_{i}^{n}h_{i-1}^{n}(Du_{i}^{n} - Du_{i-1}^{n})\;,& {}\\ & I_{5} = h_{i}^{n+1}h_{i-1}^{n+1}(Du_{i}^{n+1} - Du_{i-1}^{n+1})\;,\quad I_{6} = h_{i}^{n}{\biggl ( \frac{\sigma _{i}^{n}} {k^{n}} - u_{i}^{n}\biggr )}\;, & {}\\ & I_{7} = h_{i}^{n+1}{\biggl ( \frac{\sigma _{i}^{n}} {k^{n}} - u_{i}^{n+1}\biggr )}\;,\quad I_{8} = (h_{i}^{n})^{2}{\biggl (Du_{i}^{n} + \frac{1} {k^{n}}\biggr )}\;, & {}\\ & I_{9} = (h_{i}^{n+1})^{2}{\biggl (Du_{i}^{n+1} - \frac{1} {k^{n}}\biggr )}\;, & {}\\ \end{array}$$

    where

    $$\displaystyle{h_{i}^{n} = x_{ i+1}^{n} - x_{ i}^{n}\;,\quad k^{n} = t^{n+1} - t^{n},\qquad \sigma _{ i}^{n} = x_{ i}^{n+1} - x_{ i}^{n}\;,\quad Du_{ i}^{n} = \frac{u_{i+1}^{n} - u_{ i}^{n}} {h_{i}^{n}} \;.}$$
  • Exercise 4.18 , part 1: The one-parameter group actions are

    $$\displaystyle\begin{array}{rcl} \exp [\epsilon _{1}\mathbf{v}_{1}] \cdot (t,x,u)& =& (x +\epsilon _{1},t,u), {}\\ \exp [\epsilon _{2}\mathbf{v}_{2}] \cdot (t,x,u)& =& (x,t +\epsilon _{2},u), {}\\ \exp [\epsilon _{3}\mathbf{v}_{3}] \cdot (t,x,u)& =& (x +\epsilon _{3}t,t,u +\epsilon _{3}), {}\\ \exp [\epsilon _{4}\mathbf{v}_{4}] \cdot (t,x,u)& =& (e^{\epsilon _{4}}x,e^{2\epsilon _{4}}t,e^{-\epsilon _{4}}u), {}\\ \exp [\epsilon _{5}\mathbf{v}_{5}] \cdot (t,x,u)& =& {\biggl ( \frac{x} {1 -\epsilon _{5}t}, \frac{t} {1 -\epsilon _{5}t},(1 -\epsilon _{5}t)u +\epsilon _{5}x\biggr )}. {}\\ \end{array}$$
  • Exercise 4.18 , part 2: Working on the open dense set \(\mathcal{V}^{(1)} =\{ (t,x,u,u_{t},u_{x}) \in \mathop{\mathrm{J}}\nolimits ^{(1)}\mid uu_{x} + u_{t}\neq 0\}\), the right moving frame corresponding to the cross-section

    $$\displaystyle{\mathcal{K} =\{ t = 0,x = 0,u = 0,u_{x} = 0,u_{t} = 1\}}$$

    is

    $$\displaystyle{\epsilon _{1} = -x\;,\quad \epsilon _{2} = -t\;,\quad \epsilon _{3} = -u\;,\quad e^{\epsilon _{4}} = (uu_{x} + u_{t})^{1/3}\;,\quad \epsilon _{5} = -u_{x}\;.}$$
  • Exercise 4.18 , part 3: The invariantization of u xx yields the differential invariant

    $$\displaystyle{\iota (u_{xx}) = \frac{u_{xx}} {uu_{x} + u_{t}}\;.}$$
  • Exercise 6.3 , part 2: A weakly invariant equation is given by

    $$\displaystyle{u_{i+1}\mathrm{e}^{-A(x_{i+1})} - u_{ i}\mathrm{e}^{-A(x_{i})} - B(x_{ i+1}) + B(x_{i}) = 0\;.}$$
  • Exercise 6.5 : Along with the equations (62), we can add the mesh equation I 6 = 0 (refer to the solution of Exercise 4.5, part 2). On this mesh, the differential equation can be approximated by

    $$\displaystyle{-I_{7}I_{3} = \frac{2\nu I_{4}I_{1}I_{2}} {1 + I_{1}} \;.}$$

    Explicitly,

    $$\displaystyle{\frac{h_{i}^{n+1}h_{i-1}^{n+1}} {h_{i}^{n}h_{i-1}^{n}} \cdot \frac{u_{i}^{n+1} - u_{i}^{n}} {k^{n}} =\nu D^{2}u_{ i}^{n}\;.}$$

    Using the mesh equation σ i n = k n u i n, we obtain the explicit scheme

    $$\displaystyle{(1 + k^{n}Du_{ i}^{n})(1 + k^{n}Du_{ i-1}^{n}){\biggl (\frac{u_{i}^{n+1} - u_{ i}^{n}} {k^{n}} \biggr )} =\nu D^{2}u_{ i}^{n}}$$

    with t i+1 n = t i n and σ i n = k n u i n.

  • Exercise 6.8 , part 1: A compatible discrete cross-section is given by

    $$\displaystyle{\mathcal{K} ={\biggl \{ t^{n} = 0,x_{ i}^{n} = 0,u_{ i}^{n} = 0, \frac{u_{i+1}^{n}} {x_{i+1}^{n}} + \frac{u_{i-1}^{n}} {x_{i-1}^{n}} = 0,u_{i}^{n+1} = t^{n+1}\biggr \}}\;.}$$

    The corresponding discrete moving frame is

    $$\displaystyle\begin{array}{rcl} & \epsilon _{1} = -x_{i}^{n}\;,\quad \epsilon _{2} = -t^{n}\;,\quad \epsilon _{3} = -u_{i}^{n}\;, & {}\\ & \mathrm{e}^{\epsilon _{4}} = [(1 + k^{n}\varDelta _{x}u_{i}^{n})(\varDelta _{t}u_{i}^{n} + u_{i}^{n+1}\varDelta _{x}u_{i}^{n})]^{1/3}\;,\quad \epsilon _{5} = -\varDelta _{x}u_{i}^{n}\;,& {}\\ \end{array}$$

    where

    $$\displaystyle{\varDelta _{x}u_{i}^{n} = \frac{Du_{i}^{n} + Du_{ i-1}^{n}} {2} \quad \text{and}\quad \varDelta _{t}u_{i}^{n} = \frac{u_{i}^{n+1} - u_{ i}^{n}} {k^{n}} - \frac{\sigma _{i}^{n}} {k^{n}} \cdot \varDelta _{x}u_{i}^{n}\;.}$$
  • Exercise 6.8 , part 2: The invariantization yields the finite difference invariant

    $$\displaystyle{\iota (D^{2}u_{ i}^{n}) = \frac{D^{2}u_{ i}^{n}} {(1 + k^{n}\varDelta _{x}u_{i}^{n})(\varDelta _{t}u_{i}^{n} + u_{i}^{n+1}\varDelta _{x}u_{i}^{n})}\;.}$$
  • Exercise 6.8 , part 3: Invariantizing Δ t u i n + u i n Δ x u i n = νD 2 u i n we obtain the invariant scheme

    $$\displaystyle{(1 + k^{n}\varDelta _{ x}u_{i}^{n})(\varDelta _{ t}u_{i}^{n} + u_{ i}^{n+1}\varDelta _{ x}u_{i}^{n}) =\nu D^{2}u_{ i}^{n}\;.}$$