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

## Abstract

**:**

## 1. Introduction

## 2. Basic Elements of the Theory

#### 2.1. Lie Point Symmetries

#### 2.2. Q-Conditional Symmetries

#### 2.3. Contact Transformations

#### 2.4. Variational Symmetries

#### 2.5. Approximate Symmetries

**Example**

**1.**

#### 2.6. Equivalence Transformations

#### 2.7. Lie Remarkable Equations

## 3. The Program ReLie

`relie.red`, the set of routines implemented in the package ReLie becomes available after the statement

`in ``relie.red’’ $`

`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`

`faslout ’relie $`

`in ``relie.red’’ $`

`faslend $`

`load_package relie $`

`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.**

`jetorder:=2 $`

`xvar:={t,x} $`

`uvar:={u} $`

`jetorder`is

**not**bounded by ReLie.

`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).`

`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.

`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.

`_`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 - u_txx.`

#### 3.1. Computing Lie Point Symmetries of Differential Equations

`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.

`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.**

`jetorder:=3 $`

`xvar:={x} $`

`uvar:={u} $`

`diffeqs:={u_xxx+u*u_xx/2} $`

`leadders:={u_xxx} $`

`relieinit() $`

`relieinv() $`

`reliedet() $`

`reliesolve() $`

`relieinit()`initializes the needed objects, then the call to the function

`relieinv()`provides the invariance condition of the differential equation defined in

`diffeqs`; 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 $\frac{{d}^{3}u}{d{x}^{3}}$. As a result, the list

`invcond`is 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)}`

`invcond`contains just one element, which is a polynomial in the variables

`u_x`and

`u_xx`. Invoking the function

`reliedet()`, one gets the list

`deteqs`of 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 infinitesimals

`xi_x`and

`eta_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)}`

`reliesolve()`, and the result turns out to be contained in the list

`symmetries`:

`symmetries ->`

`{`

`{`

`{},`

`{eta_u= - k_1*u,`

`xi_x=k_1*x + k_2},`

`{k_1,k_2},`

`{}`

`}`

`}`

`reliesolve()`uses the Reduce package CRACK by S. Wolf [80], specifically suitable to solve (overdetermined) systems of linear partial differential equations.

`symmetries`contains 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 case
`k_1`and`k_2`); - 4.
- the fourth one is a list of expressions which can not vanish (in this case the list is empty).

`f_1`,

`f_2`, …; we can check the variables such parameters depend on by passing the name of the function to the procedure

`fargs()`(described in CRACK [80]).

`reliegen()`. 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, invoking

`reliegen(1,{})`(the same results could be obtained by writing also

`reliegen(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}`

`}`

`generators`where 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 list

`splitsymmetries`whose elements are the expressions of the infinitesimals; the vector fields here characterize a scaling and a translation of the independent variable, respectively:

**Remark**

**1.**

`reliegen(1,{-1})`, the lists

`generators`and

`splitsymmetries`contain 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 call

`reliegen(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.**

`reliegen()`, unless its second parameter is

`{-1}`, returns the generators of a finite–dimensional Lie algebra even when the admitted symmetries are infinite–dimensional!

`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.**

`jetorder:=2 $`

`xvar:={t,x} $`

`uvar:={u} $`

`diffeqs:={u_t-u_xx} $`

`leadders:={u_t} $`

`relie(4) $`

`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},`

`{}`

`}`

`}`

`f_1`is a function, whereas the other parameters are constant. By calling

`fargs(f_1)`, we have as a result

`{t,x}`, denoting that the function

`f_1`is a function of t and x; moreover, this function satisfies the heat equation (the first element of the list

`symmetries`). The symmetry corresponding to this parameter is responsible for the linear superposition principle of the solutions (typical of linear equations).

`reliegen(1,{-2,-2,-2,-2,-1,4})`, the result is the list

`generators`of 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}`

`}`

`generators`by using the function

`newordering()`

`generators:=newordering(generators,{5,2,6,3,1,4}) $`

`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},`

`}`

`f_1`,

`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**

`jetorder:=2 $`

`xvar:={t,x} $`

`uvar:={u} $`

`diffeqs:={u_tx+exp(u_x)-u} $`

`leadders:={u_tx} $`

`nonpolyders:={u_x} $`

`relie(4) $`

**Remark**

**3.**

#### 3.1.1. An Example of Group Classification

`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.**

`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) $`

`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`

`}`

`}`

`}`

