Next Article in Journal
Surfaces and Curves Induced by Nonlinear Schrödinger-Type Equations and Their Spin Systems
Next Article in Special Issue
Symmetries and Covariant Poisson Brackets on Presymplectic Manifolds
Previous Article in Journal
A Highly Scalable Method for Extractive Text Summarization Using Convex Optimization
Previous Article in Special Issue
Relationship between Unstable Point Symmetries and Higher-Order Approximate Symmetries of Differential Equations with a Small Parameter
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

ReLie: A Reduce Program for Lie Group Analysis of Differential Equations

by
Francesco Oliveri
Department of Mathematical and Computer Sciences, Physical Sciences and Earth Sciences, University of Messina, Viale F. Stagno d’Alcontres 31, 98166 Messina, Italy
Symmetry 2021, 13(10), 1826; https://doi.org/10.3390/sym13101826
Submission received: 9 August 2021 / Revised: 19 September 2021 / Accepted: 22 September 2021 / Published: 30 September 2021
(This article belongs to the Special Issue Geometric Analysis of Nonlinear Partial Differential Equations II)

Abstract

:
Lie symmetry analysis provides a general theoretical framework for investigating ordinary and partial differential equations. The theory is completely algorithmic even if it usually involves lengthy computations. For this reason, along the years many computer algebra packages have been developed to automate the computation. In this paper, we describe the program ReLie, written in the Computer Algebra System Reduce, since 2008 an open source program for all platforms. ReLie is able to perform almost automatically the needed computations for Lie symmetry analysis of differential equations. Its source code is freely available too. The use of the program is illustrated by means of some examples; nevertheless, it is to be underlined that it proves effective also for more complex computations where one has to deal with very large expressions.

1. Introduction

A general and powerful theoretical approach to deal with ordinary as well as partial differential equations is provided by the study of their continuous symmetries, i.e., transformations mapping the set of solutions of differential equations into itself. Symmetry analysis of differential equations originated in the nineteenth century with Sophus Lie [1,2], who realized that many special integration theories of differential equations are a consequence of the invariance under one-parameter continuous groups of transformations providing a diffeomorphism on the space where independent and dependent variables live. These mappings in turn determine a transformation of the derivatives such that the contact conditions are preserved.
Many textbooks and monographs, either elementary or advanced, some of them also focused on relevant applications, dealing with Lie group methods are available [3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18].
Lie groups of continuous transformations, besides their intrinsic theoretical interest, have many important applications such as
  • implementation of algorithmic procedures for lowering the order of ordinary differential equations, or integrating them by quadrature [13,15,19];
  • characterization of invariant solutions of initial and boundary value problems [5,8,9,20,21,22,23,24,25,26,27];
  • derivation of conservation laws [28,29,30];
  • algorithmic construction of invertible point transformations mapping the differential equations into equivalent forms easier to handle  [17,31,32,33,34,35,36,37,38,39];
  • design of efficient numerical schemes [40,41,42].
Furthermore, Lie’s classical theory represented a source for various generalizations. Among these generalizations there are the nonclassical symmetries first proposed by Bluman and Cole [43], and now part of the more general method of differential constraints [44,45], the potential symmetries [46], the nonlocal symmetries [47,48,49], the generalized symmetries [5], which in turn generalize contact symmetries introduced by Lie himself, the equivalence transformations [3,50,51,52,53,54,55,56], to quote a few. A further extension is represented by approximate symmetries [57,58,59,60,61] for differential equations containing small terms, often arising in concrete applied problems (see, for instance, [62] for an application of approximate Lie symmetries to Navier–Stokes equations).
The generality and effectiveness of Lie’s theory, and of its modern generalizations, determined in the last decades a rapid extension of its range of application. Besides the classical applications to problems arising in mathematical physics, in recent years, these techniques proved successful also in the investigation of socio–economic and financial models (see, for instance, [63,64,65], and references therein), as well as in biomathematics (see [66,67,68], and references therein), and in mathematical epidemiology (see [69,70,71,72], and references therein), to quote a few. In such contexts, a computer algebra package able to provide the symmetries admitted by mathematical models, and consequently help to characterize meaningful solutions, can prove effective.
The determination of Lie symmetries admitted by differential equations is algorithmic; nevertheless, it usually involves a lot of cumbersome and tedious calculations. The current availability of many powerful Computer Algebra Systems (CAS) (either commercial or open source) greatly helped the application of Lie group methods, so that most of the needed algebraic manipulations can now be done quickly and often automatically. In fact, many specific packages for performing symmetry analysis of differential equations are currently available in the literature [10,12,73,74,75,76,77,78,79,80,81,82,83,84,85,86].
In this paper, the package ReLie, written in the computer algebra system Reduce  [87], is presented. The routines contained in ReLie allow the user to easily compute Lie point symmetries and conditional symmetries, as well as contact transformations, variational symmetries, and equivalence transformations for classes of differential equations containing arbitrary elements; ReLie is also able to compute approximate Lie symmetries according to the approach proposed in [60].
Reduce is a general purpose computer algebra system whose development was started by Anthony Hearn, and is written in a Lisp dialect (Portable Standard Lisp). Since December 2008, it is an open source program available for all operating systems at the url http://www.reduce-algebra.com (accessed on 9 August 2021), and continuously updated and supported. The source code of ReLie, as well as the user’s manual, can be found at the url http://mat521.unime.it/oliveri (accessed on 9 August 2021). Thus, ReLie can be freely used by researchers who do not have licenses of commercial Computer Algebra Systems like Wolfram Mathematica™ or Maple™.
The origin of this package dates back to 1994 when the author developed some routines useful to manage the lengthy expressions needed to determine the Lie point symmetries of differential equations; this set of procedures constantly grew through the years providing new capabilities, and now constitutes an extensively tested package able to perform almost automatically much of the work. Remarkably, the program can be used also in interactive mode mimicking the steps one has to do with pencil and paper but with the benefits of using a computer algebra system: this can represent a useful support in a higher course on symmetry analysis of differential equations or in all those situations (e.g., when one looks for conditional symmetries) where the determining equations can not be automatically solved and some special assumptions are needed.
Even if there exist many good packages working in different CAS and suitable for doing automatically the computation of Lie symmetries of differential equations, the opinion of the author is that this program, besides offering the possibility of being freely used without requiring the access to a commercial CAS, contains procedures for investigating problems in different areas of modern group analysis (classical point, contact and variational symmetries, group-classification problems, Q-conditional symmetries, Lie remarkable equations); in addition, it is the first program where the approach to approximate symmetries proposed in [60] can be automatically exploited. Last but not the least, its use is not limited to face only simple problems but allows the user to analyze differential equations where the needed computations for finding the symmetries require to solve equations with a huge number of terms.
The plan of the paper is the following. In Section 2, we review the basic elements of Lie group theory of differential equations with reference to point symmetries (Section 2.1), conditional symmetries (Section 2.2), contact symmetries (Section 2.3), variational symmetries (Section 2.4), approximate point, conditional, contact and variational symmetries (Section 2.5), and equivalence transformations (Section 2.6); this Section is not intended as a tutorial for Lie group methods (the interested reader should refer to some of the monographs above quoted); it serves only to fix the notation and recall the very basic results in order to keep the paper almost self-contained. Then, in Section 3, we consider some examples in order to illustrate the use of ReLie, whereas Section 4 is devoted to a description of the global variables and the main functions contained in the package. In Section 3 and Section 4, it is assumed that every potential user of ReLie is somehow familiar with Lie symmetry analysis of differential equations. Moreover, in order to fully benefit of the capabilities of ReLie, the user is required to have a minimal experience in working with the algebraic mode of Reduce  [87]. Thus, in this paper, only the necessary details about the use of ReLie will be given. Finally, Section 5 contains some concluding remarks as well as possible future developments.

2. Basic Elements of the Theory

This Section reviews the main notions of modern group analysis, mainly covering the topics where the program ReLie may help the application of the theory to specific problems. First of all, we remark that the manifolds and maps introduced in the subsequent material are C . From a geometrical point of view, differential equations of order r 1 characterize a submanifold of a suitable jet space (of order r) endowed with the equivalence relation given by the condition of contact of order r [88]. Roughly speaking, the jet space is a manifold whose coordinates are interpreted as independent and dependent variables, and the derivatives of the latter with respect to the former up to the order r. In the following, we denote with x X R n the independent variables, with u U R m the dependent variables, and u ( r ) the set of all (partial) derivatives of the u ’s with respect to the x ’s up to the order r 1 , whereupon the dimension of the r–order jet space is n + m n + r r . As a general rule, in the following, if needed, we use the Einstein convention of sums over repeated indices.

2.1. Lie Point Symmetries

Let
Δ x , u , u ( r ) = 0 ,
be a (system of) differential equation(s) of order r; it represents, on n–dimensional submanifolds of a manifold E R n × R m , a submanifold of the r–th order jet space [5,11,29].
Consider a one-parameter (a) Lie group of point transformations
x = X ( x , u ; a ) = x + a ξ ( x , u ) + O ( a 2 ) , u = U ( x , u ; a ) = u + a η ( x , u ) + O ( a 2 ) ,
where the functions X and U defined in E × S with values in E, where S R is an interval, are C with respect to the arguments x and u , and analytic with respect to a; the components ξ i ( i = 1 , , n ) of ξ , and  η α ( α = 1 , , m ) of η are referred to as the infinitesimals of the Lie group; to the Lie group (2) it is associated the infinitesimal generator [3,5,6]
Ξ = i = 1 n ξ i ( x , u ) x i + α = 1 m η α ( x , u ) u α .
In dealing with differential equations, we need to prolong the action of the Lie group to the r-th order jet space. The transformations for derivatives are obtained by requiring that the contact conditions are preserved by the transformation (roughly speaking, the transformed derivatives have to be the derivatives of the transformed dependent variables with respect to the transformed independent variables).
First order prolongation of the infinitesimal generator reads
Ξ ( 1 ) = Ξ + α = 1 m i = 1 n η [ α , i ] u α , i ,
where
η [ α , i ] = D η α D x i j = 1 n u α , j D ξ j D x i ,
and, in general, higher order extended infinitesimal generator has the form
Ξ ( k ) = Ξ ( k 1 ) + α = 1 m i 1 = 1 n i 2 = i 1 n i k = i k 1 n η [ α , i 1 i k ] u α , i 1 i k ,
with η [ α , i 1 i k ] defined recursively by the relation
η [ α , i 1 i k ] = D η [ α , i 1 i k 1 ] D x i k j = 1 n u α , j i 1 i k 1 D ξ j D x i k ,
the Lie derivative being
D D x i = x i + α = 1 m u α , i u α + j = 1 n u α , i j u α , j + ,
where u α , i = u α x i , u α , i j = 2 u α x i x j ,
According to Lie’s algorithm [3,5], which requires that the r-th order prolongation Ξ ( r ) acting on (1) is zero along the solutions of (1), i.e.,
Ξ ( r ) Δ Δ = 0 = 0 ,
the generators of Lie groups of point transformations are found by solving a system of linear partial differential equations (the so called determining equations).
Remarkably, if all the derivatives occur polynomially in the differential equations, then the invariance condition (5) involves polynomials in the variables u ( r ) because the prolonged infinitesimals are always polynomials in the derivatives. Since we evaluate the invariance condition on the differential equations (so eliminating suitable leading derivatives), the derivatives appearing in the invariance condition are independent. Therefore, the latter vanishes if and only if all the coefficients of such polynomials (involving the infinitesimals, their derivatives, the independent and the dependent variables) are zero, whereupon one obtains an overdetermined system of linear and homogeneous partial differential equations (determining equations), whose integration provides the generators of Lie point symmetries admitted by (1). The infinitesimal generators of a Lie group, whose components are solutions of a linear homogeneous system of partial differential equations, span a vector space which can be finite or infinite-dimensional; by introducing an operation of commutation between two infinitesimal generators, this vector space gains the structure of a Lie algebra [89,90].

2.2. Q-Conditional Symmetries

It is well known that some differential equations of interest in the applications possess very few Lie symmetries. In 1969, Bluman and Cole [43] introduced a generalization of classical Lie symmetries, and applied their method (called nonclassical) to the linear heat equation. The basic idea was that of imposing the invariance to a system made by the differential equation at hand, the invariant surface condition and the differential consequences of the latter  [20,21,91,92,93,94,95,96,97]. This method leads to nonlinear determining equations whose general integration is usually difficult. Nonclassical symmetries are now part of conditional symmetries, i.e., symmetries of differential equations where some additional differential constraints are imposed to restrict the set of solutions; some recent applications of conditional symmetries to reaction–diffusion equations can be found in [66,98,99,100,101].
Given a differential equation
Δ x , u , u ( r ) = 0 ,
and considering the invariant surface conditions Q = 0 , where
Q = i = 1 n ξ i ( x , u ) u x i η ( x , u ) , i = 1 n ξ i 2 0 ,
the Q-conditional symmetries are found by requiring
Ξ ( r ) ( Δ ) M = 0 ,
where M is the manifold of the jet space defined by the system of equations
Δ = 0 , Q = 0 , | k | Q x 1 k 1 x n k n = 0 ,
where 1 | k | = k 1 + + k n r 1 .
The set of classical Lie symmetries of differential equations (spanning a vector space which is also a Lie algebra) is contained in the set of Q-conditional symmetries; however, the latter, in general, are not the elements of a Lie algebra. Moreover, it is simple to recognize from (7) that multiplying the infinitesimals of a Q-conditional symmetry by an arbitrary non-vanishing smooth function of dependent and independent variables produces still a Q-conditional symmetry. As a consequence, Q-conditional symmetries can be searched distinguishing n different cases by assuming
ξ j = 0 for 1 j < i n , and ξ i = 1 .
When m > 1 (more than one dependent variable), one can look for conditional symmetries of q-th type ( 1 q m ) [66,100,101], by requiring the condition
Ξ ( r ) ( Δ ) M q = 0 ,
where M q is the manifold of the jet space defined by the system of equations
Δ = 0 , Q i 1 = = Q i q = 0 , | k | Q i 1 x 1 k 1 x n k n = = | k | Q i q x 1 k 1 x n k n = 0 ,
where 1 | k | = k 1 + + k n r 1 , 1 i 1 < < i q m . It is obvious that we may have in principle m q different sets of Q-conditional symmetries of q-th type, whereas for q = 0 we simply have classical Lie symmetries. Moreover, when q < m , it may result easier to find solutions to the nonlinear determining equations. Q-conditional symmetries allow for symmetry reductions of differential equations, and may provide explicit solutions not obtainable with classical symmetries.

