>
|
|
Consider first a simple case; use diff_table and declare to avoid redundancies in the input (you can enter things using jetvariableswithbrackets jet notation) and in the display of the output (expressed using jetvariables jet notation)
>
|
|
| (1) |
>
|
|
>
|
|
| (2) |
The determining PDE system whose solutions are the infinitesimals
>
|
|
| (3) |
The system returned has the leading derivatives isolated on the left-hand-sides, and the jet notation used by default is jetvariables, so is represented by , by , and so on. The derivatives of the and infinitesimals are displayed indexed, in jetvariableswithbrackets notation, because of the use of declare.
Note the labels for the infinitesimals: they are of the form and , where and are respectively the names of independent and dependent variables; these are the infinitesimals associated to symmetry transformations of the corresponding (independent or dependent) variable.
You can also specify that you want a different jet notation, for instance jetnumbers (a less mathematical notation, sometimes preferred for programming purposes), in which case the labels identifying each infinitesimal will also appear in jetnumbers notation, as in and
>
|
|
| (4) |
The system returned by DeterminingPDE is automatically simplified with respect to its integrability conditions. This simplification is normally desirable, but in some cases it can be expensive in time or depending on the problem even a bottleneck in the computation of symmetries. To skip this simplification use the option integrabilityconditions = false, in which case the leading derivatives are not isolated; compare for instance with this other equivalent determining system
>
|
|
| (5) |
The fastest (and less simplified) way to compute the determining PDE for the symmetries includes skipping the automatic splitting into coefficients of independent objects, in which case the output consists of a set with a single determining PDE, not a system
>
|
|
| (6) |
Note in the output above the presence of and representing derivatives of written in jetnotation. To see the last computed output with all its functionality and structure explicit, not using the enhanced compact mathematical display due to declare, use show
>
|
|
| (7) |
Note in the above that although the infinitesimals and its derivatives are not displayed in jet notation anymore, the unknown and its derivatives , are still in jet notation - they enter the expression actually as names, not functions, but representing the functions. As usual, to convert into function notation use FromJet.
The infinitesimals are obtained solving this determining system - we take the most simplified version of it, , computed lines above
>
|
|
| (8) |
You can compute these infinitesimals directly from PDE1 as well. By default, whenever, it is possible Infinitesimals will present the symmetry groups with all its independent members explicitly, that is, with the integration constants specialized, as in
>
|
|
| (9) |
The determining PDE system for the integrating factors of PDE1
>
|
|
| (10) |
The determining PDE system for the conserved currents of PDE1 that depend only on and
>
|
|
| (11) |
To compute the actual integrating factors or conserved currents - so not just their determining equations- see IntegratingFactors and ConservedCurrents.
The Laplace equation in spherical coordinates with a source term symmetries
>
|
|
| (12) |
>
|
|
>
|
|
| (13) |
The infinitesimals are computed either by Infinitesimals by calling DeterminingPDE to obtain the determining system then solving it calling pdsolve, finally splitting the result according to the integration constants found in pdsolve's solution
>
|
|
| (14) |
An ODE example (see more commands for handling ODE symmetry problems also in DEtools,Lie) and a dynamical symmetry represented by infinitesimals depending on the first derivative y'
>
|
|
| (15) |
>
|
|
| (16) |
>
|
|
| (17) |
The corresponding determining system directly in jetODE notation, that is the notation used in DEtools,Lie, the package for symmetries and integrating factors for ODEs developed before the symmetry commands of PDEtools
>
|
|
| (18) |
An ODE in disguise, appearing as a PDE, and the corresponding determining PDE system for a very particular form of its infinitesimals, depending on two arbitrary functions and
>
|
|
| (19) |
>
|
|
| (20) |
>
|
|
| (21) |
The output above is zero because S2 is already a symmetry of ODE2, thus canceling completely the determining system. To test symmetries given as lists of infinitesimals use the SymmetryTest command
>
|
|
| (22) |
The determining system for symmetries in evolutionary form for an ODE, directly in jetODE notation
>
|
|
| (23) |
>
|
|
| (24) |
By default DeterminingPDE processes DE systems as given. If all the integrability conditions that can be derived from the system's equations are explicitly present, then the resulting determining system for the symmetry infinitesimals has for solution all the symmetries. This is not always true otherwise. Consider for instance:
>
|
|
| (25) |
>
|
|
>
|
|
| (26) |
The determining system for the point symmetries of DE and its corresponding solution are
>
|
|
| (27) |
>
|
|
| (28) |
The system DE, however, does not include the integrability condition that can be derived from its equations. To compute a version of DE that is closed, i.e., that it includes all its integrability conditions explicitly you can use the Library routine CloseSystem or directly pass the closesystem option to DeterminingPDE
>
|
|
| (29) |
>
|
|
| (30) |
>
|
|
| (31) |
The resulting determining system for the closed version of DE admits solutions more general than (6.28)
>
|
|
| (32) |
Comparing, in (6.32) is entirely arbitrary while in the infinitesimals (6.28) it is not. The closesystem option is also available when calling Infinitesimals, InvariantSolutions and SimilaritySolutions - all of them will forward the option to DeterminingPDE. For example: the same most general form of the infinitesimals (6.32) can be computed directly via
>
|
|
| (33) |
The DeterminingPDE command also works with anticommutative variables, natively, without using the approach explained in PerformOnAnticommutativeSystem.
>
|
|
| (34) |
Set first and as suffixes for variables of type/anticommutative (see Setup)
>
|
|
| (35) |
A PDE system example with two unknown anticommutative functions of four variables, two commutative and two anticommutative; to avoid redundant typing in the input that follows and redundant display of information on the screen let's use PDEtools:-diff_table PDEtools:-declare
>
|
|
| (36) |
>
|
|
Now we can enter derivatives directly as the function's name indexed by the differentiation variables and see the display the same way; two PDEs
>
|
|
| (37) |
>
|
|
| (38) |
Set for instance the generic form of the infinitesimals for a PDE system like this one formed by pde[1] and pde[2]. For this purpose, we need anticommutative infinitesimals for the dependent variable and two of the independent variables, and ; we use here the capital greek letters and for the anticommutative infinitesimal symmetry generators and the corresponding lower case greek letters for commutative ones
>
|
|
| (39) |
>
|
|
| (40) |
>
|
|
| (41) |
The corresponding InfinitesimalGenerator
>
|
|
| (42) |
The DeterminingPDE for this system
>
|
|
| (43) |
To compute now the exact form of the symmetry infinitesimals you can either solve this PDE system for the conmutatice and anticommutative functions using pdsolve, or directly pass the system to Infinitesimals that will perform all the steps automatically.
>
|
|
| (44) |
>
|
|