`symmetries`is a list of two elements since we have different solutions to the determining equations according to the value of

`gamma`(included in the list

`freepars`). Looking at the results provided by ReLie, the first solution set refers to $\Gamma =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}) $`

`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}`

`}`

`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}) $`

**Remark**

**4.**

`freepars`and/or

`nonzeropars`.

`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

**Example**

**7.**

`jetorder:=2 $`

`xvar:={t,x} $`

`uvar:={u} $`

`diffeqs:={u_t+u*u_x-u_xx} $`

`leadders:={u_t} $`

`relie(4) $`

`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}`

`},`

`{}`

`}`

`}`

`reliegen(1,{-1,-1,-2,-2,-1}) $`

`generators:=newordering(generators,{5,2,1,3,4}) $`

`generators ->`

`{`

`{1, 0, 0},`

`{0, 1,0},`

`{0, t, 1},`

`{2*t, x, -u},`

`{t**2, t*x, -t*u + x)}`

`}`

`commutatortable(generators);`

`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}`

`}`

`generators`have been referred to as

`vf_1`,

`vf_2`,

`vf_3`,

`vf_4`,

`vf_5`, respectively.

#### 3.2. Computation of Conditional Symmetries

`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`.

`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.

`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.**

`jetorder:=2 $`

`xvar:={t,x} $`

`uvar:={u} $`

`nonclassical:=1 $`

`qcond:={1} $`

`diffeqs:={u_t-u_xx} $`

`leadders:={u_xx} $`

`relie(4) $`

`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`

`},`

`{}`

`}`

`}`

**Remark**

**5.**

`leadders`, since also the invariant surface conditions and their differential consequences are solved with respect to some derivatives.

#### 3.3. Computation of Contact Symmetries

`contact`. The functions that we have to call do not change, as the following example shows.

**Example**

**9.**

`jetorder:=3 $`

`xvar:={x} $`

`uvar:={u} $`

`contact:=1 $`

`diffeqs:={u_xxx} $`

`leadders:={u_xxx} $`

`relie(4) $`

`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},`

`{}`

`}`

`}`

`reliegen(1,{-1,-1,-1,-1,-1,-1,1,1,1,1}) $`

`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}`

`}`

#### 3.4. Computation of Variational Symmetries and Associated Conservation Laws

`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.**

`jetorder:=1 $`

`variational:=1 $`

`xvar:={t} $`

`uvar:={u} $`

`lagrangian:={t^2*u_t^2/2-t^2*u^6/6} $`

`relie(4) $`

`symmetries ->`

`{`

`{{},`

`{phi_t=k_2/6, eta_u=(k_1*u)/2, xi_t= - k_1*t},`

`{k_1,k_2},`

`{}}`

`}`

`reliegen(1,{})`, we obtain the two lists

`generators ->`

`{`

`{ - t, u/2}`

`}`

`cogenerators ->`

`{`

`{0}`

`}`

`relieclaw(1)`, we get

`fluxes ->`

`{`

`(t**2*(t*u**6 + 3*t*u_t**2 + 3*u*u_t))/6`

`}`

**Example**

**11.**

`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}) $`

`relieclaw(1)`,

`relieclaw(2)`, and

`relieclaw(3)`, respectively.

#### 3.5. Computation of Approximate Symmetries

`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.**

`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) $`

`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},`

`{}`

`}`

`}`

`reliegen(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}`

`}`

**Remark**

**6.**

`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} $`

`approxorder`and defining the rule

`let epsilon^(approxorder+1) = 0 $`

#### 3.6. Computation of Equivalence Transformations

- 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, ….