2.3. Contact Transformations

Besides point transformations whose infinitesimals depend at most on independent and dependent variables, contact transformations [5,102,103] play an important role in many areas. Nevertheless, true contact transformations exist for differential equations involving only one dependent variable (for more than one dependent variable, they are prolongations of point transformations), and their infinitesimal generator has the form
Ξ = i = 1 n ξ i ( x , u , u ( 1 ) ) x i + η ( x , u , u ( 1 ) ) u + i = 1 n η [ , i ] ( x , u , u ( 1 ) ) u , i .
The operator (12) characterizes a group of contact transformations if and only if there exists a function Ω ( x , u , u ( 1 ) ) (characteristic function) such that
ξ i = Ω u , i , η = Ω i = 1 n u , i Ω u , i , η [ , i ] = Ω x i + u , i Ω u .
Prolongations of contact transformations for higher order derivatives are computed with the usual formulas.
Proper contact transformations (i.e., transformations that are not prolongations of point transformations) are the ones determined by a characteristic function Ω that is nonlinear in the first order derivatives.

2.4. Variational Symmetries

Differential equations expressed as conservation laws play an important role in mathematical physics. From the physical viewpoint, they express conservation of physical quantities (mass, momentum, angular momentum, energy, etc.) whereas from a mathematical perspective are relevant in problems related to the integrability, existence, uniqueness and stability of solutions, as well as in the implementation of efficient numerical methods of integration  [104,105].
The link between Lie symmetries admitted by differential equations and conservation laws has been established in 1918 by Emmy Noether [28] with her famous theorem applicable to differential equations derived by looking for the extrema of the action integral of a given Lagrangian function. The essence of Noether theorem is that to a Lie symmetry of the action integral (variational symmetry) there corresponds a local conservation law (i.e., a divergence expression) through an explicit formula that involves the infinitesimals of the point symmetry and the Lagrangian itself.
Consider a functional given by an integral over a domain Ω R n , say
J = Ω L x , u , u ( r ) d x ,
where L ( x , u , u ( r ) ) is a sufficiently smooth Lagrangian function [106].
By imposing the functional J to be stationary for suitable variations of u and u ( r ) vanishing on the boundary of the domain Ω (Hamilton principle), we derive the Euler–Lagrange equations
E u α ( L ) = 0 , α = 1 , , m ,
where
E u α ( · ) = ( · ) u α D D x j 1 ( · ) u α , j 1 + D 2 D x j 1 D x j 2 ( · ) u α , j 1 j 2 + ( 1 ) r D r D x j 1 D x j r ( · ) u α , j 1 j r
is the Euler operator with respect to u α , whereas D D x i is the Lie derivative defined in (4), and  D r D x j 1 D x j r = D D x j r D r 1 D x j 1 D x j r 1 .
Noether’s theorem [28] states that if we know a Lie group of point transformations with the generator (3) leaving the action integral invariant, and this holds true if the condition
Ξ ( r ) ( L ) + L i = 1 n D ξ i D x i = i = 1 n D ϕ i D x i
for some functions ϕ i ( x , u , u ( r 1 ) ) ( i = 1 , , n ) is satisfied, then the conservation law
i = 1 n D D x i ξ i L + W i ϕ i = 0 ,
where
W i = ( η α ξ j u α , j ) L u α , i + + ( 1 ) r 1 D r 1 D x j 1 D x j r 1 L u α , i j 1 j r 1 + D ( η α ξ j u α , j ) D x j 1 L u α , i j 1 + + ( 1 ) r 2 D r 2 D x j 2 D x j r 1 L u α , i j 1 j r 1 + + D r 1 ( η α ξ j u α , j ) D x j 1 D x j r 1 L u α , i j 1 j r 1 ,
holds for any solution u ( x ) of Euler–Lagrange equations. For  n = 1 (in such a case the independent variable is the time), and for the classical Lagrangians of Analytical Mechanics (sum of kinetic energy and potential of the active forces) the conservation law provides a first integral of ordinary differential equations.
There are some extensions of Noether theorem, for instance the one by Boyer [107] that can be used for constructing conservation laws using the invariance with respect to generalized symmetries [5], i.e., symmetries with infinitesimals depending on higher order derivatives (see  [17]), as well as direct methods [108,109] applicable also to differential equations not derived from Lagrangian functions (see also [110,111]).

2.5. Approximate Symmetries

Let
Δ x , u , u ( r ) ; ε = 0
be a differential equation of order r involving a small parameter ε . By perturbing an equation, even adding terms involving coefficients with very small order of magnitude, the consequences are often dramatic since many symmetries are lost; this inconvenient restricts the range of applicability of Lie group methods to differential equations arising in some concrete applications. Since perturbation techniques [112] are widely used in the literature for investigating differential equations containing small terms, it is important to develop methods for combining Lie group theory with perturbation analysis. In the literature, two main approaches for establishing an approximate symmetry theory of such differential equations do exist and have been widely applied: One has been proposed in 1988 by Baikov, Gazizov and Ibragimov [57] (see also [58]) and another one in 1989 by Fushchich and Shtelen [59]. Both approaches have pros and cons [60]. To overcome these problems, recently, an alternative approach has been proposed [60], that is consistent with perturbation theory, and allows to extend all the relevant features of Lie group analysis to an approximate context; in some sense, this approach mixes the ideas in [57] with the ones in [59]. In what follows this latter approach is briefly described.
By looking for Lie point symmetries of Equation (19), the infinitesimal generators of the admitted Lie symmetries do not necessarily depend on the parameter ε . Nevertheless, it is a typical experience that some symmetries admitted by the unperturbed equation
Δ x , u , u ( r ) ; 0 = 0
may disappear. Limiting ourselves to solutions in the form
u ( x ; ε ) = k = 0 p ε k u ( k ) ( x ) + O ( ε p + 1 ) ,
the differential equation writes as
Δ k = 0 p ε k Δ ˜ ( k ) x , u ( 0 ) , u ( 0 ) ( r ) , , u ( k ) , u ( k ) ( r ) = 0 ,
where, once fixed the integer p, the notation f g stands for f = g + O ( ε p + 1 ) . Now, let us consider a Lie generator
Ξ = i = 1 n ξ i ( x , u ; ε ) x i + α = 1 m η α ( x , u ; ε ) u α ,
and assume that the infinitesimals ξ i and η α depend on the small parameter ε and can be expanded in power series of ε around ε = 0 , whereupon, using (21), we have
ξ i k = 0 p ε k ξ ˜ ( k ) i , η α k = 0 p ε k η ˜ ( k ) α ,
where
ξ ˜ ( 0 ) i = ξ ( 0 ) i = ξ i ( x , u ( 0 ) , 0 ) , η ˜ ( 0 ) α = η ( 0 ) α = η α ( x , u ( 0 ) , 0 ) ξ ˜ ( k + 1 ) i = 1 k + 1 R [ ξ ˜ ( k ) i ] , η ˜ ( k + 1 ) α = 1 k + 1 R [ η ˜ ( k ) α ] ,
R being a linear recursion operator satisfying product rule of derivatives and such that
R | τ | f ( k ) ( x , u ( 0 ) ) u ( 0 ) 1 τ 1 u ( 0 ) m τ m = | τ | f ( k + 1 ) ( x , u ( 0 ) ) u ( 0 ) 1 τ 1 u ( 0 ) m τ m R | τ | f ( k ) ( x , u ( 0 ) ) u ( 0 ) 1 τ 1 u ( 0 ) m τ m + i = 1 m u ( 0 ) i | τ | f ( k ) ( x , u ( 0 ) ) u ( 0 ) 1 τ 1 u ( 0 ) m τ m u ( 1 ) i , R [ u ( k ) j ] = ( k + 1 ) u ( k + 1 ) j ,
where k 0 , j = 1 , , m , | τ | = τ 1 + + τ m .
Thence, we have an approximate Lie generator
Ξ k = 0 p ε k Ξ ˜ ( k ) ,
where
Ξ ˜ ( k ) = i = 1 n ξ ˜ ( k ) i ( x , u ( 0 ) , , u ( k ) ) x i + α = 1 m η ˜ ( k ) α ( x , u ( 0 ) , , u ( k ) ) u α .
In order to find the approximate generators admitted by a differential equation, it is necessary to prolong the Lie generator to manage the transformation of derivatives. This is done naturally by imposing the derivatives to be transformed in such a way the contact conditions are preserved; the only required trick is that the prolongations must be computed taking into account the expansions of ξ i , η α and u α , and dropping the O ( ε p + 1 ) terms.
Example 1.
Let p = 1 , and consider the approximate Lie generator
Ξ i = 1 n ξ ( 0 ) i + ε ξ ( 1 ) i + β = 1 m ξ ( 0 ) i u ( 0 ) β u ( 1 ) β x i + α = 1 m η ( 0 ) α + ε η ( 1 ) α + β = 1 m η ( 0 ) α u ( 0 ) β u ( 1 ) β u α ,
where ξ ( 0 ) i , ξ ( 1 ) i , η ( 0 ) α and η ( 1 ) α depend on ( x , u ( 0 ) ) . The first order prolongation is
Ξ ( 1 ) Ξ + α = 1 m i = 1 n η [ α , i ] u α , i ,
where
η [ α , i ] = D ^ D ^ x i η ( 0 ) α + ε η ( 1 ) α + β = 1 m η ( 0 ) α u ( 0 ) β u ( 1 ) β j = 1 n D ^ D ^ x i ξ ( 0 ) j + ε ξ ( 1 ) j + β = 1 m ξ ( 0 ) j u ( 0 ) β u ( 1 ) β u ( 0 ) α , j + ε u ( 1 ) α , j ,
along with the Lie derivative
D ^ D ^ x i = x i + k = 0 p α = 1 m u ( k ) α , i u ( k ) α + j = 1 n u ( k ) α , i j u ( k ) α , j + .
Similar reasonings lead to higher order prolongations.
The approximate (at the order p) invariance condition of a differential equation reads
Ξ ( r ) Δ Δ = O ( ε p + 1 ) = O ( ε p + 1 ) .
Some simple consequences can be immediately proved [60]. The Lie generator Ξ ˜ ( 0 ) is always a symmetry admitted by the unperturbed equation, and the terms k = 1 p ε k Ξ ˜ ( k ) represent the deformation of the symmetry because of the terms involving ε . Nevertheless, not all symmetries of the unperturbed equations are admitted as the zeroth terms of approximate symmetries (those admitted are called stable symmetries [57]). Moreover, if Ξ is the generator of an approximate Lie symmetry, then ε Ξ is a generator of an approximate Lie point symmetry too.
By introducing an approximate Lie bracket [57,58], it can be proved that the approximate Lie point symmetries of a differential equation are the elements of an approximate Lie algebra (see also [60]).
Of course, if one considers differential equations containing small terms, it is possible to construct approximate conditional symmetries [113,114], the only difference with respect to exact symmetries being the structure of Lie generator which follows the approach described above. In analogy with the exact case, for p-th order approximate conditional symmetries we have n different cases according to the choices
ξ ˜ ( 0 ) j = ξ ˜ ( 1 ) j = = ξ ˜ ( p ) j = 0 for 1 j < i n , ξ ˜ ( 0 ) i = 1 , ξ ˜ ( 1 ) i = = ξ ˜ ( p ) i = 0 .
We may also consider approximate contact transformations for scalar differential equations containing small terms by assuming the characteristic function Ω to depend on the small parameter ε . As an example, limiting to first order approximate contact symmetries, the expansion for Ω reads
Ω = Ω 0 x , u ( 0 ) , u ( 0 ) , i + ε Ω 1 x , u ( 0 ) , u ( 0 ) , i + Ω 0 u ( 0 ) u ( 1 ) + i = 1 n Ω 0 u ( 0 ) , i u ( 1 ) , i .
Finally, also approximate variational symmetries for Lagrangians containing small terms can be defined.

2.6. Equivalence Transformations

There are situations where the differential equations at hand contain unspecified functions (arbitrary elements); therefore, it is convenient to consider a class E ( p ) of differential equations involving a vector p of arbitrary continuously differentiable functions p k ( k = 1 , , ) that can depend on some variables.
Let us consider a class of differential equations
Δ x , u , u ( r ) ; p , p ( s ) = 0 ,
whose elements are given once we fix the functions p k , where p ( s ) , denotes the set of all derivatives up to the order s of the p ’s with respect to their arguments; these arguments may be the independent variables, the dependent ones, and also the derivatives of the latter with respect to the former up to a fixed order q: Let us denote the arguments of the arbitrary elements p as z ( z 1 , , z N ) .
In such a framework, it is possible to consider equivalence transformations, i.e., transformations that may change the form of the arbitrary parameters but preserve the differential structure of the equations  [3,50,51,52,53,54,55].
By generalizing Lie groups of point transformations, equivalence transformations [3] of a family E ( p ) of differential equations may be expressed as
x = X ( x , u , p ; a ) = x + a ξ ( x , u , p ) + O ( a 2 ) , u = U ( x , u , p ; a ) x + a η ( x , u , p ) + O ( a 2 ) , p = P ( x , u , p ; a ) p + a μ ( x , u , p ) + O ( a 2 ) ,
a being the parameter; they are locally C diffeomorphisms mapping a class E ( p ) of differential equations into itself.
A common assumption consists in considering the transformations (36) where ξ and η are assumed independent of the arbitrary elements p .
By introducing an augmented space A [3,50], where the independent variables, the dependent variables and the arbitrary functions live, respectively, the generator of the equivalence transformation,
Ξ = i = 1 n ξ i ( x , u ) x i + α = 1 m η α ( x , u ) u α + j = 1 μ j ( x , u , p ) p j ,
involves also the infinitesimals μ j ( x , u , p ) accounting for the arbitrary functions p j .
The first prolongation of Ξ writes as
Ξ ( 1 ) = Ξ + α = 1 m i = 1 n η [ α , i ] u α , i + j = 1 β = 1 N μ [ j , β ] p j , β ,
with
η [ α , i ] = D η α D x i j = 1 n u α , j D ξ j D x i , μ [ j , β ] = D ˜ μ j D ˜ z β γ = 1 N p j , γ D ˜ ζ γ D ˜ z β ,
where p j , γ = p j z γ and ζ γ is the infinitesimal generator of z γ , along with the Lie derivatives D D x i already defined in (4) and
D ˜ D ˜ z β = z β + k = 1 p k , β p k .
Higher order prolongations are immediately obtained by recursion,
Ξ ( k ) = Ξ ( k 1 ) + α = 1 m i 1 = 1 n i 2 = i 1 n i k = i k 1 n η [ α , i 1 i k ] u α , i 1 i k + j = 1 β 1 = 1 N β 2 = β 1 N β k = β k 1 N μ [ j , β 1 β k ] p j , β 1 β k ,
where
μ [ j , β 1 β k ] = D ˜ μ [ j , β 1 β k 1 ] D ˜ z β k γ = 1 N p j , γ β 1 β k 1 D ˜ ζ γ D ˜ z β k .
As proposed by Ovsiannikov [3], the search for continuous equivalence transformations can be exploited by using the Lie’s infinitesimal criterion, i.e., imposing the condition
Ξ ( max ( r , q + s ) ) Δ Δ = 0 = 0 .
When the infinitesimals ξ i and η α are assumed to be independent of p , it is possible to project the symmetries on the space Z X × U of the independent and dependent variables, so obtaining a transformation changing an element of the class of differential equations to another element in the same class (see [115,116,117] for some applications of these ideas).
If some arbitrary elements do not depend upon some variables, the differential equations at hand have to be supplemented with auxiliary conditions. For instance, the auxiliary conditions for the equivalence transformations of the class of differential equations  [52]
2 u t 2 f x , u x 2 u x 2 g x , u x = 0 ,
where f and g are unspecified functions of their arguments, are:
f t = f u = f ( u / t ) = g t = g u = g ( u / t ) = 0 .
More in general, taking the transformations of the independent and dependent variables as functions of the arbitrary elements p too [118], in the expression of prolongation we have to replace the Lie derivative D D x i with
D D x i = x i + α = 1 m u α , i u α + j = 1 n u α , i j u α , j + + k = 1 p k x i + β = n + 1 N p k z β z β x i p k .

