DEtools
buildsym
build the symmetry generator given a solution of an ODE
Calling Sequence
Parameters
Description
Examples
buildsym(sol, y(x), _C1, _C2)
sol
-
expression representing the solution of an ODE
y(x)
(optional) dependent variable
_C1, _C2
(optional) arbitrary constants of the ODE solution
The buildsym command takes as arguments the solution of an ODE and the dependent variable, and it looks for a pair of infinitesimals for the ODE that generated the problem. At present, buildsym is able to look for symmetries of solutions of first and second order ODEs only.
As a rule, if we represent the infinitesimal generator as
f -> xi(x,y) * diff(f,x) + eta(x,y) * diff(f,y);
f→ξ⁡x,y⁢∂∂x⁢f+η⁡x,y⁢∂∂y⁢f
where x is the independent variable and y is the dependent one, buildsym (when successful) returns the list ξ⁡x,y,η⁡x,y, or two of these lists if the solution given as argument contains two arbitrary constants _C1 and _C2.
In order to study the relationship between symmetry patterns and ODE patterns, the buildsym command and equinv may be useful in connection with the odeadvisor command and the HINT=e1,e2 option of dsolve.
This function is part of the DEtools package, and so it can be used in the form buildsym(..) only after executing the command with(DEtools). However, it can always be accessed through the long form of the command by using DEtools[buildsym](..).
with⁡DEtools,buildsym,equinv,symtest
buildsym,equinv,symtest
The complete symmetry cycle
1) A pair of infinitesimals
sym≔_ξ=0,_η=exp⁡yln⁡x
sym≔_ξ=0,_η=ⅇyln⁡x
The most general first order ODE invariant under the above is as follows:
ODE≔equinv⁡sym,y⁡x
ODE≔ⅆⅆxy⁡x=1ln⁡x⁢x+ⅇy⁡x⁢f__1⁡x
This ODE can be solved using the following:
ans≔dsolve⁡ODE,Lie
ans≔y⁡x=−ln⁡−∫f__1⁡x⁢ln⁡xⅆx+c__1ln⁡x
The infinitesimals can be reobtained from the solution above:
buildsym⁡ans,y⁡x
_ξ=0,_η=ⅇyln⁡x
2) Given the solution of a second order ODE, for instance, we get the following:
ans2≔y⁡x=_C1⁢cos⁡x+x⁢_C2
ans2≔y⁡x=c__1⁢cos⁡x+x⁢_C2
The infinitesimals of an underlying Lie symmetry group
sym2≔buildsym⁡ans2
sym2≔_ξ=0,_η=x,_ξ=0,_η=cos⁡x
The most general second order ODE possessing these symmetries
ODE2≔equinv⁡sym2,y⁡x,2
ODE2≔ⅆ2ⅆx2y⁡x=x⁢cos⁡x⁢ⅆⅆxy⁡xsin⁡x⁢x+cos⁡x−cos⁡x⁢y⁡xsin⁡x⁢x+cos⁡x+f__1⁡x
To test symmetries, one can use the symtest command; sym2[1] is a symmetry of ODE2:
symtest⁡sym21,ODE2
0
sym2[2] is a symmetry of ODE2:
symtest⁡sym22,ODE2
See Also
dsolve
dsolve,Lie
equinv
odeadvisor
odetest
PDEtools
symgen
symtest
Download Help Document