`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**

`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) $`

`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`

`},`

`{}`

`}`

`}`

`f_1`, …,

`f_10`are functions of $t,x,y$, along with the constraint

**Example**

**14.**

`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) $`

`diffeqs`the auxiliary conditions; the variable

`zorder`has been set to 1 since the functions f and g depend on first order derivatives; moreover, the variable

`arborder`is set to 1 since in the auxiliary conditions the derivatives of f and g with respect to some of their arguments occur.

`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},`

`{}`

`}`

`}`

`f_1`is arbitrary and depends on x.

**Remark**

**7.**

`generalequiv:=1 $`

#### 3.7. Inverse Lie Problem

`jetorder:=2 $`

`xvar:={x,y} $`

`uvar:={u} $`

`relieinit() $`

`generatealgebra(2) $`

`jetorder`,

`xvar`and

`uvar`), and calling

`relieinit()`, we generate the vector fields spanning the affine Lie algebra in ${\mathbb{R}}^{3}$. Then, by the call to the function

`testrank(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) $`

`rank(sub(u_yy=u_xy^2/u_xx,distribution));`

## 4. Inside ReLie: Global Variables and Routines

#### 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

`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,\dots ,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`.

`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 $\left(\genfrac{}{}{0pt}{}{n}{k}\right)$;`combnorep(n,k)`: Returns the combinations without repetition of k elements chosen in $\{1,2,\dots ,n\}$;`combrep(n,k)`: Returns the combinations with repetition of k elements chosen in $\{1,2,\dots ,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 $k1=k2$, 0 otherwise;`letterlist(obj,n)`:`obj`is a symbol, n a positive integer;for instance,`letterlist(x,4)`builds the list $\{x1,x2,x3,x4\}$;`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\le 0$.

## 5. Conclusions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Acknowledgments

## Conflicts of Interest

## References

- Lie, S.; Engel, F. Theorie der Transformationsgruppen; Teubner: Leipzig, Germany, 1888. [Google Scholar]
- Lie, S. Vorlesungen über Differentialgleichungen mit Bekannten Infinitesimalen Transformationen; Teubner: Leipzig, Germany, 1891. [Google Scholar]
- Ovsiannikov, L.V. Group Analysis of Differential Equations; Academic Press: New York, NY, USA, 1982. [Google Scholar]
- Ibragimov, N.H. Transformation Groups Applied to Mathematical Physics; Reidel Publishing Company: Dordrecht, The Netherlands, 1985. [Google Scholar]
- Olver, P.J. Applications of Lie Groups to Differential Equations; Springer: New York, NY, USA, 1986. [Google Scholar]
- Bluman, G.W.; Kumei, S. Symmetries and Differential Equations; Springer: New York, NY, USA, 1989. [Google Scholar]
- Stephani, H. Differential Equations. Their Solutions Using Symmetries; Cambridge University Press: Cambridge, UK, 1989. [Google Scholar]
- 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]
- 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]
- 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]
- Olver, P.J. Equivalence, Invariants, and Symmetry; Cambridge University Press: Cambridge, UK, 1995. [Google Scholar]
- Baumann, G. Symmetry Analysis of Differential Equations with Mathematica; Springer: New York, NY, USA, 2000. [Google Scholar]
- Hydon, P.E. Symmetry Methods for Differential Equations. A Beginner’s Guide; Cambridge University Press: Cambridge, UK, 2000. [Google Scholar]
- Cantwell, B.J. Introduction to Symmetry Analysis; Cambridge University Press: Cambridge, UK, 2002. [Google Scholar]
- Bluman, G.W.; Anco, S.C. Symmetry and Integration Methods for Differential Equations; Springer: New York, NY, USA, 2002. [Google Scholar]
- Meleshko, S.V. Methods for Constructing Exact Solutions of Partial Differential equations; Springer: New York, NY, USA, 2005. [Google Scholar]
- 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]
- Bordag, L.A. Geometrical Properties of Differential Equations. Applications of Lie Group Analysis in Financial Mathematics; World Scientific Publishing: Singapore, 2015. [Google Scholar]
- 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] - Olver, P.J.; Rosenau, P. The construction of special solutions to partial differential equations. Phys. Lett.
**1986**, 144A, 107–112. [Google Scholar] - Olver, P.J.; Rosenau, P. Group invariant solutions of differential equations. SIAM J. Appl. Math.
**1987**, 47, 263–278. [Google Scholar] - 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]
- 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] - 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] - 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] - Oliveri, F. On substitution principles in ideal magneto-gasdynamics by means of Lie group analysis. Nonlinear Dyn.
**2005**, 42, 217–231. [Google Scholar] - 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] - 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]
- 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]
- Bluman, G. Connections between symmetries and conservation laws. Sigma
**2005**, 1, 011. [Google Scholar] - 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] - 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] - Donato, A.; Oliveri, F. When nonautonomous equations are equivalent to autonomous ones. Appl. Anal.
**1995**, 58, 313–323. [Google Scholar] - 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] - Currò, C.; Oliveri, F. Reduction of nonhomogeneous quasilinear 2×2 systems to homogeneous and autonomous form. J. Math. Phys.
**2008**, 49, 103504. [Google Scholar] - Oliveri, F. Lie symmetries of differential equations: Classical results and recent contributions. Symmetry
**2010**, 2, 658–706. [Google Scholar] - 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] - 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] - 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] - Olver, P.J. Geometric foundations of numerical algorithms and symmetry. Appl. Algebra Eng. Commun. Comput.
**2001**, 11, 417–436. [Google Scholar] - 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] - 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]
- Bluman, G.W.; Cole, J.D. The general similarity solution of the heat equation. J. Math. Mech.
**1969**, 18, 1025–1042. [Google Scholar] - 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]
- 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] - Bluman, G. Use and construction of potential symmetries. Math. Comput. Model.
**1993**, 18, 1–14. [Google Scholar] - 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]
- Govinder, K.S.; Leach, P.G.L. On the determination of nonlocal symmetries. J. Phys. A Math. Gen.
**1995**, 28, 5349–5359. [Google Scholar] - Leach, P.G.L.; Andriopoulos, K. Nonlocal symmetries: Past, present and future. Appl. Anal. Discret. Math.
**2007**, 1, 150–171. [Google Scholar] - 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).
- Ibragimov, N.H.; Torrisi, M. Equivalence groups for balance equations. J. Math. Anal. Appl.
**1994**, 184, 441–452. [Google Scholar] - Ibragimov, N.H.; Torrisi, M.; Valenti, A. Preliminary group classification of equations v
_{tt}= f(x,v_{x})v_{xx}+ g(x,v_{x}). J. Math. Phys.**1991**, 32, 2988–2995. [Google Scholar] - 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]
- Torrisi, M.; Tracinà, R. Equivalence transformations and symmetries for a heat conduction model. Int. J. Non-Linear Mech.
**1998**, 33, 473–486. [Google Scholar] - Özer, S.; Suhubi, E. Equivalence groups for first–order balance equations and applications to electromagnetism. Theor. Math. Phys.
**2003**, 137, 1590–1597. [Google Scholar] - 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] - Baikov, V.A.; Gazizov, R.I.; Ibragimov, N.K. Approximate symmetries. Matematicheskii Sbornik
**1988**, 136, 435–450. [Google Scholar] - Ibragimov, N.H.; Kovalev, V.K. Approximate and Renormgroup Symmetries; Higher Education Press: Beijing, China; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
- 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] - 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] - Gorgone, M. Approximately invariant solutions of creeping flow equations. Int. J. Non-Linear Mech.
**2018**, 105, 212–220. [Google Scholar] - Grebenev, V.N.; Oberlack, M. Approximate Lie symmetries of the Navier–Stokes equations. J. Nonlinear Math. Phys.
**2007**, 14, 157–163. [Google Scholar] - Gazizov, R.K.; Ibragimov, N.H. Lie symmetry analysis of differential equations in finance. Nonlinear Dyn.
**1998**, 17, 387–407. [Google Scholar] - 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] - 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] - Cherniha, R.; Davydovych, V. Conditional symmetries and exact solutions of the diffusive Lotka–Volterra system. Comput. Math. Model.
**2011**, 54, 1238–1251. [Google Scholar] - Torrisi, M.; Tracinà, R. Lie symmetries and solutions of reaction diffusion systems arising in biomathematics. Symmetry
**2021**, 13, 1530. [Google Scholar] - 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] - 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] - 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] - 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] - 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] - Schwarz, F. Automatically determining symmetries of partial differential equations. Computing
**1986**, 34, 91–106, Addendum in Computing**1986**, 36, 279–280. [Google Scholar] - Schwarz, F. Symmetries of differential equations from Sophus Lie to computer algebra. SIAM Rev.
**1988**, 30, 450–481. [Google Scholar] - Head, A.K. LIE: A PC program for Lie analysis of differential equations. Comput. Phys. Commun.
**1993**, 77, 241–248. [Google Scholar] - Hereman, W. Review of symbolic software for the computation of Lie symmetries of differential equations. Euromath Bull.
**1994**, 1, 45–82. [Google Scholar] - Sherring, J.; Prince, G. DIMSYM—Symmetry Determination and Linear Differential Equations Package; Technical Report; Department of Mathematics, LaTrobe University: Bundoora, Australia, 1996. [Google Scholar]
- Hereman, W. Review of symbolic software for Lie symmetry analysis. Math. Comput. Model.
**1997**, 25, 115–132. [Google Scholar] - Carminati, J.; Vu, K.T. Symbolic computation and differential equations: Lie symmetries. J. Symb. Comput.
**2000**, 29, 95–116. [Google Scholar] - 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]
- 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] - 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] - Steeb, W.H. Continuous Symmetries, Lie algebras, Differential Equations and Computer Algebra, 2nd ed.; World Scientific Publishing: Singapore, 2007. [Google Scholar]
- 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] - 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] - Jefferson, G.F.; Carminati, J. ASP: Automated symbolic computation of approximate symmetries of differential equations. Comput. Phys. Commun.
**2013**, 184, 1045–1063. [Google Scholar] - 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).
- Saunders, D.J. The Geometry of Jet Bundles; Cambridge University Press: Cambridge, UK, 1989. [Google Scholar]
- de Graaf, W.A. Lie Algebras: Theory and Algorithms; North-Holland Mathematical Library 56; Elsevier: Amsterdam, The Netherlands, 2000. [Google Scholar]
- Erdmann, K.; Wildon, M.J. Introduction to Lie Algebras; Springer Undergraduate Mathematics Series; Springer: New York, NY, USA, 2006. [Google Scholar]
- Clarkson, P.A.; Kruskal, M. New similarity reductions of the Boussinesq equation. J. Math. Phys.
**1989**, 30, 2201–2213. [Google Scholar] - Levi, D.; Winternitz, P. Nonclassical symmetry reduction: Example of the Boussinesq equation. J. Phys. A Math. Gen.
**1989**, 22, 2915–2924. [Google Scholar] - 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] - 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] - Nucci, M.C. Nonclassical symmetries and Bäcklund transformations. J. Math. Anal. Appl.
**1993**, 178, 294–300. [Google Scholar] - Clarkson, P.A.; Mansfield, E.L. Symmetry reductions and exact solutions of nonlinear heat equations. Physica D
**1994**, 10, 250–288. [Google Scholar] - Saccomandi, G. A personal overview on the reduction methods for partial differential equations. Note Mat.
**2004**, 23, 217–248. [Google Scholar] - 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] - 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] - 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] - 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] - Eisenhart, L.P. Contact transformations. Ann. Math.
**1928**, 30, 211–249. [Google Scholar] - Kushner, A.; Lychagin, V.; Rubtsov, V. Contact Geometry and Nonlinear Differential Equations; Cambridge University Press: Cambridge, UK, 2007. [Google Scholar]
- Hairer, E.; Lubich, C.; Wanner, G. Geometric Numerical Integration; Springer: New York, NY, USA, 2002. [Google Scholar]
- Iserles, A.; Munthe-Kaas, H.; Nørsett, S.; Zanna, A. Lie–group methods. Acta Numer.
**2000**, 9, 215–365. [Google Scholar] - Marsden, J.E.; Ratiu, T.; Abraham, R. Manifolds, Tensor Analysis and Applications; Springer: New York, NY, USA, 2001. [Google Scholar]
- Boyer, T.H. Continuous symmetries and conserved currents. Ann. Phys.
**1967**, 42, 445–466. [Google Scholar] - 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] - 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] - Ibragimov, N.I. A new conservation theorem. J. Math. Anal. Appl.
**2007**, 333. [Google Scholar] - Ibragimov, N.H. Nonlinear self–adjointness and conservation laws. J. Phys. A Math. Theor.
**2011**, 44, 432002. [Google Scholar] - Nayfeh, A.H. Introduction to Perturbation Techniques; Wiley: New York, NY, USA, 1981. [Google Scholar]
- Gorgone, M.; Oliveri, F. Approximate Q-conditional symmetries of partial differential equations. Electron. J. Differ. Equ.
**2018**, 25, 133–147. [Google Scholar] - 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] - 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] - 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] - 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] - Meleshko, S.V. Generalization of the equivalence transformations. Nonlinear Math. Phys.
**1996**, 3, 170–174. [Google Scholar] - 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] - Manno, G.; Oliveri, F.; Vitolo, R. Differential equations uniquely determined by algebras of point symmetries. Theor. Math. Phys.
**2007**, 151, 843–850. [Google Scholar] - 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] - 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] - Blasius, H. Grenzschichten in Flüssigkeiten mit kleiner Reibung. Z. Angew. Math. Phys.
**1908**, 56, 1–37. [Google Scholar] - Oliveri, F. Lie symmetries of differential equations: Direct and inverse problems. Note Mat.
**2004**, 23, 195–216. [Google Scholar] - 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. |

© 2021 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## 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