2.7. Lie Remarkable Equations

In [119], within the framework of inverse Lie problem, strongly and weakly Lie remarkable differential equations have been defined; relevant examples of such equations have been studied in [120,121,122]. Their analysis involves the study of the rank of the distribution of prolongations of a Lie algebra of generators.

3. The Program ReLie

The application of Lie group theory (together with its generalizations) to differential equations usually involves a lot of lengthy and cumbersome computations, so that the implementation of the algorithms in a CAS is highly desired [10,12,73,74,75,76,77,78,79,80,81,82,83,84,85,86].
In this Section, we illustrate the use of the Reduce  [87] package ReLie by considering illustrative examples; though some of them are simple, we underline that more complex applications can be efficiently faced as well. The package ReLie is a collection of (algebraic) procedures allowing the user to investigate ordinary and partial differential equations within the framework of Lie symmetry analysis. By using the program, it is possible to compute almost automatically: Lie point symmetries, conditional symmetries, contact symmetries, variational symmetries (all these symmetries may be either exact or approximate) of differential equations, and equivalence transformations for classes of differential equations containing arbitrary elements. Moreover, the program implements functions for computing Lie brackets, the commutator table of a list of Lie generators, and the distribution of an algebra of Lie symmetries (useful in the context of inverse Lie problem [119,120,121,122]). Remarkably, the program can be used interactively in all the cases where the determining equations are not automatically solved (for instance, when one looks for conditional symmetries or in some group classification problems).
After entering Reduce, assuming that we are in the directory containing the source file relie.red, the set of routines implemented in the package ReLie becomes available after the statement
in ``relie.red’’ $
The loading of ReLie is successful if the following output is displayed:
ReLie, version 3.0
A Reduce program for Lie group analysis of differential equations
(c) Francesco Oliveri ([email protected]) - 2021
Last update 9 August 2021
Alternatively, one may include the package in the Reduce image by issuing in a Reduce session the statements
faslout ’relie $
in ``relie.red’’ $
faslend $
If all works, ReLie is loaded through the command
load_package relie $
According to the task we are interested to, some input data have to be provided to the program. The minimal required set of data is given by a positive integer value for the global variable jetorder (the maximum order of prolongation of the Lie generator), the list xvar of the independent variables, and the list uvar of the dependent variables.
Example 2.
The assignments
jetorder:=2 $
xvar:={t,x} $
uvar:={u} $
refer to a second order partial differential equation for the unknown u ( t , x ) .
The number of independent as well as dependent variables is arbitrary; moreover, the identifiers of independent and dependent variables are arbitrary provided that no conflict arises with reserved words of Reduce or identifiers used by ReLie (see Section 4 for a list of internal global variables used by ReLie). The value of jetorder is not bounded by ReLie.
The first function one has to call is relieinit(), that defines and initializes all the needed objects required to perform Lie group analysis. It checks the input and possibly displays some warnings. If only jetorder, xvar and uvar have been assigned, then calling relieinit() produces the output:
The list ’diffeqs’ of differential equation(s) is missing!
The list ’leadders’ of leading derivative(s) is missing!
Check ’diffeqs’ and/or ’leadders’!
You may only call relieprol() or generatealgebra(k) (k = 1,2,3).
In fact, we did not define the list diffeqs of differential equations and the list leadders of leading derivatives (or the list lagrangian for variational symmetries). Nevertheless, we can compute the jetorder-th prolongation of the vector field generating a Lie group of point transformation. The infinitesimal generators of the independent and dependent variables are automatically defined by the program (therefore, the user is not requested to set them), and stored in the list allinfinitesimals. The infinitesimals of the independent variables are denoted by xi_ followed by the identifiers in xvar; analogously, the infinitesimals of the dependent variables are denoted by eta_ followed by the identifiers in uvar. According to the Example 2, the list allinfinitesimals is a list of two elements, each element being in this case the list {xi_t, xi_x, eta_u} (this redundancy is used in order to have a unified representation for dealing also with other kinds of symmetries, see below). The dependence of the elements in allinfinitesimals upon the independent and dependent variables (the elements in xvar and uvar, respectively) are automatically set by ReLie.
By calling the ReLie function relieprol(), as a result we get the list prolongation. This list has two elements: The first one is a list containing the coordinates of the jet space, the second one the list of the corresponding infinitesimal generators. Thus, the  second element of prolongation contains the components of the prolonged vector field up to jetorder-th order.
ReLie internally represents the derivatives of the dependent variables upon the independent variables by appending to the identifiers of the dependent variable the underscore _ followed by the identifiers of the involved independent variables. For mixed derivatives the order of the independent variables in the internal representation of derivatives reflects the order in the list xvar. For instance, if xvar is {t,x} and uvar is {u}, the left-hand side of the equation (Benjamin–Bono–Mahoney equation)
u t + u x + u u x 3 u x 2 t = 0
has to be represented as
u_t + u_x + u*u_x - u_txx.

3.1. Computing Lie Point Symmetries of Differential Equations

To compute the Lie point symmetries admitted by differential equations, in addition to jetorder, xvar and uvar, we have to provide:
  • the list diffeqs of the left-hand sides of the differential equations to be studied which are assumed with zero right-hand sides;
  • the list leadders of some derivatives appearing in the differential equations: When computing the invariance conditions, the elements in the list leadders are removed by solving the differential equations with respect to them.
Both lists, diffeqs and leadders, need to have the same length, otherwise a warning is displayed; moreover, the differential equations must be solvable with respect to the leading derivatives. The user should be careful in the choice of leadders, especially in the case of systems of differential equations, in order to guarantee that the differential equations stored in the list diffeqs can be solved with respect to the elements in leadders.
Example 3.
Once ReLie has been loaded, the statements
jetorder:=3 $
xvar:={x} $
uvar:={u} $
diffeqs:={u_xxx+u*u_xx/2} $
leadders:={u_xxx} $
relieinit() $
relieinv() $
reliedet() $
reliesolve() $
allow to compute the Lie point symmetries of Blasius equation [123]
d 3 u d x 3 + 1 2 u d 2 u d x 2 = 0 .
The call to the functionrelieinit()initializes the needed objects, then the call to the functionrelieinv()provides the invariance condition of the differential equation defined indiffeqs; in other terms, the jetorder-th prolongation of the vector field of the Lie group is applied to the differential equation and the equation itself is used to eliminate d 3 u d x 3 . As a result, the listinvcondis provided:
invcond ->
   {6*df(eta_u,u,x,2)*u_x + 2*df(eta_u,u,x)*u*u_x
    + 6*df(eta_u,u,x)*u_xx + 2*df(eta_u,u,3)*u_x**3
    + 6*df(eta_u,u,2,x)*u_x**2 + df(eta_u,u,2)*u*u_x**2
    + 6*df(eta_u,u,2)*u_x*u_xx + 2*df(eta_u,x,3) + df(eta_u,x,2)*u
    - 6*df(xi_x,u,x2)*u_x**2 - 2*df(xi_x,u,x)*u*u_x**2
    - 18*df(xi_x,u,x)*u_x*u_xx - 2*df(xi_x,u,3)*u_x**4
    - 6*df(xi_x,u,2,x)*u_x**3 - df(xi_x,u,2)*u*u_x**3
    - 12*df(xi_x,u,2)*u_x**2*u_xx + df(xi_x,u)*u*u_x*u_xx
    - 6*df(xi_x,u)*u_xx**2 - 2*df(xi_x,x,3)*u_x
    - df(xi_x,x,2)*u*u_x - 6*df(xi_x,x,2)*u_xx
    + df(xi_x,x)*u*u_xx + eta_u*u_xx)}
Since we have a scalar ordinary differential equation, the listinvcondcontains just one element, which is a polynomial in the variablesu_xandu_xx. Invoking the functionreliedet(), one gets the listdeteqsof the coefficients of such (list of) polynomial(s); thus, we have the determining equations, i.e.,  a system of linear partial differential equations for the infinitesimalsxi_xandeta_u:
deteqs ->
   {2*df(eta_u,x,3) + df(eta_u,x,2)*u,
    6*df(eta_u,u,x) - 6*df(xi_x,x,2) + df(xi_x,x)*u + eta_u,
    - 6*df(xi_x,u),
    6*df(eta_u,u,x,2) + 2*df(eta_u,u,x)*u - 2*df(xi_x,x,3)
    - df(xi_x,x,2)*u,
    6*df(eta_u,u,2) - 18*df(xi_x,u,x) + df(xi_x,u)*u,
    6*df(eta_u,u,2,x) + df(eta_u,u,2)*u - 6*df(xi_x,u,x,2)
    - 2*df(xi_x,u,x)*u,
    - 12*df(xi_x,u,2),
    2*df(eta_u,u,3) - 6*df(xi_x,u,2,x) - df(xi_x,u,2)*u,
    - 2*df(xi_x,u,3)}
We may automatically solve this set of determining equations by calling the functionreliesolve(), and the result turns out to be contained in the listsymmetries:
symmetries ->
{
 {
  {},
  {eta_u= - k_1*u,
   xi_x=k_1*x + k_2},
  {k_1,k_2},
  {}
 }
}
The functionreliesolve()uses the Reduce package CRACK by S. Wolf [80], specifically suitable to solve (overdetermined) systems of linear partial differential equations.
The listsymmetriescontains an element (when more than one solution set is possible for particular choices of the involved parameters this list has one element for each solution set, see later) which in turn is a list of four elements:
1. 
the first one is a list of conditions that are still unsolved (in this case the list is empty since no condition remains unsolved);
2. 
the second one is a list giving the solution to the determining equations, i.e., the expressions of the infinitesimals;
3. 
the third one is a list containing the parameters involved in the solution (in this casek_1andk_2);
4. 
the fourth one is a list of expressions which can not vanish (in this case the list is empty).
The parameters involved in the symmetries of Blasius equation are constant; symmetries of partial differential equations may involve arbitrary functions that ReLie denotes asf_1,f_2, …; we can check the variables such parameters depend on by passing the name of the function to the procedurefargs()(described in CRACK [80]).
Since the infinitesimals are solutions of linear homogeneous differential equations, they are linear combinations of fundamental solutions. We can compute these fundamental solutions through the use of the functionreliegen(). This function requires two arguments: An integer and a list. If reliesolve()returns only one solution this integer is 1; when more than one solution is available (this may occur in group classification problems or in the search of conditional symmetries), the integer selects the solution. The second argument is a list of values. If the length of this list corresponds to the number of arbitrary (constant) parameters involved in the chosen symmetries, then a list of vector fields (generators) is returned where the i-th parameter involved in the symmetries is replaced by the i-th element in the list and the other parameters are replaced by 0; otherwise, the i-th parameter is replaced by 1 and the other parameters are replaced by 0. For instance, invokingreliegen(1,{})(the same results could be obtained by writing alsoreliegen(1,{1,1}), but the first form is clearly simpler):
generators ->
{
 {x, -u},
 {1,0}
}
splitsymmetries ->
{
 {xi_x=x, eta_u=-u},
 {xi_x=1, eta_u=0}
}
 
We have the listgeneratorswhere each element is the list of the components of the vector field generating a symmetry (the components of the infinitesimals of the independent and dependent variables), and the listsplitsymmetrieswhose elements are the expressions of the infinitesimals; the vector fields here characterize a scaling and a translation of the independent variable, respectively:
Ξ 1 = x x u u , Ξ 2 = x .
Remark 1.
By callingreliegen(1,{-1}), the listsgeneratorsandsplitsymmetriescontain only one element representing the components of the infinitesimals in their general form, i.e., the linear combinations of all admitted generators. For Blasius equation, the callreliegen(1,{-1})provides
generators ->
{
 {k_1*x + k_2,- k_1*u}
}
splitsymmetries ->
{
 {xi_x=k_1*x + k_2, eta_u=-k_1*u}
}
Remark 2.
Notice thatreliegen(), unless its second parameter is{-1}, returns the generators of a finite–dimensional Lie algebra even when the admitted symmetries are infinite–dimensional!
In the above example, we detailed all the steps leading to the computation of the point symmetries of a differential equation. Nevertheless, we have a general function, called relie(), requiring an integer argument:
  • relie(1) is equivalent to calling relieinit();
  • relie(2) is equivalent to calling in sequence relieinit() and relieinv();
  • relie(3) is equivalent to calling in sequence relieinit(), relieinv() and reliedet();
  • relie(4) is equivalent to calling in sequence relieinit(), relieinv(), reliedet() and reliesolve().
