LHLibrary - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


LieAlgebrasOfVectorFields

  

LHLibrary

  

a subpackage contains some utility routines for LieAlgebrasOfVectorFields

 

Calling Sequence

Parameters

Description

List of Routines in LHLibrary Subpackage & examples

Compatibility

Calling Sequence

LHLibrary:-Routine(arguments, options)

Parameters

Routine

-

a Routine of the LHLibrary subpackage; could be any of those shown via with(LHLibrary)

arguments

-

the arguments of Routine

options

-

some LHLibrary Routines accept optional arguments of the form name = value

Description

• 

The LHLibrary subpackage includes several useful commands that are used as internal routines in the LieAlgebrasOfVectorFields package. These commands are mainly for dealing with differential equations.

• 

The LHLibrary is part of the LieAlgebrasOfVectorFields package. For more detail, see Overview of the LieAlgebrasOfVectorFields package.

• 

Any Routine can be used in the form Routine(...) only after executing the command with(LHLibrary), but can always be used in the form LHLibrary:-Routine(..).

List of Routines in LHLibrary Subpackage & examples

with(LieAlgebrasOfVectorFields);

Differential,DisplayStructure,Distribution,EliminationLAVF,EliminationSystem,IDBasis,IsLinearizable,LAVF,LHLibrary,LHPDE,LHPDO,MapDE,OneForm,SymmetryLAVF,VFPDO,VectorField

(1)

with(LHLibrary);

AddBrackets,Erase,EssentialDependencies,GetDerivativeList,GetFunctionDependencies,GetFunctionNames,IsAdmissibleDependency,IsHomogeneous,RemoveBrackets,RifDsubs,Rifsimp,SortFunctionList

(2)

AddBrackets, RemoveBrackets

Calling Sequence & Parameters

AddBrackets(x)

RemoveBrackets(x)

x    -    a name or function, or a list of them

• 

If x is a name then AddBrackets(x) adds brackets to x(i.e. x) When x is a function, the function is returned unchanged.

• 

RemoveBrackets(x) reverses the process from the previous dot point.

• 

If x is a list then both commands distribute themselves over the list.

Example

AddBrackets(a);

a

(3)

AddBrackets([a, b(x), c(b(x))]);

a,bx,cbx

(4)

RemoveBrackets(b());

b

(5)

RemoveBrackets([a, b(),u(x),k(u(x))]);

a,b,ux,kux

(6)

Adding & removing brackets to a name should return it unchanged.

RemoveBrackets(AddBrackets(a));

a

(7)

Erase

Calling Sequence & Parameters

Erase(x,L)

x, L   -    a list or set of functions or names

• 

Erase(x,L) returns a new list where the variables in x are removed from the list L.

Example

Erase([y], [x,y,z]);

x,z

(8)

Erase([u(x),k(z)], [u(x),v(y),k(z)]);

vy

(9)

EssentialDependencies

Calling Sequence & Parameters

EssentialDependencies(sys, deps)

sys    -   a DEs system (as a list of equations) that is assumed to be fully reduced

deps   -   a list of names or functions of name

• 

Let sys be a list of DEs with its dependent variables named deps. Then EssentialDependencies(sys, deps) returns the list of essential dependencies from the system sys. For example, a dep like ξx,y,z is essentially dependent on x if xξx,y,z is not 0, or more precisely if it does not reduce to 0 modulo the DEs system sys.

• 

Typically, the input arguments come from a LHPDE object S (i.e. sys := GetSystem(S), deps = GetDependents(S)). See Overview of the LHPDE object for more detail.

Example

S := [diff(xi(x,y),y,y)=0, diff(eta(x,y),x)+diff(xi(x,y),y)=0, diff(eta(x,y),y)=0, diff(xi(x,y),x)=0];

S2y2ξx,y=0,xηx,y+yξx,y=0,yηx,y=0,xξx,y=0

(10)

EssentialDependencies(S, [xi(x,y), eta(x,y)]);

ξy,ηx

(11)

GetDerivativeList

Calling Sequence & Parameters

GetDerivativeList(x, n)

GetDerivativeList(x, m..n)

x      -    a list of functions or names representing dependent variables

m,n    -    a non-negative integer

• 

GetDerivativeList(x, n) returns a list of all derivatives of dependent variables x of differential order exactly n.

• 

GetDerivativeList(x, m..n) returns a list of all derivatives of dependent variables x from order m to order n.

• 

For each dep in x , the command differentiates it with respect to all variable names in the argument list of dep.

Example

GetDerivativeList([u(x,y)], 2);

