|
Calling Sequence
|
|
InfinitesimalGenerator(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
|
output = ...
|
-
|
(optional) can be list, expression or operator; indicating the output to be a list of infinitesimal components or its corresponding infinitesimal generator differential operator
|
prolongation = ...
|
-
|
(optional) positive integer indicating the desired prolongation order; default is 0
|
|
|
|
|
Description
|
|
•
|
Given a list of infinitesimals of a symmetry generator, the InfinitesimalGenerator command returns a differential operator representing the infinitesimal generator. Note the distinction here made between infinitesimals and infinitesimal generator: the latter is an operator constructed as a linear combination of differential operators, while the infinitesimals are represented by the list you can construct with the coefficients of each differential operator entering the infinitesimal generator. InfinitesimalGenerator also works with anticommutative variables set using the Physics package.
|
•
|
You can also pass the symmetry S directly as an infinitesimal generator operator, for instance with the purpose of having it rewritten in different jetnotation or prolonged - see related options below.
|
•
|
By default the infinitesimal generator returned is not prolonged more than S - to request any other prolongation pass the optional argument where n is a nonnegative integer. As a handy shortcut notation, instead of the optional argument you can also just specify , a nonnegative integer, as the third argument passed to InfinitesimalGenerator.
|
•
|
By default, the infinitesimal generator is also returned not expanded. To request it otherwise, pass the optional argument expanded or expanded = true. To understand this option, recall that given a prolongation order - say k - there exist as many prolonged infinitesimals as partial derivatives of order exist in the jet space where the symmetry generator acts, that is, , where and are respectively the numbers of independent and dependent variables. In addition, the infinitesimal generator to be returned includes a sum over the independent and another one over the dependent variables, where each of the summands has for coefficient the corresponding prolongation of the infinitesimal (see Eta_k) associated to each dependent variable. All these sums return expanded when the optional argument expanded is given. As an indicator of what this means, in a problem with 2 independent and 2 dependent variables, the length of the infinitesimal generator prolonged to order 2, when the option expanded is given, is more than 40 times larger than when it is not given.
|
•
|
By default, the infinitesimal generator is returned as an operator, that is a mapping to be applied to a function (see the Examples section). Equivalent representations would be: an expression, i.e., the result of applying the operator to some generic function, or a list with the infinitesimal components. To compute these representations use the option output = ... where the right-hand side is respectively expression or list. When output = expression, differentiation is represented by the inert Diff command and the function to which the mapping is applied is represented generically by a label, typically (provided that is not assigned already, or found in the infinitesimals S).
|
•
|
The jetnotation used in the output is the one of S unless indicated otherwise using the option jetnotation = ... where the right-hand side is any of jetvariables (default), jetvariableswithtbrackets, jetnumbers' or jetODE; for details about the available jet notations see ToJet.
|
•
|
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
|
|
>
|
|
| (1) |
Consider the generic form of a list of infinitesimals of a PDE problem in - say - two independent and two dependent variables : there are then two infinitesimals associated to each of the independent variables and two infinitesimals associated to each of the dependent variables, as in
>
|
|
| (2) |
>
|
|
| (3) |
The operator returned by InfinitesimalGenerator, say the first prolongation, is constructed basically without consuming any computational resources or time
>
|
|
| (4) |
The shortcut InfinitesimalGenerator(S, DepVars, 1) for indicating the prolongation returns works as well.
Consider now the same infinitesimal generator but expanded:
>
|
|
| (5) |
Both and produce the same result when applied to any function - say - of and their derivatives written in jet notation:
>
|
|
To avoid redundant display cluttering the presentation use the declare schema for compact mathematical display (derivatives are also displayed indexed)
>
|
|
| |
| |
| (6) |
This results from the application of the non-expanded to
| (7) |
Let's verify that the non-expanded and the expanded produce the same output
Apart from the default output, an operator, you can optionally request this output to be an expression (the operator applied) or a list with the components of the infinitesimal generator
>
|
|
| (9) |
In order to use the result above you need to replace the label by any function of the jet variables, in this example and , and do that before activating the inert derivatives using value. For example
>
|
|
| (10) |
The other possible representation is a list
>
|
|
| (11) |
Note the compact display in the output above, due to the use of declare in previous examples. To see the contents behind this compact display use show
| (12) |
You can also use InfinitesimalGenerator to prolong a given infinitesimal generator or to rewrite the operator in different jet notation. This is rewritten using jetnumbers notation (compare with (5))
>
|
|
| (13) |
By default, when reprocessing an infinitesimal generator as in the input/output above, the prolongation of the returned generator is the same as that of the given one, in this example , unless the given generator is not expanded (for example, ), in which case the returned generator has prolongation = 0. To overcome this limitation in the reprocessing of not expanded infinitesimal generators you can indicate the desired prolongation using the option prolongation = ...
The InfinitesimalGenerator command also works with anticommutative variables, natively, without using the approach explained in PerformOnAnticommutativeSystem.
| (14) |
Set first and as suffixes for variables of type/anticommutative (see Setup)
>
|
|
| |
| |
| (15) |
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 the corresponding lowercase Greek letters for commutative ones
>
|
|
| |
| |
| (16) |
>
|
|
| (17) |
| |
| |
| (18) |
The corresponding InfinitesimalGenerator
>
|
|
| (19) |
The same infinitesimal but prolonged to 1st and 2nd order
>
|
|
| (20) |
>
|
|
| (21) |
|
|
Compatibility
|
|
•
|
The jetnotation option was introduced in Maple 15.
|
|
|
|