Example 4.
After loading ReLie, the statements
jetorder:=2 $
xvar:={t,x} $
uvar:={u} $
diffeqs:={u_t-u_xx} $
leadders:={u_t} $
relie(4) $
allow one to easily compute the Lie point symmetries of the linear heat equation
u t 2 u x 2 = 0 .
The output produced by ReLie is
symmetries ->
{
 {
  {df(f_1,t)-df(f_1,x,2)},
  {
   eta_u=(-8*f_1+2*k_1*u*x+2*k_4*t*u+k_4*u*x**2+2*k_6*u)/8,
   xi_x=(-k_1*t-k_2-k_3*x-k_4*t*x)/2,
   xi_t=(-2*k_3*t-k_4*t**2-2*k_5)/2
  },
  {f_1, k_1, k_2, k_3, k_4, k_5, k_6},
  {}
 }
}
The infinitesimals of the point symmetries of the heat equation involve 7 parameters. The parameterf_1is a function, whereas the other parameters are constant. By callingfargs(f_1), we have as a result{t,x}, denoting that the functionf_1is a function of t and x; moreover, this function satisfies the heat equation (the first element of the listsymmetries). The symmetry corresponding to this parameter is responsible for the linear superposition principle of the solutions (typical of linear equations).
Calling the functionreliegen(1,{-2,-2,-2,-2,-1,4}), the result is the listgeneratorsof vector fields of the finite subalgebra of the Lie algebra of symmetries of linear heat equation:
generators ->
{
 {0,t,( - u*x)/2},
 {0,1,0},
 {2*t,x,0},
 {t**2,t*x,(u*( - 2*t - x**2))/4},
 {1,0,0},
 {0,0,u}
}
We can reorder the vector fields ingeneratorsby using the functionnewordering()
generators:=newordering(generators,{5,2,6,3,1,4}) $
so obtaining
generators ->
{
  {1,0,0},
  {0,1,0},
  {0,0, u}
  {2*t,x,0},
  {0, t,-u*x/2},
  {(t**2, t*x,u*(-2*t - x**2)/4},
}
i.e.,
Ξ 1 = t , Ξ 2 = x , Ξ 3 = u u , Ξ 4 = 2 t t + x x , Ξ 5 = t x x u 2 u , Ξ 6 = t 2 t + x t x u ( 2 t + x 2 ) 4 u ,
spanning a 6-dimensional Lie algebra. The symmetry corresponding to the functionf_1,
Ξ f = f ( t , x ) u with f t 2 f x 2 = 0 ,
renders the algebra of symmetries of linear heat equation infinite-dimensional.
The function reliedet() assumes that the invariance conditions are polynomials in the derivatives; this is true if all derivatives appear polynomially in the differential equations at hand. In the case where the differential equations we are investigating contain some derivatives not in polynomial form, ReLie constructs correctly the determining equations if we inform the program about the derivatives not occurring in polynomial form. These derivatives have to be the elements of the list nonpolyders.
Example 5
(Differential equations not polynomial in some derivatives).
The following code allows the user to compute the Lie symmetries of the equation
2 u t x + exp u x u = 0 .
jetorder:=2 $
xvar:={t,x} $
uvar:={u} $
diffeqs:={u_tx+exp(u_x)-u} $
leadders:={u_tx} $
nonpolyders:={u_x} $
relie(4) $
Remark 3.
The use of ReLie is not limited to simple cases. For instance, consider the Navier-Stokes-Fourier equations of a gas in a rotating (with constant angular velocity ω along the vertical axis) frame reference and subject to gravity,
ρ t + k = 1 3 ( ρ v k ) x k = 0 , ( ρ v i ) t + k = 1 3 x k ρ v i v k 2 α K m T 1 2 v i x k + v k x i 1 3 v r x r δ i k + ρ K m T δ i k = ρ F i , i = 1 , 2 , 3 , ( ρ T ) t + x k ρ T v k 5 2 α K m T T x k + j , k = 1 3 2 3 ρ T δ j k 4 3 α T 1 2 v j x k + v k x j = 1 3 1 3 v x δ j k v j x k = 0 ,
where ρ is the mass density, v ( v 1 , v 2 , v 3 ) the velocity, T the temperature, F i the i-th component of the sum of external and inertial force,
F = ( ρ ( 2 ω v 2 + ω 2 x 1 ) , ρ ( 2 ω v 1 + ω 2 x 2 ) , ρ g ) ,
g the gravitational acceleration, K the Boltzmann constant, m the mass of a single particle, and the coefficient α is an appropriate constant which describes the interaction between the Maxwellian molecules. The computation of the Lie symmetries [124], spanning a 12th dimensional Lie algebra, is done automatically in few seconds by means of ReLie.

3.1.1. An Example of Group Classification

ReLie is able to face the problem of group classification of differential equations. In fact, in certain cases it may be interesting to check if special instances of arbitrary constants and/or functions involved in the differential equations lead to different sets of Lie symmetries. This problem is faced by including the parameters we want to check in the list freepars, as illustrated by the following example. Moreover, we may define the list nonzeropars containing parameters (constants or functions involved in the differential equations) or expressions that can not be vanishing.
Example 6.
Consider the 3D Euler equations of ideal gas dynamics,
ρ t + k = 1 3 v k ρ x k + ρ k = 1 3 v k x k = 0 , ρ v i t + k = 1 3 v k v i x k + p x i = 0 , i = 1 , 2 , 3 , p t + k = 1 3 v k p x k + Γ p k = 1 3 v k x k = 0 ,
where ρ ( t , x ) is the mass density, v i ( t , x ) the components of velocity, p ( t , x ) the pressure, and Γ the adiabatic exponent. The following code performs the required task:
jetorder:=1 $
xvar:={t,x1,x2,x3} $
uvar:={rho,v1,v2,v3,p} $
freepars:={gamma} $
nonzeropars:={gamma} $
diffeqs:={rho_t+v1*rho_x1+v2*rho_x2+v3*rho_x3+rho*(v1_x1+v2_x2+v3_x3),
          rho*(v1_t+v1*v1_x1+v2*v1_x2+v3*v1_x3)+p_x1,
          rho*(v2_t+v1*v2_x1+v2*v2_x2+v3*v2_x3)+p_x2,
          rho*(v3_t+v1*v3_x1+v2*v3_x2+v3*v3_x3)+p_x3,
          p_t+v1*p_x1+v2*p_x2+v3*p_x3+gamma*p*(v1_x1+v2_x2+v3_x3)} $
leadders:={rho_t,v1_t,v2_t,v3_t,p_t} $
relie(4) $
As a result, we get
symmetries ->
{
 {
  {},
  {
   gamma=5/3,
   eta_p=5*k_10*p*t -k_14*p,
   eta_v3=k_10*t*v3-k_10*x3+k_12*v3+k_3*v2-k_5*v1-k_7-k_8*v3,
   eta_v2=-k_1+k_10*t*v2-k_10*x2+k_12*v2-k_2*v1-k_3*v3-k_8*v2,
   eta_v1=k_10*t*v1-k_10*x1-k_11+k_12*v1+k_2*v2+k_5*v3-k_8*v1,
   eta_rho=3*k_10*rho*t-2*k_12*rho-k_14*rho+2*k_8*rho,
   xi_x3=-k_10*t*x3+k_3*x2-k_5*x1-k_6-k_7*t-k_8*x3,
   xi_x2=-k_1*t-k_10*t*x2-k_2*x1-k_3*x3-k_4-k_8*x2,
   xi_x1=-k_10*t*x1-k_11*t+k_2*x2+k_5*x3-k_8*x1-k_9,
   xi_t=-k_10*t**2-k_12*t-k_13
  },
  {
   k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_10, k_11, k_12, k_13, k_14
  },
  {}
 },
 {
  {},
  {
   eta_p=-k_14*p,
   eta_v3=k_12*v3+k_3*v2-k_5*v1-k_7-k_8*v3,
   eta_v2=-k_1+k_12*v2-k_2*v1-k_3*v3-k_8*v2,
   eta_v1=-k_11+k_12*v1+k_2*v2+k_5*v3-k_8*v1,
   eta_rho=-2*k_12*rho-k_14*rho+2*k_8*rho,
   xi_x3=k_3*x2-k_5*x1-k_6-k_7*t-k_8*x3,
   xi_x2=-k_1*t-k_2*x1-k_3*x3-k_4-k_8*x2,
   xi_x1=-k_11*t+k_2*x2+k_5*x3-k_8*x1-k_9,
   xi_t=-k_12*t-k_13
  },
  {
    gamma, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_11, k_12, k_13, k_14
  },
  {
    gamma, 3*gamma - 5
  }
 }
}
In this case,symmetriesis a list of two elements since we have different solutions to the determining equations according to the value ofgamma(included in the listfreepars). Looking at the results provided by ReLie, the first solution set refers to Γ = 5 / 3 , the second one to a value of Γ different from 0 and 5 / 3 . By calling
reliegen(2,{-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1}) $
generators:=newordering(generators,{12,9,4,6,2,5,3,10,1,7,11,8,13}) $
we obtain the following result
generators ->
{
 {1,0,0,0,0,0,0,0,0},
 {0,1,0,0,0,0,0,0,0},
 {0,0,1,0,0,0,0,0,0},
 {0,0,0,1,0,0,0,0,0},
 {0,x2, - x1,0,0,v2, - v1,0,0},
 {0,x3,0, - x1,0,v3,0, - v1,0},
 {0,0,x3, - x2,0,0,v3, - v2,0},
 {0,t,0,0,0,1,0,0,0},
 {0,0,t,0,0,0,1,0,0},
 {0,0,0,t,0,0,0,1,0},
 {t,0,0,0,2*rho,-v1,-v2,-v3,0},
 {0,x1,x2,x3,-2*rho,v1,v2,v3,0},
 {0,0,0,0,rho,0,0,0,p}
}
so that for Γ unspecified we have a 13-dimensional Lie algebra of point symmetries spanned by
Ξ 1 = t , Ξ 1 + k = x k , Ξ 4 + k = t x k + v k , k = 1 , 2 , 3 , Ξ 5 + i + j = x j x i x i x j + v j v i v i v j , 1 i < j 3 , Ξ 11 = t t + 2 ρ ρ k = 1 3 v k v k , Ξ 12 = k = 1 3 x k x k + v k v k 2 ρ ρ , Ξ 13 = ρ ρ + p p .
Calling
reliegen(1,{-1,1,-1,-1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1}) $
generators:=newordering(generators,{13,9,4,6,2,5,3,11,1,7,12,8,14,10}) $
we have that for Γ = 5 / 3 there is a fourteenth symmetry generated by
Ξ 14 = t 2 t + k = 1 3 x k t x k + ( x k v k t ) v k 3 ρ t ρ 5 p t p .
Remark 4.
The differential equations can contain arbitrary functions (in this case we need to declare in Reduce the variables these functions depend on), and they can be elements of the listfreeparsand/ornonzeropars.
For instance, if we want to classify the symmetries admitted by the Korteweg–deVries equation with variable coefficients [125]
u t + u u x + 3 u x 3 + f ( t ) u = 0 ,
where f ( t ) is an unspecified function of time, the needed code is the following one:
jetorder:=3 $
xvar:={t,x} $
uvar:={u} $
depend f,t $
freepars:={f} $
diffeqs:={u_t+u*u_x+u_xxx+f*u} $
leadders:={u_t} $
relie(4) $

3.1.2. Commutator Table

ReLie is able to compute the commutator table of a set of infinitesimal generators spanning a Lie algebra. Let us illustrate how to do with an example.
Example 7.
Consider the Burgers’ equation
u t + u u x 2 u x 2 = 0 .
To compute its Lie symmetries, we provide to ReLie the following input:
jetorder:=2 $
xvar:={t,x} $
uvar:={u} $
diffeqs:={u_t+u*u_x-u_xx} $
leadders:={u_t} $
relie(4) $
We get quickly the output
symmetries ->
{
 {
  {},
  {
   {0, - k_1*t, - k_1},
   {0, - k_2,0},
   { - k_3*t,( - k_3*x)/2,(k_3*u)/2},
   {( - k_4*t**2)/2,( - k_4*t*x)/2,(k_4*(t*u - x))/2},
   { - k_5,0,0}
  },
  {}
 }
}
Therefore, we have a 5-dimensional Lie algebra of point symmetries. After extracting and reordering the components of the infinitesimal generators,
reliegen(1,{-1,-1,-2,-2,-1}) $
generators:=newordering(generators,{5,2,1,3,4}) $
we have
generators ->
  {
   {1, 0, 0},
   {0, 1,0},
   {0, t, 1},
   {2*t, x, -u},
   {t**2, t*x, -t*u + x)}
  }
that is a 5-dimensional Lie algebra spanned by
Ξ 1 = t , Ξ 2 = x , Ξ 3 = t x + u , Ξ 4 = 2 t t + x x u u , Ξ 5 = t 2 t + x t x + ( x t u ) u .
The commutator table of the generators (45) is obtained by calling
commutatortable(generators);
that produces the output
commtable ->
{
 {0, 0, -vf_1, -vf_5, 0},
 { 0, 0, -2*vf_2, -vf_3, -vf_1},
 {vf_1, 2*vf_2, 0, -2*vf_4, -vf_5},
 {vf_5, vf_3, 2*vf_4, 0, 0},
 {0, vf_1, vf_5, 0, 0}
}
where the five elements of the listgeneratorshave been referred to asvf_1,vf_2,vf_3,vf_4,vf_5, respectively.

3.2. Computation of Conditional Symmetries

Conditional symmetries are computed by using the same functions as above; we only need to assign a non-zero value (in the range between 1 and the number of independent variables) to the variable nonclassical and define the list qcond (a list of distinct integers chosen in the range from 1 to the number of dependent variables). Suppose that xvar:={x1,x2,x3} and uvar:={u,v}. The components of the Lie generator of the conditional symmetries are
  • {1, xi_x2, xi_x3, eta_u, eta_v} if nonclassical = 1;
  • {0, 1, xi_x3, eta_u, eta_v} if nonclassical = 2;
  • {0, 0, 1, eta_u, eta_v} if nonclassical = 3.
The list qcond tells to the program which invariant surface conditions have to be used to restrict the solution manifold:
  • qcond:={1,2} if the invariant surface conditions of both dependent variables have to be used;
  • qcond:={1} if the invariant surface condition of the first dependent variable has to be used;
  • qcond:={2} if the invariant surface condition of the second dependent variable has to be used.
