|
Calling Sequence
|
|
Eta_k(S, DepVars, options=value)
|
|
Parameters
|
|
S
|
-
|
list with the infinitesimals of a symmetry generator or the corresponding infinitesimal generator operator
|
DepVars
|
-
|
function or list of functions indicating the dependent variables of the problem
|
expanded = ...
|
-
|
(optional) can be true or false (default); to expand or not the prolongation of the infinitesimals as opposed to returning just the table procedure that computes it
|
jetnotation = ...
|
-
|
(optional) can be true (default, the notation found in S), false, jetvariables, jetvariableswithbrackets, jetnumbers or jetODE; to respectively return or not using the different jet notations available
|
prolongation = ...
|
-
|
(optional) list with two operands: a positive integer identifying the dependent variable, and a list of them where the different numbers identify different independent variables and their amount indicates the prolongation order (see notation of D); default is 'all'
|
|
|
|
|
Description
|
|
•
|
Given a list of infinitesimals of a symmetry generator, or the corresponding infinitesimal generator differential operator, the Eta_k command returns a table-procedure that can compute any particular prolongation of the symmetry. By table-procedure it is meant a Maple table that however acts as a procedure: it takes indices and works with them as a function of parameter does - see the examples and also indexing functions for table. Eta_k also works with anticommutative variables set using the Physics package.
|
•
|
The key idea in the implementation of Eta_k is that constructing a procedure optimized for a given symmetry is faster and more economical in computational resources than actually computing one or many prolongations from a single generic procedure. The table-procedure returned by Eta_k can in turn compute any prolongation, and will do so without repeating operations - that is the meaning of optimized in the previous sentence.
|
•
|
The table procedure returned by Eta_k can be indexed using independent and dependent variables in jet notation, or their respective numeric positions in the lists of independent and dependent variables (see GetIndepVars and GetDepVars), and correspondingly, the output will be in jetvariables or jetnumbers notation. For example, if are the dependent variables, you can index the table returned by Eta_k as in , to receive the value of this prolongation in jetvariables notation. If you use jetnumbers, so the pair [1, 2] representing as well as , as in , the output will be in jetnumbers notation, equivalent to apply ToJet with option jetnotation = jetnumbers over the output of . By using the option jetnotation - ..., where the right-hand-side could be jetvariables, jetvariableswithbrackets or jetODE, when indexing with independent or dependent variables the output will appear in the jetnotation indicated.
|
•
|
Independent of this ability of returning a "prolongation procedure" without having in mind any particular prolongation, you can also specify to Eta_k the prolongation order using the optional argument , where is a positive integer identifying a dependent variable and is a list with the positions of independent variables, in which case that particular prolongation is returned, unexpanded; evaluating it further (for instance with eval) will automatically expand it. Or, if in addition to specifying the prolongation it is passed the optional argument expanded, then instead of the unexpanded form of the prolongation specified, the expanded form is returned.
|
•
|
To avoid having to remember the optional keywords, if you type the keyword misspelled, or just a portion of it, a matching against the correct keywords is performed, and when there is only one match, the input is automatically corrected.
|
|
|
Examples
|
|
>
|
|
Consider the generic form of a list of infinitesimals of a PDE problem in - say - two independent and two dependent variables u(x, t), v(x, t): there are then two infinitesimals associated to each the independent variables and two infinitesimals associated to each of the dependent variables, as in
>
|
|
| (1) |
>
|
|
| (2) |
For illustration purposes consider also the infinitesimal generator operator corresponding to this list of infinitesimals
>
|
|
| (3) |
The table-procedure returned by Eta_k, able to compute any prolongation, is constructed instantly and without consuming any computational resources, equally from or
>
|
|
This table output is always displayed as . The prolongation of order "zero" of the first dependent infinitesimal, that is, the infinitesimal associated to the dependent variable is obtained by entering or and is just equal to respectively written in jetvariables or jetnumbers notation
| (5) |
| (6) |
The difference between jetvariables and jetnumbers is more evident when actually computing prolongations, for example for the first prolongation of with respect to
| (7) |
| (8) |
In this output (4.10) expressed using jetnumbers represents , represents the derivative with respect to , the second derivative with respect to and so on; the convention is the same one used by the Maple D differentiation operator.
On the other hand, in the output (4.9) expressed in jetvariables, represents , represents the derivative with respect to , the second derivative with respect to and so on; this convention is also used in all the symmetry commands of PDEtools, the declare command in the mathematical display of derivatives, and by the DifferentialAlgebra package.
To avoid redundant display in the following output use the declare facility, which will also make the derivatives be displayed compactly, indexed
>
|
|
| |
| (9) |
For example, the now compact display for lines above is
| (10) |
There are three possible prolongations of order two for each of the and infinitesimals, these are: two times with respect to the first independent variable, ditto with respect to the second independent variable, and the mixed prolongation; for these are
| (11) |
| (12) |
| (13) |
Note the compact display in the output above, due to the use of declare. To see the contents behind this compact display use show
| (14) |
It is sometimes possible to compactify these expressions a bit more by using, for instance, simplify,size or convert,horner.
You can also request a particular prolongation directly, either using jetvariables or jetnumbers notation, with or without the option expanded
>
|
|
| (16) |
>
|
|
| (17) |
>
|
|
| (19) |
Re-expressing the output above in jetvariables notation instead of jetnumbers we get the same as from in (4.15)
>
|
|
The Eta_k command also works with anticommutative variables, natively, without using the approach explained in PerformOnAnticommutativeSystem.
Set first and as suffixes for variables of type/anticommutative (see Setup)
>
|
|
| |
| |
| (21) |
A PDE system example with one unknown anticommutative function 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, use PDEtools:-declare, and PDEtools:-diff_table, that also handles anticommutative variables by automatically using Physics:-diff when Physics is loaded
>
|
|
| (22) |
>
|
|
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
>
|
|
| (23) |
Set now 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 for the commutative ones
>
|
|
| |
| |
| (25) |
>
|
|
| (26) |
| |
| |
| (27) |
The corresponding InfinitesimalGenerator
>
|
|
| (28) |
The table-function that returns the prolongation of the infinitesimal for is computed with Eta_k, assign it here to the lowercase to use more familiar notation
The first prolongations of with respect to and
| (30) |
| (31) |
The second mixed prolongations of with respect to and
| (32) |
| (33) |
|
|
|