detools::detSys
-- determining
system for Lie point symmetriesdetools::detSys
sets up the determining system for the
generators of Lie point symmetries of a given system of differential
equations. As for most methods in the detools
library there exist
several possibilities for entering the differential equations. The
precise working of the method can be controlled by a number of options;
especially it is possible to prescribe a special ansatz for the
symmetry generators.
detools::detSys(de, indl, depl <, Ansatz = ans, Param = paraml>
<, Expr = ebool> <, Interactive = bool> <, Autoreduced = bool>)
detools::detSys(df <, Ansatz = ans, Param = paraml> <, Expr
= ebool> <, Interactive = bool> <, Autoreduced= bool>)
de |
- | the differential equation(s): either an expression or a list of expressions. |
indl |
- | the independent variable(s): a list of (indexed) identifiers. |
depl |
- | the dependent variable(s): a list of (indexed) identifiers. |
df |
- | the differential equation(s): either an element of a
domain DF in
Cat::DifferentialFunction or a list of such elements. |
Ansatz |
- | prescribes an ansatz for the generators. |
Param |
- | lists the names of the parameters (functions or constants) contained in the ansatz. |
Expr |
- | determines the type of the output of
detools::detSys . |
Interactive |
- | controls the behaviour, if
detools::detSys has problems with solving the differential
equations for their leading derivatives. |
Autoreduced |
- | controls whether the equations of the determining
system are automatically simplified (autoreduced) by
detools::detSys . If bool=FALSE , no
simplifications are performed. |
The determining system is returned as a list. The type of the list
elements is controlled by the option Expr
.
detools::detSys
reads and writes some entries of the
table detools::data
. This includes especially further
information about the used domains.
detools::detSys
sets up the determining system for the
generators of Lie point symmetries of the given differential
equation(s). Thus it returns again a (generally rather overdetermined)
system of differential equations whose solutions represent symmetry
generators. The many options allow for a rather tight control of the
way the calculations proceed. Especially, it is possible to prescribe a
special ansatz for the generators which leads often to a considerable
speed up.Cat::DifferentialFunction
(DV)
. If
no specific domains are prescribed, detools::detSys
generates automatically for DV
the domain
Dom::DifferentialVariable
(indl,depl)
. Thus
for indl
and depl
anything can be entered
that is accepted by this constructor.
Which domain in
Cat::DifferentialFunction
(DV)
detools::detSys
actually chooses, depends on the form of
the entered differential equations. detools::detSys
prefers to perform all calculations in polynomial arithmetic, as this
is considerably faster. Hence the first (and most common) choice is a
domain constructed with Dom::DifferentialPolynomial
. If
the equations are of a more general form,
Dom::DifferentialExpression
is used.
detools::ncDetSys
ans
is either an element of the
domain Dom::JetVectorField
(DF)
where
DF
is the domain in which internally the calculations are
performed or any expression which can be converted into such an
element. If no ansatz is prescribed, a generic one is employed. If this
option is used, the option Param must be used,
too.Ansatz=[[xi(x,t,u),x], [tau(x,t,u),t],
[eta(x,t,u),u]]
.paraml
is a list of
identifiers; the determining system consists of equations for these
parameters. In the example above paraml
would take the
value [xi,tau,eta]
.ebool=TRUE
, the output will consists of expressions. The
same holds for ebool=NoDiff
; however, in this case for
derivatives the condensed notation of the domains in
Cat::DifferentialVariable
is used. For
ebool=FALSE
, the output will consist of elements of a
domain generated by a call of the constructor
Dom::LinearDifferentialFunction
with appropriate
arguments.
The default behaviour is determined by the way
detools::detSys
is called. If the differential equations
are entered as expressions, the default corresponds to
ebool=NoDiff
. If domain elements are used, it corresponds
to ebool=FALSE
.
detools::detSys
might encounter problems in solving
each differential equations for a different derivative. If
bool=TRUE
, detools::detSys
will ask
interactively the user for help. If bool=FALSE
, the
computation will be aborted in case of troubles.We compute the determining system for the heat equation diff(u(t,x),t)-diff(u(t,x),x,x)=0.
>> detools::detSys(u([t])-u([x,x]),[t,x],[u])
[2 XI1([u]), 2 XI1([x]), XI2([u, u]), XI1([u, u]), 2 XI2([x, u]) - PHI1([u, u]), 2 XI2([u]) + 2 XI1([x, u]), XI2([x, x]) - XI2([t]) - 2 PHI1([x, u]), 2 XI2([x]) - XI1([t]) + XI1([x, x]), PHI1([t]) - PHI1([x, x])]
The output is a linear system of nine differential
equations. The unknown functions XI1
, XI2
and
PHI1
represent the coefficients of the t
-,
x
- and u
-component of the symmetry generator,
resp.
detools::detSys
should
work correctly for any system of differential equations satisfying the
following conditions: (i) the system is formally integrable (this is
always true for single equations and for systems in Cauchy-Kowalevsky
form); (ii) nonlinearities in the derivatives are only of polynomial
type and (iii) all equations can be solved for a different derivative.
If one of these conditions is violated, the user should careful check
the results (note: these are not artificial restrictions of
detools::detSys
but fundamental mathematical
problems!).detools::complete
can be used
to check for integrabilitydetools::detSys
is
not able to decide whether there exist any algebraic dependencies
between these terms. The determining system is set up under the
assumption that no such relations exist.
Essentially for the same reason, the current implementation also requires that all equations can be solved for different derivatives. If this is the case, it is trivial to take into account the relations introduced by the differential equations themselves.