Looking for conditional symmetries leads to nonlinear determining equations, whereupon it is not unusual that reliesolve() may fail to recover the solution. In such cases, it is necessary to make some special assumptions on the infinitesimals and/or try to solve interactively the determining equations.
Example 8.
Nonclassical symmetries of linear heat equation
The code
jetorder:=2 $
xvar:={t,x} $
uvar:={u} $
nonclassical:=1 $
qcond:={1} $
diffeqs:={u_t-u_xx} $
leadders:={u_xx} $
relie(4) $
immediately computes the conditional symmetries, corresponding to the operator
Ξ = t + ξ ( t , x , u ) x + η ( t , x , u ) u ,
of the linear heat equation
u t 2 u x 2 = 0 .
As a result, we get
symmetries ->
{
 {
  {df(f_1,t) - df(f_1,x,2) - 2*df(f_2,x,2)*f_1,
   2*df(f_2,t,x,2) + 2*df(f_2,t,x)*df(f_2,x) - df(f_2,t,2)
     + 2*df(f_2,t)*df(f_2,x,2) - df(f_2,x,4)
     - 2*df(f_2,x,3)*df(f_2,x) - 4*df(f_2,x,2)**2
     - 2*df(f_2,x,2)*df(f_2,x)**2
  },
  {
   eta_u=(df(f_2,t)*u-df(f_2,x,2)*u-df(f_2,x)**2*u-2*f_1)/2,
   xi_x= - df(f_2,x)
  },
  {
   f_1,f_2
  },
  {}
 }
}
Therefore, we have:
ξ = f 2 x , η = f 1 + 1 2 f 2 t 2 f 2 x 2 f 2 x 2 u ,
where f 1 ( t , x ) and f 2 ( t , x ) satisfy the differential equations
f 1 t 2 f 1 x 2 2 f 1 2 f 2 x 2 = 0 , 2 3 f 2 t x 2 + 2 2 f 2 t x f 2 x 2 f 2 t 2 + 2 f 2 t 2 f 2 x 2 4 f 2 x 4 2 f 2 x 3 f 2 x 3 + 4 2 f 2 x 2 2 2 f 2 x 2 2 f 2 x 2 = 0 .
Remark 5.
When computing conditional symmetries we have to be careful in the choice ofleadders, since also the invariant surface conditions and their differential consequences are solved with respect to some derivatives.

3.3. Computation of Contact Symmetries

For computing contact symmetries of a scalar differential equation we need to assign the value 1 to the variable contact. The functions that we have to call do not change, as the following example shows.
Example 9.
Let us compute the contact symmetries of the ordinary differential equation
d 3 u d x 3 = 0 .
The code is as follows.
jetorder:=3 $
xvar:={x} $
uvar:={u} $
contact:=1 $
diffeqs:={u_xxx} $
leadders:={u_xxx} $
relie(4) $
As a result we get:
symmetries ->
{
 {
  {},
  {omega=(-2*k_1*x**2-4*k_10*u_x-4*k_2*x-4*k_3*u-4*k_4+4*k_5*u*u_x
    -2*k_5*u_x**2*x-4*k_6*u**2+4*k_6*u*u_x*x-k_6*u_x**2*x**2
     -2*k_7*u_x**2-4*k_8*u_x*x+4*k_9*u*x-2*k_9*u_x*x**2)/4},
  {k_1,k_2,k_3,k_4,k_5,k_6,k_7,k_8,k_9,k_10},
  {}
 }
}
i.e., the expression of the characteristic function Ω ( x , u , d u / d x ) involves 10 arbitrary constants. A basis of the 10-dimensional Lie algebra of contact symmetries is obtained by invoking
reliegen(1,{-1,-1,-1,-1,-1,-1,1,1,1,1}) $
providing
generators ->
{
 {0, x**2/2, x},
 {0, x, 1},
 {0, u, u_x},
 {0, 1, 0},
 {u - u_x*x, ( - u_x**2*x)/2, ( - u_x**2)/2},
 {(x*(2*u - u_x*x))/2, (4*u**2 - u_x**2*x**2)/4, (u_x*(2*u - u_x*x))/2},
 {u_x, u_x**2/2, 0},
 {x, 0, - u_x},
 {x**2/2, u*x, u},
 {1, 0, 0}
}
Note that only the fifth, sixth and seventh generators correspond to proper contact transformations; the remaining ones are prolongations of point symmetries.

3.4. Computation of Variational Symmetries and Associated Conservation Laws

For computing variational symmetries, besides assigning jetorder, xvar and uvar we need to assign the list lagrangian with only one element, and set to 1 the variable variational. The functions that we have to call do not change, as the following example shows.
Example 10.
The code
jetorder:=1 $
variational:=1 $
xvar:={t} $
uvar:={u} $
lagrangian:={t^2*u_t^2/2-t^2*u^6/6} $
relie(4) $
allows the user to compute the variational symmetries of the Lagrangian
L = t 2 2 d u d t 2 t 2 u 6 6 ,
corresponding to the Emden–Fowler equation
d 2 u d t 2 + 2 t d u d t + u 5 = 0 .
We get
 
symmetries ->
{
 {{},
 {phi_t=k_2/6, eta_u=(k_1*u)/2, xi_t= - k_1*t},
 {k_1,k_2},
 {}}
}
where, besides the expressions of the infinitesimal generators, we have also the function ϕ entering the definition of variational symmetries.
Callingreliegen(1,{}), we obtain the two lists
generators ->
{
 { - t, u/2}
}
and
cogenerators ->
{
 {0}
}
i.e., the (list of) Lie generator(s) of the variational symmetries and the (list of) function(s) entering the invariance condition of the Lagrangian action.
We have only a Lie generator, whereas the function ϕ can be taken without loss of generality equal to zero.
Finally, callingrelieclaw(1), we get
fluxes ->
{
 (t**2*(t*u**6 + 3*t*u_t**2 + 3*u*u_t))/6
}
i.e., the first integral
1 6 t 2 t u 6 + 3 t d u d t 2 + 3 u d u d t = constant .
Example 11.
(Klein–Gordon equation  (see [17])). The class of Klein–Gordon wave equations,
2 u t x + g ( u ) = 0
with a general nonlinear interaction term g ( u ) , can be derived from a variational principle given by requiring the stationarity of the action functional with Lagrangian
L = 1 2 u t u x + h ( u ) , h ( u ) = g ( u ) .
For an arbitrary g ( u ) , the generators of these symmetries are
Ξ 1 = t t x x , Ξ 2 = t , Ξ 3 = x ,
and it is straightforward to verify that they are variational symmetries of the action functional. Applying Noether’s theorem, the following conservation laws are easily derived:
D D t 1 2 u x 2 + D D x h ( u ) = 0 , D D t h ( u ) + x 1 2 u t 2 = 0 , D D t 1 2 x u x 2 t h ( u ) + D D x 1 2 t u t 2 + x h ( u ) = 0 .
The Reduce code for this computation is
jetorder:=1 $
xvar:={t,x} $
uvar:={u} $
depend h,u $
lagrangian:={-u_t*u_x/2+h} $
variational:=1 $
relie(4) $
reliegen(1,{-1,-1,-1}) $
The fluxes entering the conservation laws associated to the three Lie generators are obtained with the callsrelieclaw(1),relieclaw(2), and relieclaw(3), respectively.

3.5. Computation of Approximate Symmetries

Approximate Lie point symmetries of differential equations containing small terms are computed according to the approach described in [60]. The small parameter must be denoted by epsilon. In addition to the input data described before, the user has to define the integer approxorder for the order of approximation, and a rule, say let epsilon**(approxorder+1) = 0. The same functions providing the necessary computations for exact Lie point symmetries work in this case too.
Example 12.
The following code shows how to compute first order approximate symmetries of the Korteweg–deVries–Burgers equation
u t + u u x + 3 u x 3 ε 2 u x 2 = 0
jetorder:=3 $
approxorder:=1 $
let epsilon^2 = 0 $
xvar:={t,x} $
uvar:={u} $
diffeqs:={u_t+u*u_x+u_xxx-epsilon*u_xx} $
leadders:={u_t} $
relie(4) $
As a result, we get:
symmetries ->
{
 {
  {},
  {eta1_u=( - 3*k_4 + 2*k_6*u0)/3,
   eta0_u= - k_1,
   xi1_x=( - 3*k_4*t - 3*k_5 - k_6*x)/3,
   xi1_t= - k_6*t - k_7,
   xi0_x= - k_1*t - k_2,
   xi0_t= - k_3},
  {k_1,k_2,k_3,k_4,k_5,k_6,k_7},
  {}
 }
}
Invokingreliegen(1,{-1,-1,-1,-1,-1,-1,-1})provides
generators ->
{
  {0,t,1},
  {0,1,0},
  {1,0,0},
  {0,epsilon*t,epsilon},
  {0,epsilon,0},
  {epsilon*t,(epsilon*x)/3,( - 2*epsilon*u0)/3},
  {epsilon,0,0}
}
so that a basis of the approximate Lie algebra of symmetries of Equation (54) is (after a reordering)
Ξ 1 = t , Ξ 2 = x , Ξ 3 = t x + u , Ξ 4 = ε t t + x 3 x 2 3 u 0 u , Ξ 5 = ε t x + u = ε Ξ 3 , Ξ 6 = ε t = ε Ξ 1 , Ξ 7 = ε x = ε Ξ 2 .
Remark 6.
ReLie is able to expand automatically in power series of ε a differential equation or a Lagrangian involving small terms. The only case where the user is forced to expand in power series of ε up to the desired order of approximation some parts of the differential equation (or of the Lagrangian) is when these parts involve unspecified functions depending on the dependent variables and/or their derivatives. This can be illustrated by the following example of the computation of the first order approximate symmetries of the equation
2 u t 2 x f ( u ) u x + ε u t = 0 ,
where we have to write the code
depend f,u0 $
diffeqs:={u_tt-(f+epsilon*df(f,u0)*u1)*u_xx-(df(f,u0)
              +epsilon*df(f,u0,2)*u1)*u_x^2+epsilon*u_t} $
Of course, the user may insert a differential equation completely expanded in power series of ε, but this is not strictly required if no unspecified functions of dependent variables and/or their derivatives occur.
Finally, we notice that in order to compute approximate conditional, contact or variational symmetries the only difference with respect to the corresponding exact case consists in setting a positive value to approxorder and defining the rule
let epsilon^(approxorder+1) = 0 $

3.6. Computation of Equivalence Transformations

If we consider a class of differential equations, and want to determine equivalence transformations some more input data are necessary. In particular, in addition to the data already discussed for the computation of Lie point symmetries, we need to set:
  • the list arbelem of the arbitrary elements involved in the differential equations;
  • the integer arborder denoting the highest order of the derivatives of the arbitrary elements with respect to their arguments;
  • the integer zorder characterizing the variables the arbitrary elements depend on; for instance, if zorder is 0, then the arbitrary elements depend at most on the independent and dependent variables; if zorder is 1, then the arbitrary elements depend at most on the independent, dependent variables and first order derivatives, ….
If we want to remove the dependence of some arbitrary elements on some variables, we need to add auxiliary conditions to the differential equations at hand.
The infinitesimal generators of the arbitrary elements are automatically computed by the program (so the user is not requested to set them), and stored, together with the infinitesimals of independent and dependent variables in the list allinfinitesimals. The infinitesimal generator of an arbitrary element is denoted by mu_ followed by the name of the arbitrary element. Let us illustrate with two different examples how ReLie works in such a situation.
Example 13
([116]). Consider the class E ( p ) with p = ( p 1 , p 2 , p 3 , p 4 , p 5 , p 6 ) of systems
u 1 t + u 2 x + u 3 y = 0 , u 2 t + p 1 x + p 2 y p 5 = 0 , u 3 t + p 3 x + p 4 y p 6 = 0 ,
where t, x and y are the independent variables, u 1 , u 2 and u 3 the dependent variables, whereas p i p i ( t , x , y , u 1 , u 2 , u 3 ) ( i = 1 , , 6 ) stand for arbitrary continuously differentiable functions of the indicated arguments.
ReLie determines the equivalence transformations with the code
jetorder:=1 $
uvar:={u1,u2,u3} $
xvar:={t,x,y} $
arbelem:={p1,p2,p3,p4,p5,p6} $
arborder:=1 $
zorder:=0 $
diffeqs:={u1_t+u2_x+u3_y,
          u2_t+p1_x+p1_u1*u1_x+p1_u2*u2_x+p1_u3*u3_x
              +p2_y+p2_u1*u1_y+p2_u2*u2_y+p2_u3*u3_y-p5,
          u3_t+p3_x+p3_u1*u1_x+p3_u2*u2_x+p3_u3*u3_x
              +p4_y+p4_u1*u1_y+p4_u2*u2_y+p4_u3*u3_y-p6} $
