DEtools
invariants
calculate the differential invariants of a given one-parameter Lie group
Calling Sequence
Parameters
Description
Examples
invariants([xi, eta], y(x))
invariants([xi, eta], k, y(x))
invariants([xi, eta], k, y(x), ODE, scheme)
[xi, eta]
-
list of the coefficients of the symmetry generator (infinitesimals)
k
positive integer indicating the order of the differential invariants required
y(x)
'dependent variable'; it can be any indeterminate function of one variable
ODE
(optional) ODE invariant under the given infinitesimals; required only if they represent dynamical symmetries
scheme
(optional); can be can, dif, or generic
The invariants command receives a pair of infinitesimals; an indication of the dependent variable, say y(x); and optionally k, the order of the differential invariants required. It returns a sequence of differential invariants, starting with the one of order zero and finishing with the one of order k. If k is not given, the command returns just the differential invariants of order zero and one.
The differential invariants are the solutions of X⁡Invariant=0, where X represents the infinitesimal operator,
X = (f -> xi*diff(f,x) + eta*diff(f,y)+ eta[1]*diff(f,_y1)+`...`);
X=f→ξ⁢∂∂x⁢f+η⁢∂∂y⁢f+η1⁢∂∂_y1⁢f+...
and xi, eta, eta[1], `...` are the infinitesimals and the extensions of eta (see eta_k).
The invariants command uses three different approaches. To indicate the use of one of these, use the optional argument dif, can, or generic.
The generic approach works with point and dynamical symmetries, requires giving the ODE (as the ODE parameter) that admits the given symmetries, and consists of three steps.
Set up a first order PDE for the invariants using DEtools[infgen] replacing the highest derivative by the right-hand side of the given ODE.
Solve that PDE using the characteristic strip method by calling pdsolve.
The PDE solution depends on an arbitrary function _Fn⁡...; the arguments of that function are the differential invariants returned.
The dif approach is equivalent to the generic method and includes some optimizations possible in this case, such that, for example, it is not necessary to give the ODE supposed to admit the given symmetry. If the ODE is given this method only works with ODEs of differential order two.
The can approach only works with point symmetries, does not require giving the ODE admitting the symmetry, and consists of computing the canonical coordinates associated to the given symmetry, and then extracting the differential invariants using standard techniques (see for instance Stephani's book in dsolve,references).
By default, invariants computes the differential invariants according to the following.
* If the symmetry is of dynamical type, the ODE parameter is required. If the ODE is of order 2, use the dif approach. Otherwise, use generic.
* Otherwise, the symmetry is a point-like symmetry. Use dif. If the algorithm fails, use can.
This function is part of the DEtools package, and so it can be used in the form invariants(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[invariants](..).
The infinitesimals xi and eta of the one-parameter rotation group and the first extension of the related infinitesimal generator
with⁡DEtools:
X≔−y,x
invariants⁡X,y⁡x
_I0=x2+y2,_I1=x⁢_y1−yy⁢_y1+x
The differential invariants of order 0, 1, and 2
invariants⁡X,2,y⁡x
_I0=x2+y2,_I1=x⁢_y1−yy⁢_y1+x,_I2=−−_y2⁢x2+_y13+_y1⁢x−y2⁢_y2+−_y12−1⁢y2⁢y⁢_y1+x3
Here is a case of a dynamical symmetry in the context of second order ODEs. When working with dynamical symmetries, the ODE itself is required as an argument.
X≔0,_y12
The general second order ODE invariant under X
general_ODE≔equinv⁡X,y⁡x,2
general_ODE≔ⅆ2ⅆx2y⁡x=ⅆⅆxy⁡xⅆⅆxy⁡x⁢f__1⁡ⅆⅆxy⁡x,−x⁢ⅆⅆxy⁡x2+y⁡x+x
A particular case of the above
ODE≔eval⁡subs⁡`=`⁡_F1,a,b↦b⋅a,general_ODE
ODE≔ⅆ2ⅆx2y⁡x=ⅆⅆxy⁡xⅆⅆxy⁡x2⁢−x⁢ⅆⅆxy⁡x2+y⁡x+x
The related differential invariants of order 0, 1
invariants⁡X,1,ODE
_I0=x,_I1=−x⁢_y1−2⁢y⁢ⅇ−_y1362
See Also
DEtools[canoni]
DEtools[equinv]
DEtools[eta_k]
DEtools[infgen]
DEtools[odepde]
DEtools[symgen]
dsolve[Lie]
PDEtools
Download Help Document