2x2ux,y,2xyux,y,2y2ux,y

(12)

GetDerivativeList([u(x)],0..2);

ux,ⅆⅆxux,ⅆ2ⅆx2ux

(13)

GetDerivativeList([u(x,y,z),v(y),w(z),A],0..1);

ux,y,z,vy,wz,A,xux,y,z,yux,y,z,zux,y,z,ⅆⅆyvy,ⅆⅆzwz

(14)

GetFunctionDependencies

Calling Sequence & Parameters

GetFunctionDependencies(func)

func    -    a function or name

• 

GetFunctionDependencies(func) returns a list of dependencies of the function as names in order

Example

GetFunctionDependencies(G(x));

x

(15)

GetFunctionDependencies(a);

(16)

GetFunctionDependencies(u(a(x),y));

a,y

(17)

GetFunctionDependencies(F(u(x,t), v(x,t), x, k(r), b(q), a, b));

u,v,x,k,b,a,b

(18)

GetFunctionNames

Calling Sequence & Parameters

GetFunctionNames(funcL)

funcL    -    a list or set of functions or names

• 

GetFunctionNames(funcL) returns a list of function names in order

Example

GetFunctionNames([a(x), b(y)]);

a,b

(19)

GetFunctionNames([a, u(x,y), v(x,y), K(v(x,y),u(x,y)), B(x)]);

a,u,v,K,B

(20)

IsAdmissibleDependency

Calling Sequence & Parameters

IsAdmissibleDependency(u,vars)

u       -     a variable or a list (or set) of variables

vars    -     a sequence of names

• 

IsAdmissibleDependency(u, vars) checks whether u is an admissible function respect to a set/list of variable names.

• 

The command will either return true or an exception is thrown.

Example

IsAdmissibleDependency([u(x,y),v(x,y)], x,y);

true

(21)

IsAdmissibleDependency([w(x)], x,y);

true

(22)

IsAdmissibleDependency([u(x,y,z), v(x,y,z), w(a,b)], x,y,z);

Error, (in LieAlgebrasOfVectorFields:-LHLibrary:-IsAdmissibleDependency) function should depend on [x, y, z], but received w(a,b)

IsHomogeneous

Calling Sequence & Parameters

IsHomogeneous(sys, vars)

sys   -     a list of equations

vars  -     a list of names or function of names

• 

IsHomogeneous(sys, vars) checks if the DEs system sys is linear homogeneous with respect to vars.

Example

IsHomogeneous([diff(u(x,y),x,x) + diff(u(x,y),y,y) = 0], [u(x,y)]);

true

(23)

IsHomogeneous([diff(u(x,y),x,x) + diff(u(x,y),y,y) = b], [u(x,y),b]);

true

(24)

IsHomogeneous([a*diff(u(x,y),x,x) + diff(u(x,y),y,y) = 0], [u(x,y),a]);

false

(25)

RifDsubs

Calling Sequence & Parameters

RifDsubs(sys, expr)

sys   -     a sequence of equations

expr  -     an expression

• 

The command is front-end to dsubs from Maple version 9.5. It performs differential substitutions into expressions.

• 

RifDsubs ensures of fully substitution and termination, via calling dsubs multiple times.

• 

The calling interface of RifDsubs is identical to the dsubs command. All input arguments will be passed down to dsubs.

Rifsimp

Calling Sequence & Parameters

Rifsimp(sys, options)

sys      -       a list of set of polynomially nonlinear PDEs or ODEs

options  -      (options) a sequence of option that pass down to DEtools[rifsimp]

• 

The command is front-end to rifsimp from the DEtools library. The only difference between these two commands is that Rifsimp returns an empty system when the input argument syst is an empty list.

• 

The calling interface of Rifsimp is identical to the rifsimp command. All input arguments will be passed down to rifsimp.

SortFunctionList

Calling Sequence & Parameters

SortFunctionList(funcL, L)

funcL   -  a list of functions

L       -  a list of variable names

• 

SortFunctionList(funL, L) returns a list of functions after sorted according to the order in L.

Example

deps := [A(x),B(x,y),C(A(x),B(x,y))];

depsAx,Bx,y,CAx,Bx,y

(26)

SortFunctionList(deps, [C,B,A]);

CAx,Bx,y,Bx,y,Ax

(27)

Compatibility

• 

The LieAlgebrasOfVectorFields[LHLibrary] command was introduced in Maple 2020.

• 

For more information on Maple 2020 changes, see Updates in Maple 2020.

See Also

LieAlgebrasOfVectorFields

PDEtools[dsubs]

DEtools[rifsimp]