leadders:={u1_t,u2_t,u3_t} $
relie(4) $
As a result we have the infinitesimals:
symmetries ->
{
 {
  {
   df(f_3,y)+df(f_6,t)+df(f_7,x)
  },
  {
   eta_u3=-df(f_1,t)*u1-df(f_1,x)*u2+df(f_10,t)*u3+df(f_2,x)*u3+f_3-k_1*u3,
   eta_u2=df(f_1,y)*u2+df(f_10,t)*u2-df(f_2,t)*u1-df(f_2,y)*u3+f_7-k_1*u2,
   eta_u1=df(f_1,y)*u1+df(f_2,x)*u1+f_6-k_1*u1,
   xi_y=-f_1,
   xi_x=-f_2,
   xi_t=-f_10,
   mu_p6=-2*df(f_1,t,x)*u2-2*df(f_1,t,y)*u3-df(f_1,t,2)*u1-df(f_1,x,y)*p2
         -df(f_1,x,y)*p3-df(f_1,x,2)*p1-df(f_1,x)*p5-df(f_1,y,2)*p4
         +df(f_10,t,2)*u3+2*df(f_10,t)*p6+df(f_2,x)*p6+df(f_3,t)
         +df(f_4,x)-df(f_5,y)-k_1*p6,
   mu_p5=df(f_1,y)*p5+df(f_10,t,2)*u2+2*df(f_10,t)*p5-2*df(f_2,t,x)*u2
         -2*df(f_2,t,y)*u3-df(f_2,t,2)*u1-df(f_2,x,y)*p2
         -df(f_2,x,y)*p3-df(f_2,x,2)*p1-df(f_2,y,2)*p4-df(f_2,y)*p6
         +df(f_7,t)+df(f_8,y)+df(f_9,x)-k_1*p5,
   mu_p4=-2*df(f_1,t)*u3-df(f_1,x)*p2-df(f_1,x)*p3-df(f_1,y)*p4
         +2*df(f_10,t)*p4+df(f_2,x)*p4-f_5-k_1*p4,
   mu_p3=-df(f_1,t)*u2-df(f_1,x)*p1+2*df(f_10,t)*p3-df(f_2,t)*u3
         -df(f_2,y)*p4+f_4-k_1*p3,
   mu_p2=-df(f_1,t)*u2-df(f_1,x)*p1+2*df(f_10,t)*p2-df(f_2,t)*u3
         -df(f_2,y)*p4+f_8-k_1*p2,
   mu_p1=df(f_1,y)*p1+2*df(f_10,t)*p1-2*df(f_2,t)*u2-df(f_2,x)*p1
         -df(f_2,y)*p2-df(f_2,y)*p3+f_9-k_1*p1
  },
  {
    f_1, f_2, f_3, f_4, f_5, f_6, f_7, f_8, f_9, f_10, k_1
  },
  {}
 }
}
wheref_1, …,f_10are functions of t , x , y , along with the constraint
f 6 t + f 3 x + f 7 y = 0 .
Example 14.
The equivalence transformations of the equation
2 u t 2 f x , u x 2 u x 2 g x , u x = 0
are immediately found in ReLie with the following code:
jetorder:=2 $
xvar:={t,x} $
uvar:={u} $
zorder:=1 $
arborder:=1 $
arbelem:={f,g} $
diffeqs:={u_tt-f*u_xx-g, f_t, g_t, f_u, g_u, f_u_t, g_u_t} $
leadders:={u_tt, f_t, g_t, f_u, g_u, f_u_t, g_u_t} $
relie(4) $
Notice that we have added indiffeqsthe auxiliary conditions; the variablezorderhas been set to 1 since the functions f and g depend on first order derivatives; moreover, the variablearborderis set to 1 since in the auxiliary conditions the derivatives of f and g with respect to some of their arguments occur.
As a result we obtain:
symmetries ->
{
 {
  {},
  {eta_u=(2*f_1-2*k_1*u-k_6*t**2-2*k_7*t-2*k_8)/2,
   xi_x= -k_4*x-k_5,
   xi_t=-k_2*t-k_3,
   mu_g=-df(f_1,x,2)*f-g*k_1+2*g*k_2-k_6,
   mu_f=2*f*k_2-2*f*k_4
  },
  {f_1,k_1,k_2,k_3,k_4,k_5,k_6,k_7,k_8},
  {}
 }
}
where the functionf_1is arbitrary and depends on x.
Remark 7.
By default, the infinitesimals for the independent and dependent variables do not depend on arbitrary elements; if we are interested to general equivalence transformations where also the infinitesimal generators of the independent and dependent variables depend on the arbitrary elements [118], then we have to add the statement
generalequiv:=1 $

3.7. Inverse Lie Problem

Here we show with a simple example how ReLie can be used for investigating the Lie remarkability of differential equations [119,120,121,122]. The following code shows how one can easily verify that Monge–Ampère equation describing a surface in R 3 with zero Gaussian curvature,
2 u x 2 2 u y 2 2 u x y 2 = 0 ,
is strongly Lie remarkable [119]:
jetorder:=2 $
xvar:={x,y} $
uvar:={u} $
relieinit() $
generatealgebra(2) $
After setting the necessary objects (jetorder, xvar and uvar), and calling relieinit(), we generate the vector fields spanning the affine Lie algebra in R 3 . Then, by the call to the functiontestrank(generators), we ascertain that the rank of the second order distribution is maximal (equal to the dimension of second order jet space); the call inverselie(8) computes the list allminors of all minors of order 8 of such a distribution; all minors vanish by evaluating them on the differential equation, that can be verified by writing
allminors:=sub(u_yy=u_xy^2/u_xx,allminors) $
As a last check,
rank(sub(u_yy=u_xy^2/u_xx,distribution));
returns 7, which is the dimension of the submanifold in the second order jet space characterized by Monge–Ampère equation.

4. Inside ReLie: Global Variables and Routines

ReLie uses some global variables to perform the various tasks: They can be distinguished among input variables (that the user needs to set before starting computation), output variables (computed by ReLie and of interest to the user), and intermediate variables (computed by ReLie and in general not of interest to the common user).

4.1. Input Variables

  • approxorder: Maximum order of approximate symmetries of equations containing a small parameter; by default it is 0, i.e., exact symmetries; the small parameter involved in the approximate symmetries must be denoted by epsilon; when looking for approximate symmetries the user has to define the rule let epsilon**(approxorder+1)=0;
  • arbelem: List of the arbitrary elements (only for equivalence transformations); by default it is an empty list;
  • arborder: Maximum order of derivatives of arbitrary elements (only for equivalence transformations); by default it is 1 , i.e., point symmetries;
  • contact: Set to 1 for contact symmetries; by default it is 0;
  • diffeqs: List of the left-hand sides of differential equations (with vanishing right-hand sides);
  • freepars: List of arbitrary constants or functions involved in the differential equations (for group classification problems); by default it is an empty list;
  • generalequiv: Set to 1 for general equivalence transformations where all infinitesimals depend on independent and dependent variables and arbitrary elements; the default value is 0, meaning that the infinitesimals of independent and dependent variables do not depend upon the arbitrary elements;
  • jetorder: Maximum order of derivatives in differential equations;
  • lagrangian: A list with only one element corresponding to the Lagrangian (it is necessary to set variational to 1);
  • leadders: List of the leading derivatives; diffeqs are solved with respect to them;
  • nonclassical: Set to a value between 1 and the number of independent variables (only for conditional symmetries); by default it is 0, i.e., classical symmetries;
  • nonpolyders: List of derivatives not occurring in polynomial form in the differential equations; by default it is an empty list;
  • nonzeropars: List of arbitrary constants or functions involved in the differential equations that can not vanish; by default it is an empty list;
  • qcond: List of indexes of dependent variables whose invariant surface conditions have to be used for computing conditional symmetries;
  • uvar: List of the dependent variables;
  • variational: Set to 1 if variational symmetries of a Lagrangian are needed; by default it is 0;
  • xvar: List of the independent variables;
  • zorder: Maximum order of derivatives of uvar with respect to xvar the elements in arbelem depend on (only for equivalence transformations); if zorder is set to 0, the arbitrary elements depend on xvar and uvar; zorder cannot exceed jetorder.

4.2. Output Variables

  • allinfinitesimals: List of two lists; the first sublist is the list of the infinitesimals, in order, of the independent variables, dependent variables and arbitrary elements (the latter in the case of equivalence transformations); the second sublist is the list of various terms (constants and functions) involved in the expression of infinitesimals;
  • allminors: List of minors of a given order extracted from a matrix; returned by the function minors(m,k), where m is a matrix and k a positive integer, or by the function inverselie(k) that takes the jetorder-th distribution of generators as the matrix from which the minors of order k are extracted;
  • arbconst: List of arbitrary constants involved in the expression of the symmetries;
  • arbfun: List of arbitrary functions involved in the symmetries;
  • cogenerators: List of the functions entering the definition of variational symmetries and corresponding to the infinitesimal generators (produced by reliegen());
  • commtable: Table of commutators of a list of vector fields;
  • deteqs: List of the determining equations (produced by reliedet());
  • distribution: Matrix of the jetorder-th distribution of a list of generators (produced by reliedistrib()), i.e., a matrix where each row is the prolonged vector field evaluated on one of the provided infinitesimal generators;
  • fluxes: List of the fluxes of the conservation law corresponding to a Lie generator (computed by relieclaw());
  • generators: List of the infinitesimal generators of the finite Lie algebra admitted by the differential equations at hand (produced by reliegen()); the list generators may also been obtained by calling generatealgebra(k), where k can be 1 (algebra of isometries), 2 (algebra of affine transformations) or 3 (algebra of projective transformations); of course, it is necessary to set jetorder, xvar and uvar before calling generatealgebra(k);
  • invcond: List of the invariance conditions of the differential equations at hand (produced by relieinv());
  • nzcomm: List of non-zero commutators of a list of vector fields;
  • prolongation: List of two lists: The first one is the list of the coordinates of the jet space, the second one the list of the corresponding infinitesimals (produced by relieprol());
  • splitsymmetries: List of lists: The k-th element is a list containing the infinitesimals corresponding to the k-th element of generators (produced by reliegen()); the list splitsymmetries may also been obtained by calling generatealgebra(k), where k can be 1 (algebra of isometries), 2 (algebra of affine transformations) or 3 (algebra of projective transformations); of course, it is necessary to set jetorder, xvar and uvar before calling generatealgebra(k); the list splitsymmetries is used internally by the functions reliedistrib(), inverselie() and testrank();
  • symmetries: List of the infinitesimals admitted by the differential equations at hand (produced by reliesolve()).

4.3. Intermediate Variables

  • jet: List of three lists: Indices for computing the infinitesimals and their prolongations, coordinates of jet space and their internal representation;
  • jetapprox: List of two lists: List of independent variables and expansions of dependent variables and their derivatives, and list of their internal representation (only for approximate symmetries);
  • jetequiv: List of three lists: Indices for computing the infinitesimals and their prolongations for arbitrary elements, arbitrary elements, and their internal representation (only for equivalence transformations);
  • jetsplit: List of two lists: Indices for computing the infinitesimals and their prolongations, list of independent variables, zeroth order dependent variables and their derivatives (only for approximate symmetries);
  • solutiondedv: Solution of the differential equations specified in diffeqs with respect to leadders; for conditional symmetries, the invariant surface conditions and their needed differential consequences are solved too;
  • steprelie: Integer that stores the status of the computation; 0: No computation done; 1: relieinit() has been called; 2: relieinv() has been called; 3: reliedet() has been called; 4: reliesolve() has been called;
  • zvar: List of two lists: The first one is the list of the variables arbelem depend on, the second one the corresponding infinitesimals (only for equivalence transformations).

4.4. Functions

A short description of the main functions the user may call is as follows:
  • abelian(gens): Checks if the generators gens span an Abelian Lie algebra;
  • commutatortable(gens): Returns the commutator table of the generators gens;
  • essentialpars(gens,vars): Takes a list of generators gens of a multiparameter Lie group of transformations for the variables vars, and returns the generators which are not linearly independent;
  • generatealgebra(k): Once jetorder, xvar and uvar have been properly assigned, this function returns a list of generators spanning the algebra of isometries (for k = 1), affine algebra (for k = 2), projective algebra (for k = 3);
  • inverselie(k): Computes all the minors of order k of the jetorder-th distribution generated by the list of vector fields contained in generators;
  • liebracket(gen1,gen2): Returns the Lie bracket of the generators gen1 and gen2;
  • newordering(lis,ind): Returns a list of the elements in lis reordered according to the permutation ind of the integers { 1 , , n } , where n is the length of list lis;
  • nonzerocommutators(gens): Returns nzcomm, a list of non-zero commutators of generators gens;
  • offprintcrack(): Prevents reliesolve() to display the steps needed for solving determining equations (this is the default configuration);
  • onprintcrack(): Sets a variable used in CRACK package (in turn used in the function reliesolve()) in order to display the steps needed for solving determining equations;
  • relieclaw(k): Returns fluxes, a list of the components of the fluxes of the conservation law corresponding to the k-th Lie generator (obtained after calling reliegen());
  • reliedet(): Splits the invariant conditions providing the list deteqs of determining equations;
  • reliedistrib(): Returns the matrix distribution, i.e.,  a matrix whose rows are the prolonged vector fields evaluated in the list splitsymmetries (computed by the function reliegen(), or by the function generatealgebra(), or suitably assigned by the user);
  • reliegen(k,lis): Returns the list generators; k is an integer (less or equal to the length of symmetries) and lis a list that can be empty; if lis is made by as many values as the number of arbitrary constants occurring in symmetries, generators consists of a list of vector fields, where each vector field is obtained replacing the i-th parameter by the i-th element in the list lis (or 1 if lis is empty or its length is different from the number of arbitrary constants entering symmetries) and the other parameters are replaced by 0; if the list lis is {-1}, then generators is a list with only one element containing the components of the infinitesimals in their general form, i.e., the linear combinations of all admitted generators; the function produces also the list splitsymmetries whose k-th element is a list containing the infinitesimals corresponding to the k-th element of generators;
  • relieinit(): If input data have been correctly defined, the function initializes the objects for doing the computation;
  • relieinv(): Computes the invariance conditions; returns invcond;
  • relieprol(): Returns the prolongation of a general vector field;
  • reliesolve(): Solves the determining equations for the infinitesimals, and returns the list symmetries; in group classification problems (but also in the case of conditional symmetries), the list symmetries may contain different solutions for the infinitesimals according to the values of freepars; as a default reliesolve() does not display the steps made to obtain the solution of determining equations; the user can see these steps by calling onprintcrack(); this is suggested when reliesolve() seems to use too much time to complete its execution; the list symmetries contains a list of the sets of solutions of determining equations; each element of this list in turn is a list of four elements: The first one is a list of conditions (possibly empty) that remained unsolved; the second one is a list giving the solution to the determining equations, i.e., the expressions of the infinitesimals; the third one is a list containing the parameters involved in the solution; the fourth one is a list of expressions which can not vanish (this list can be empty);
  • solvable(gens): Checks if the generators gens span a solvable Lie algebra;
  • testrank(gens): Returns the rank of the jetorder-th distribution generated by the generators gens.
Notice that ReLie contains some companion functions, used by the main procedures. Here we list some of them that can be useful in interactive sessions.
  • allcoeffs(lis1,lis2): Returns the list of coefficients of lis1 (list of polynomials) with respect to the variables in list lis2;
  • bincoeff(n,k): Returns n k ;
  • combnorep(n,k): Returns the combinations without repetition of k elements chosen in { 1 , 2 , , n } ;
  • combrep(n,k): Returns the combinations with repetition of k elements chosen in { 1 , 2 , , n } ;
  • delzero(lis): Returns a list containing all non-zero elements in the list lis;
  • dependence(lis1,lis2): Declares that the elements in the list lis1 depend on the variables in the list lis2;
  • dlie(obj,var): Returns the usual Lie derivative of obj with respect to var;
  • dlieapprox(obj,var): Returns the Lie derivative of obj with respect to var in the context of approximate symmetries;
  • dliestar(obj,var): Returns the additional Lie derivative used for equivalence transformations;
  • kroneckerdelta(k1,k2): Returns 1 if k 1 = k 2 , 0 otherwise;
  • letterlist(obj,n): obj is a symbol, n a positive integer;
    for instance, letterlist(x,4) builds the list { x 1 , x 2 , x 3 , x 4 } ;
  • letterlistvar(obj,lis): obj is a symbol, lis a list;
    for instance, letterlistvar(xi_,{x,y}) builds the list {xi_x,xi_y};
  • listletter(lis,ch): lis is a list, ch a symbol;
    for instance, listletter({u_,v_},x) builds the list {u_x,v_x};
  • membership(elem,lis): Returns the number of occurrences of the element elem in the list lis;
  • minors(m,k): m is a matrix and k is a positive integer: Returns the list of minors of order k of the matrix m;
  • nodependence(lis1,lis2): Removes the dependence of the objects in the list lis1 upon the variables in the list lis2;
  • removeelement(lis,elem): Removes the element elem from the list lis;
  • removemultiple(lis1,lis2): Removes from the list lis1 the elements of the list lis2;
  • scalarmult(obj,lis): Returns a list whose k-th element is the product of the scalar obj and the k-th element of list lis;
  • scalarproduct(lis1,lis2): Returns the sum of the products element by element of two lists with the same number of elements;
  • sumlist(lis1,lis2): Returns a list summing element by element the two lists with the same length;
  • zerolist(n): Returns a list of n zeros, the empty list if n 0 .

5. Conclusions

The program ReLie allows the user to perform almost automatically much of the computations needed for investigating ordinary and partial differential equations by means of Lie group methods. The package can also be used in interactive computations where some special assumptions need to be made. Remarkably, the program works in a CAS like Reduce which is open source and freely available for all operating systems. The various routines of ReLie have been tested along the years in many different situations and hopefully are sufficiently reliable. At the url http://mat521.unime.it/oliveri (accessed on 9 August 2021) the source code of the package, together with the user’s manual, can be found.
We illustrated the use of the package by choosing some rather simple examples in different areas of Lie symmetry analysis of differential equations; nevertheless, this does not mean that only simple problems can be faced. In fact, ReLie proves effective also when one has to investigate systems of partial differential equations that require to deal with very long expressions. As a last remark, we observe that this is the first program able to compute approximate Lie symmetries of differential equations containing small terms according to the theory recently proposed [60], as well as approximate Q-conditional symmetries [113,114].
Possible future developments could consist in adding functions for computing canonical variables associated to a Lie generator (useful for instance to lower the order of an ordinary differential equation), or computing differential invariants, or deriving the representation of invariant solutions and the corresponding reduced equations (some of these problems could be faced interfacing ReLie with other packages, like APPLYSYM, CDE, CDIFF, LIEPDE, that are present in the current distribution of Reduce [87], as well as procedures for computing higher order or nonlocal symmetries [47]. A further project consists in developing a package for classifying Lie algebras and determining optimal systems of Lie subalgebras.

Funding

This research received no external funding.

Institutional Review Board Statement

The study did not involve humans or animals.

Informed Consent Statement

The study did not involve humans.

Data Availability Statement

The study did not report any data.

Acknowledgments

Work supported by G.N.F.M. of “Istituto Nazionale di Alta Matematica”. The author is grateful to colleagues and friends that used along the years part of this program in their research activity so contributing to fix bugs; in particular, the author warmly thanks Matteo Gorgone for many useful suggestions and criticisms. The author thanks the anonymous referees for their comments, useful to improve the quality and clarity of the paper.

Conflicts of Interest

The author declares no conflict of interest.

References

  1. Lie, S.; Engel, F. Theorie der Transformationsgruppen; Teubner: Leipzig, Germany, 1888. [Google Scholar]
  2. Lie, S. Vorlesungen über Differentialgleichungen mit Bekannten Infinitesimalen Transformationen; Teubner: Leipzig, Germany, 1891. [Google Scholar]
  3. Ovsiannikov, L.V. Group Analysis of Differential Equations; Academic Press: New York, NY, USA, 1982. [Google Scholar]
  4. Ibragimov, N.H. Transformation Groups Applied to Mathematical Physics; Reidel Publishing Company: Dordrecht, The Netherlands, 1985. [Google Scholar]
  5. Olver, P.J. Applications of Lie Groups to Differential Equations; Springer: New York, NY, USA, 1986. [Google Scholar]
  6. Bluman, G.W.; Kumei, S. Symmetries and Differential Equations; Springer: New York, NY, USA, 1989. [Google Scholar]
  7. Stephani, H. Differential Equations. Their Solutions Using Symmetries; Cambridge University Press: Cambridge, UK, 1989. [Google Scholar]
  8. Ibragimov, N.H. (Ed.) Symmetries, Exact Solutions, and Conservation Laws. In CRC Handbook of Lie Group Analysis of Differential Equations; CRC Press: Boca Raton, FL, USA, 1994; Volume 1. [Google Scholar]
  9. Ibragimov, N.H. (Ed.) Applications in Engineering and Physical Sciences. In CRC Handbook of Lie Group Analysis of Differential Equations; CRC Press: Boca Raton, FL, USA, 1995; Volume 2. [Google Scholar]
  10. Ibragimov, N.H. (Ed.) New Trends in Theoretical Developments and Computational Methods. In CRC Handbook of Lie Group Analysis of Differential Equations; CRC Press: Boca Raton, FL, USA, 1996; Volume 3. [Google Scholar]
  11. Olver, P.J. Equivalence, Invariants, and Symmetry; Cambridge University Press: Cambridge, UK, 1995. [Google Scholar]
  12. Baumann, G. Symmetry Analysis of Differential Equations with Mathematica; Springer: New York, NY, USA, 2000. [Google Scholar]
  13. Hydon, P.E. Symmetry Methods for Differential Equations. A Beginner’s Guide; Cambridge University Press: Cambridge, UK, 2000. [Google Scholar]
  14. Cantwell, B.J. Introduction to Symmetry Analysis; Cambridge University Press: Cambridge, UK, 2002. [Google Scholar]
  15. Bluman, G.W.; Anco, S.C. Symmetry and Integration Methods for Differential Equations; Springer: New York, NY, USA, 2002. [Google Scholar]
  16. Meleshko, S.V. Methods for Constructing Exact Solutions of Partial Differential equations; Springer: New York, NY, USA, 2005. [Google Scholar]
  17. Bluman, G.W.; Cheviakov, A.F.; Anco, S.C. Applications of Symmetry Methods to Partial Differential Equations; Springer: New York, NY, USA, 2009. [Google Scholar]
  18. Bordag, L.A. Geometrical Properties of Differential Equations. Applications of Lie Group Analysis in Financial Mathematics; World Scientific Publishing: Singapore, 2015. [Google Scholar]
  19. Bluman, G. A reduction algorithm for an ordinary differential equation admitting a solvable Lie group. SIAM J. Appl. Math. 1990, 50, 1689–1705. [Google Scholar]
  20. Olver, P.J.; Rosenau, P. The construction of special solutions to partial differential equations. Phys. Lett. 1986, 144A, 107–112. [Google Scholar]
  21. Olver, P.J.; Rosenau, P. Group invariant solutions of differential equations. SIAM J. Appl. Math. 1987, 47, 263–278. [Google Scholar]
  22. Rogers, C.; Ames, W.F. Nonlinear Boundary Value Problems in Science and Engineering; Vol. 183, Mathematics in Science and Engineering; Academic Press: San Diego, CA, USA, 1989. [Google Scholar]
  23. Oliveri, F.; Speciale, M.P. Exact solutions to the equations of ideal gas–dynamics by means of the substitution principle. Int. J. Non-Linear Mech. 1998, 33, 585–592. [Google Scholar]
  24. Oliveri, F.; Speciale, M.P. Exact solutions to the equations of perfect gases through Lie group analysis and substitution principles. Int. J. Non-Linear Mech. 1999, 34, 1077–1087. [Google Scholar]
  25. Oliveri, F.; Speciale, M.P. Exact solutions to the unsteady equations of perfect gases through Lie group analysis and substitution principles. Int. J. Non-Linear Mech. 2002, 37, 257–274. [Google Scholar]
  26. Oliveri, F. On substitution principles in ideal magneto-gasdynamics by means of Lie group analysis. Nonlinear Dyn. 2005, 42, 217–231. [Google Scholar]
  27. Oliveri, F.; Speciale, M.P. Exact solutions to the ideal magneto–gas–dynamics equations through Lie group analysis and substitution principles. J. Phys. A Math. Gen. 2005, 38, 8803–8820. [Google Scholar]
  28. Noether, E. Invariante variationsprobleme. In Nachrichten von der Gesellschaft der Wissenschaften zu Göttingen. Mathematisch-Physikalische Klasse; Weidmannsche Buchhandlung: Berlin, Germany, 1918; pp. 235–257. [Google Scholar]
  29. Krasil’shchik, I.S.; Vinogradov, A.M. Symmetries and Conservation Laws for Differential Equations of Mathematical Physics; American Mathematical Society: Providence, RI, USA, 1999. [Google Scholar]
  30. Bluman, G. Connections between symmetries and conservation laws. Sigma 2005, 1, 011. [Google Scholar]
  31. Kumei, S.; Bluman, G.W. When Nonlinear differential equations are equivalent to linear differential equations. SIAM J. Appl. Math. 1982, 42, 1157–1173. [Google Scholar]
  32. Donato, A.; Oliveri, F. Linearization procedure of nonlinear first order systems of PDE’s by means of canonical variables related to Lie groups of point transformations. J. Math. Anal. Appl. 1994, 188, 552–568. [Google Scholar]
  33. Donato, A.; Oliveri, F. When nonautonomous equations are equivalent to autonomous ones. Appl. Anal. 1995, 58, 313–323. [Google Scholar]
  34. Donato, A.; Oliveri, F. How to build up variable transformations allowing one to map nonlinear hyperbolic equations into autonomous or linear ones. Transp. Theory Stat. Phys. 1996, 25, 303–322. [Google Scholar]
  35. Currò, C.; Oliveri, F. Reduction of nonhomogeneous quasilinear 2×2 systems to homogeneous and autonomous form. J. Math. Phys. 2008, 49, 103504. [Google Scholar]
  36. Oliveri, F. Lie symmetries of differential equations: Classical results and recent contributions. Symmetry 2010, 2, 658–706. [Google Scholar]
  37. Oliveri, F. General dynamical systems described by first order quasilinear PDEs reducible to homogeneous and autonomous form. Int. J. Non-Linear Mech. 2012, 47, 53–60. [Google Scholar]
  38. Gorgone, M.; Oliveri, F. Nonlinear first order partial differential equations reducible to first order homogeneous and autonomous quasilinear ones. Ricerche di Matematica 2017, 66, 51–63. [Google Scholar]
  39. Gorgone, M.; Oliveri, F. Nonlinear first order PDEs reducible to autonomous form polynomially homogeneous in the derivatives. J. Geom. Phys. 2017, 113, 53–64. [Google Scholar]
  40. Olver, P.J. Geometric foundations of numerical algorithms and symmetry. Appl. Algebra Eng. Commun. Comput. 2001, 11, 417–436. [Google Scholar]
  41. Rebelo, R.; Valiquette, F. Symmetry preserving numerical schemes for partial differential equations and their numerical tests. J. Differ. Equ. Appl. 2013, 19, 738–757. [Google Scholar]
  42. Bihlo, A.; Valiquette, F. Symmetry preserving numerical schemes. In Symmetries and Integrability of Difference Equations; CRM Series in Mathematical Physics; Levi, D., Rebelo, R., Winternitz, P., Eds.; Springer: Cham, Switzerland, 2017; pp. 261–324. [Google Scholar]
  43. Bluman, G.W.; Cole, J.D. The general similarity solution of the heat equation. J. Math. Mech. 1969, 18, 1025–1042. [Google Scholar]
  44. Fushchich, W.I. How to extend symmetry of differential equations. In Symmetry and Solutions of Nonlinear Equations of Mathematical Physics; Institute of Mathematics, Ukranian National Academy of Sciences: Kiev, Ukraine, 1987; pp. 4–16. [Google Scholar]
  45. Fushchich, W.I.; Tsifra, I.M. On a reduction and solutions of the nonlinear wave equations with broken symmetry. J. Phys. A Math. Gen. 1987, 20, L45–L48. [Google Scholar]
  46. Bluman, G. Use and construction of potential symmetries. Math. Comput. Model. 1993, 18, 1–14. [Google Scholar]
  47. Krasil’shchik, J.; Verbovetsky, A.; Vitolo, R. The Symbolic Computation of Integrability Structures for Partial Differential Equations; Springer: New York, NY, USA, 2018. [Google Scholar]
  48. Govinder, K.S.; Leach, P.G.L. On the determination of nonlocal symmetries. J. Phys. A Math. Gen. 1995, 28, 5349–5359. [Google Scholar]
  49. Leach, P.G.L.; Andriopoulos, K. Nonlocal symmetries: Past, present and future. Appl. Anal. Discret. Math. 2007, 1, 150–171. [Google Scholar]
  50. Lisle, I.G. Equivalence Transformations for Classes of Differential Equations. Ph.D. Thesis, University of British Columbia, Vancouver, BC, Canada, 1992. Available online: https://open.library.ubc.ca/media/download/pdf/831/1.0079820/1 (accessed on 9 August 2021).
  51. Ibragimov, N.H.; Torrisi, M. Equivalence groups for balance equations. J. Math. Anal. Appl. 1994, 184, 441–452. [Google Scholar]
  52. Ibragimov, N.H.; Torrisi, M.; Valenti, A. Preliminary group classification of equations vtt = f(x,vx)vxx + g(x,vx). J. Math. Phys. 1991, 32, 2988–2995. [Google Scholar]
  53. Torrisi, M.; Tracinà, R. Equivalence transformations for system of first order quasilinear partial differential equations. In Modern Group Analysis VI, Developments in Theory, Computations and Applications; Ibragimov, N.H., Mahomed, F.H., Eds.; New Age International: New Delhi, India, 1997; pp. 115–135. [Google Scholar]
  54. Torrisi, M.; Tracinà, R. Equivalence transformations and symmetries for a heat conduction model. Int. J. Non-Linear Mech. 1998, 33, 473–486. [Google Scholar]
  55. Özer, S.; Suhubi, E. Equivalence groups for first–order balance equations and applications to electromagnetism. Theor. Math. Phys. 2003, 137, 1590–1597. [Google Scholar]
  56. Rosa, M.; Chulián, S.; Gandarias, M.L.; Tracinà, R. Application of Lie point symmetries to the resolution of an interface problem in a generalized Fisher equation. Physica D 2020, 405, 132411. [Google Scholar]
  57. Baikov, V.A.; Gazizov, R.I.; Ibragimov, N.K. Approximate symmetries. Matematicheskii Sbornik 1988, 136, 435–450. [Google Scholar]
  58. Ibragimov, N.H.; Kovalev, V.K. Approximate and Renormgroup Symmetries; Higher Education Press: Beijing, China; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  59. Fushchich, W.I.; Shtelen, W.H. On approximate symmetry and approximate solutions of the non-linear wave equation with a small parameter. J. Phys. A Math. Gen. 1989, 22, 887–890. [Google Scholar]
  60. Di Salvo, R.; Gorgone, M.; Oliveri, F. A consistent approach to approximate Lie symmetries of differential equations. Nonlinear Dyn. 2018, 91, 371–386. [Google Scholar]
  61. Gorgone, M. Approximately invariant solutions of creeping flow equations. Int. J. Non-Linear Mech. 2018, 105, 212–220. [Google Scholar]
  62. Grebenev, V.N.; Oberlack, M. Approximate Lie symmetries of the Navier–Stokes equations. J. Nonlinear Math. Phys. 2007, 14, 157–163. [Google Scholar]
  63. Gazizov, R.K.; Ibragimov, N.H. Lie symmetry analysis of differential equations in finance. Nonlinear Dyn. 1998, 17, 387–407. [Google Scholar]
  64. O’Hara, J.G.; Sophocleous, C.; Leach, P.G.L. Application of Lie point symmetries to the resolution of certain problems in financial mathematics with a terminal condition. J. Eng. Math. 2013, 82, 67–75. [Google Scholar]
  65. Bordag, L.A.; Yamshchikov, I.P. Optimization problem for a portfolio with an illiquid asset: Lie group analysis. J. Math. Anal. Appl. 2017, 453, 668–699. [Google Scholar]
  66. Cherniha, R.; Davydovych, V. Conditional symmetries and exact solutions of the diffusive Lotka–Volterra system. Comput. Math. Model. 2011, 54, 1238–1251. [Google Scholar]
  67. Torrisi, M.; Tracinà, R. Lie symmetries and solutions of reaction diffusion systems arising in biomathematics. Symmetry 2021, 13, 1530. [Google Scholar]
  68. Cherniha, R.M.; Davydovych, V.V. A reaction–diffusion system with cross–diffusion: Lie symmetry, exact solutions and their applications in the pandemic modelling. Eur. J. Appl. Math. 2021, 1–18. [Google Scholar] [CrossRef]
  69. Leach, P.G.L.; Andriopoulos, K. Application of symmetry and symmetry analyses to systems of first-order equations arising from mathematical modelling in epidemiology. Proc. Inst. Math. NAS Ukr. 2004, 50, 159–169. [Google Scholar]
  70. Edwards, M.; Nucci, M.C. Application of Lie group analysis to a core group model for sexually transmitted diseases. J. Nonlinear Math. Phys. 2006, 13, 211–230. [Google Scholar]
  71. Nucci, M.C.; Leach, P.G.L. Lie integrable cases of the simplified multistrain/two-stream model for tuberculosis and dengue fever. J. Math. Anal. Appl. 2007, 333, 430–449. [Google Scholar]
  72. Naz, R.; Mahomed, K.S.; Naeem, I. First integrals and exact solutions of the SIRI and tuberculosis models. Math. Model. Appl. Sci. 2016, 39, 4654–4666. [Google Scholar]
  73. Schwarz, F. Automatically determining symmetries of partial differential equations. Computing 1986, 34, 91–106, Addendum in Computing 1986, 36, 279–280. [Google Scholar]
  74. Schwarz, F. Symmetries of differential equations from Sophus Lie to computer algebra. SIAM Rev. 1988, 30, 450–481. [Google Scholar]
  75. Head, A.K. LIE: A PC program for Lie analysis of differential equations. Comput. Phys. Commun. 1993, 77, 241–248. [Google Scholar]
  76. Hereman, W. Review of symbolic software for the computation of Lie symmetries of differential equations. Euromath Bull. 1994, 1, 45–82. [Google Scholar]
  77. Sherring, J.; Prince, G. DIMSYM—Symmetry Determination and Linear Differential Equations Package; Technical Report; Department of Mathematics, LaTrobe University: Bundoora, Australia, 1996. [Google Scholar]
  78. Hereman, W. Review of symbolic software for Lie symmetry analysis. Math. Comput. Model. 1997, 25, 115–132. [Google Scholar]
  79. Carminati, J.; Vu, K.T. Symbolic computation and differential equations: Lie symmetries. J. Symb. Comput. 2000, 29, 95–116. [Google Scholar]
  80. Wolf, T. Investigating differential equations with CRACK, LiePDE, Applysym and ConLaw. In Handbook of Computer Algebra, Foundations, Applications, Systems; Grabmeier, J., Kaltofen, E., Weispfenning, V., Eds.; Springer: New York, NY, USA, 2002; pp. 465–468. [Google Scholar]
  81. Butcher, J.; Carminati, J.; Vu, K.T. A comparative study of some computer algebra packages which determine the Lie point symmetries of differential equations. Comput. Phys. Commun. 2003, 155, 92–114. [Google Scholar]
  82. Cheviakov, A.F. GeM software package for computation of symmetries and conservation laws of differential equations. Comput. Phys. Commun. 2007, 176, 48–61. [Google Scholar]
  83. Steeb, W.H. Continuous Symmetries, Lie algebras, Differential Equations and Computer Algebra, 2nd ed.; World Scientific Publishing: Singapore, 2007. [Google Scholar]
  84. Cheviakov, A.F. Symbolic computation of local symmetries of nonlinear and linear partial and ordinary differential equations. Math. Comput. Sci. 2010, 4, 203–222. [Google Scholar]
  85. Rocha Filho, T.M.; Figueiredo, A. [SADE] a Maple package for the symmetry analysis of differential equations. Comput. Phys. Commun. 2010, 182, 467–476. [Google Scholar]
  86. Jefferson, G.F.; Carminati, J. ASP: Automated symbolic computation of approximate symmetries of differential equations. Comput. Phys. Commun. 2013, 184, 1045–1063. [Google Scholar]
  87. Hearn, A.C.; Schöpf, R. Reduce User’s Manual. Free Version. 2021. Available online: https://reduce-algebra.sourceforge.io/ (accessed on 9 August 2021).
  88. Saunders, D.J. The Geometry of Jet Bundles; Cambridge University Press: Cambridge, UK, 1989. [Google Scholar]
  89. de Graaf, W.A. Lie Algebras: Theory and Algorithms; North-Holland Mathematical Library 56; Elsevier: Amsterdam, The Netherlands, 2000. [Google Scholar]
  90. Erdmann, K.; Wildon, M.J. Introduction to Lie Algebras; Springer Undergraduate Mathematics Series; Springer: New York, NY, USA, 2006. [Google Scholar]
  91. Clarkson, P.A.; Kruskal, M. New similarity reductions of the Boussinesq equation. J. Math. Phys. 1989, 30, 2201–2213. [Google Scholar]
  92. Levi, D.; Winternitz, P. Nonclassical symmetry reduction: Example of the Boussinesq equation. J. Phys. A Math. Gen. 1989, 22, 2915–2924. [Google Scholar]
  93. Nucci, M.C.; Clarkson, P.A. The nonclassical method is more general than the direct method for symmetry reductions. An example of the FitzHugh–Nagumo equation. Phys. Lett. 1992, 164, 49–56. [Google Scholar]
  94. Arrigo, D.J.; Broadbridge, P.; Hill, J.M. Nonclassical symmetry solutions and the methods of Bluman–Cole and Clarkson–Kruskal. J. Math. Phys. 1993, 34, 4692–4703. [Google Scholar]
  95. Nucci, M.C. Nonclassical symmetries and Bäcklund transformations. J. Math. Anal. Appl. 1993, 178, 294–300. [Google Scholar]
  96. Clarkson, P.A.; Mansfield, E.L. Symmetry reductions and exact solutions of nonlinear heat equations. Physica D 1994, 10, 250–288. [Google Scholar]
  97. Saccomandi, G. A personal overview on the reduction methods for partial differential equations. Note Mat. 2004, 23, 217–248. [Google Scholar]
  98. Cherniha, R. New Q–conditional symmetries and exact solutions of some reaction–diffusion–convection equations arising in mathematical biology. J. Math. Anal. Appl. 2007, 326, 783–799. [Google Scholar]
  99. Cherniha, R.; Pliukhin, O. New conditional symmetries and exact solutions of reaction–diffusion systems with power diffusivities. J. Phys. A Math. Theor. 2008, 41, 185208. [Google Scholar]
  100. Cherniha, R. Conditional symmetries for systems of PDEs: New definitions and their application for reaction–diffusion systems. J. Phys. A Math. Theor. 2010, 43, 405207. [Google Scholar]
  101. Cherniha, R.; Davydovych, V. Conditional symmetries and exact solutions of nonlinear reaction–diffusion systems with non–constant diffusivities. Commun. Nonlinear Sci. Numer. Simul. 2012, 17, 3177–3188. [Google Scholar]
  102. Eisenhart, L.P. Contact transformations. Ann. Math. 1928, 30, 211–249. [Google Scholar]
  103. Kushner, A.; Lychagin, V.; Rubtsov, V. Contact Geometry and Nonlinear Differential Equations; Cambridge University Press: Cambridge, UK, 2007. [Google Scholar]
  104. Hairer, E.; Lubich, C.; Wanner, G. Geometric Numerical Integration; Springer: New York, NY, USA, 2002. [Google Scholar]
  105. Iserles, A.; Munthe-Kaas, H.; Nørsett, S.; Zanna, A. Lie–group methods. Acta Numer. 2000, 9, 215–365. [Google Scholar]
  106. Marsden, J.E.; Ratiu, T.; Abraham, R. Manifolds, Tensor Analysis and Applications; Springer: New York, NY, USA, 2001. [Google Scholar]
  107. Boyer, T.H. Continuous symmetries and conserved currents. Ann. Phys. 1967, 42, 445–466. [Google Scholar]
  108. Anco, S.C.; Bluman, G.W. Direct construction method for conservation laws of partial differential equations. Part I: Examples of conservation law classifications. Eur. J. Appl. Math. 2002, 13, 545–566. [Google Scholar]
  109. Anco, S.C.; Bluman, G.W. Direct construction method for conservation laws of partial differential equations. Part II: General treatment. Eur. J. Appl. Math. 2002, 13, 567–585. [Google Scholar]
  110. Ibragimov, N.I. A new conservation theorem. J. Math. Anal. Appl. 2007, 333. [Google Scholar]
  111. Ibragimov, N.H. Nonlinear self–adjointness and conservation laws. J. Phys. A Math. Theor. 2011, 44, 432002. [Google Scholar]
  112. Nayfeh, A.H. Introduction to Perturbation Techniques; Wiley: New York, NY, USA, 1981. [Google Scholar]
  113. Gorgone, M.; Oliveri, F. Approximate Q-conditional symmetries of partial differential equations. Electron. J. Differ. Equ. 2018, 25, 133–147. [Google Scholar]
  114. Gorgone, M.; Oliveri, F. Consistent approximate Q-conditional symmetries of PDEs: Application to a hyperbolic reaction-diffusion-convection equation. Z. Angew. Math. Phys. 2021, 72, 119. [Google Scholar]
  115. Oliveri, F.; Speciale, M.P. Equivalence transformations of quasilinear first order systems and reduction to autonomous and homogeneous form. Acta Appl. Math. 2012, 122, 447–460. [Google Scholar]
  116. Oliveri, F.; Speciale, M.P. Reduction of balance laws to conservation laws by means of equivalence transformations. J. Math. Phys. 2013, 54, 041506. [Google Scholar]
  117. Gorgone, M.; Oliveri, F.; Speciale, M.P. Reduction of balance laws in 3 + 1 dimensions to autonomous conservation laws by means of equivalence transformations. Acta Appl. Math. 2014, 132, 333–345. [Google Scholar]
  118. Meleshko, S.V. Generalization of the equivalence transformations. Nonlinear Math. Phys. 1996, 3, 170–174. [Google Scholar]
  119. Manno, G.; Oliveri, F.; Vitolo, R. On differential equations characterized by their Lie point symmetries. J. Math. Anal. Appl. 2007, 332, 767–786. [Google Scholar]
  120. Manno, G.; Oliveri, F.; Vitolo, R. Differential equations uniquely determined by algebras of point symmetries. Theor. Math. Phys. 2007, 151, 843–850. [Google Scholar]
  121. Manno, G.; Oliveri, F.; Saccomandi, G.; Vitolo, R. Ordinary differential equations described by their Lie symmetry algebra. J. Geom. Phys. 2014, 85, 2–15. [Google Scholar]
  122. Gorgone, M.; Oliveri, F. Lie remarkable partial differential equations characterized by Lie algebras of point symmetries. J. Geom. Phys. 2019, 144, 314–323. [Google Scholar]
  123. Blasius, H. Grenzschichten in Flüssigkeiten mit kleiner Reibung. Z. Angew. Math. Phys. 1908, 56, 1–37. [Google Scholar]
  124. Oliveri, F. Lie symmetries of differential equations: Direct and inverse problems. Note Mat. 2004, 23, 195–216. [Google Scholar]
  125. Oliveri, F. On the similarity solutions of the KdV equation with variable coefficients. Int. J. Non-Linear Mech. 1987, 22, 467–474. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Oliveri, F. ReLie: A Reduce Program for Lie Group Analysis of Differential Equations. Symmetry 2021, 13, 1826. https://doi.org/10.3390/sym13101826

AMA Style

Oliveri F. ReLie: A Reduce Program for Lie Group Analysis of Differential Equations. Symmetry. 2021; 13(10):1826. https://doi.org/10.3390/sym13101826

Chicago/Turabian Style

Oliveri, Francesco. 2021. "ReLie: A Reduce Program for Lie Group Analysis of Differential Equations" Symmetry 13, no. 10: 1826. https://doi.org/10.3390/sym13101826

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop