PDEtools[SimilaritySolutions]  computes the group invariant (point symmetry) solutions for a given PDE system

Calling Sequence


SimilaritySolutions(PDESYS, DepVars, S, 'options'='value')


Parameters


PDESYS



a PDE, or a set of PDEs, or a list of PDEs; it can include ODEs and not differential equations

DepVars



optional  may be required; a function or a list of them indicating the dependent variables of the problem

S



optional  a list with the functional form of the infinitesimals of a symmetry generator, or a list of lists of them

checkconsistency = ...



optional  can be true or false (default), to check the consistency of PDESYS before proceeding

closesystem = ...



optional  can be true or false (default), to derive and then include in PDESYS, explicitly, all its integrability conditions before computing the determining system for its symmetries

degreeofinfinitesimals = ...



optional  related to the option typeofsymmetry = polynomial, indicates the upper bound degree of the polynomial infinitesimals with respect to all or each of the dependent variables

dependency = ...



optional  indicates the dependency of the invariant solutions, as a number (of jet variables), a range of them, a name, or a set of dependencies each of which can be a set or list of variables or numbers

dependencyofinfinitesimals = ...



optional  same as dependency but for the infinitesimals with which the invariant solutions are constructed

HINT = ...



optional  a list with the functional form of the infinitesimals of a symmetry generator

reducedsystemsolver = ...



optional  can be pdsolve or SimilaritySolutions, specifies the command to be used to attempt solving the reduced PDESYS

removeredundant = ...



optional  can be true or false, to remove or not redundant solutions  which happen to be particular cases of more general solutions being returned together

simplifier = ...



optional  indicates the simplifier to be used instead of the default simplify/size

specialize_Fn = ...



optional  can be true, false (default), or a set of procedures, to specialize any arbitrary functions that may appear in the infinitesimals

split = ...



optional  can be true (default) or false, to split or not the list of infinitesimals into cases by specializing the integration constants

typeofsymmetry = ...



optional  can be any of pointlike (default), contact, evolutionary, or general, or any of polynomial or functionfield, or And(<kind>, <functionality>) where kind is any of the first three types mentioned and functionality is any of polynomial or functionfield, indicates the type of symmetry to be computed





Description


•

Given a PDE problem (PDESYS), as an equation or a set or list of them, SimilaritySolutions computes the socalled similarity solutions of PDESYS; these are solutions derived from a 1dimensional symmetry group admitted by PDESYS, by reducing the number of independent variables by one then attempting solving this reduced problem.

•

Similarity solutions are special cases of group invariant solutions that can be computed by reducing the number of independent variables by many in one go. Thus, if you are only interested in the PDE solutions, there is a difference to have in mind between these two solving approaches: computing similarity solutions requires computing additional symmetries for the reduced problem, after having reduced it, to further reduce the number of independent variables one at a time until obtaining an ODE problem, while that is not required when reducing the given PDE problem to an ODE problem in one go (i.e. reducing all but one of the independent variables in a single computational step) with InvariantSolutions.

•

If DepVars is not given, SimilaritySolutions will consider all the differentiated unknown functions in PDESYS as unknown of the problems. Specifying DepVars however permits not only restricting the unknowns in different ways but also specifying unknowns of the problems which do not appear differentiated in PDESYS.

•

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.


Optional arguments



A number of optional arguments can change the default computational behavior of InvariantSolutions in ways that, depending on the example or your needs, may be preferred.

•

checkconsistency = true  false

The default value is false; when true, the consistency of PDESYS is checked before proceeding. Note that one could construct the determining system for the symmetries of an inconsistent PDESYS, in which case the solution of the determining system and everything else derived from it would be meaningless.
•

closesystem = true  false


By default SimilaritySolutions processes PDESYS as given. If, in PDESYS, all the integrability conditions that can be derived from its equations are explicitly present, then the determining system for the symmetries is assured to have for solution all the symmetries of PDESYS. Otherwise, the determining system for the symmetries may in rare situations also (correctly) include equations that however may restrict the possible values of the symmetry solutions, and hence some of the symmetries be missed. Correspondingly, some invariant solutions may not be present in the output of SimilaritySolutions. Note also that, for a system to be closed, it is not sufficient to have it in reduced involutive or equivalent form produced by the casesplit and rifsimp commands or the DifferentialAlgebra package. To assure that all the integrability conditions are explicitly present use the option closesystem. See also the Library routine CloseSystem.

•

degreeofinfinitesimals = nonnegint  set(function = nonnegint)


This option is related to the option typeofsymmetry = polynomial explained below. By default, an upper bound for the degree of the polynomial dependency of the infinitesimals on the jet variables is determined by the Library routine UpperBounds. To override this behavior pass degreeofinfinitesimals = n, where is a nonnegative integer, so that Infinitesimals, called by SimilaritySolutions, will search for infinitesimals all of them of degree . You can also specify the degree of each infinitesimal, say, , , , passing, say, degreeofinfinitesimals = {_xi[1] = n, _xi[2] = m, _eta[1] = p}, where , , are nonnegative integers.

•

dependency = name  nonnegint  range(nonnegint)  set(name)  list(name), or a set or list of any of the previous types


The righthandside is a positive integer, or a set or list of independent variables of the PDE problem represented by PDESYS, respectively indicating either the minimum number of independent variables on which the solutions are expected to depend, or the actual independent variables expected in this dependency. This option is relevant in connection with the fact that some of the group invariant solutions do not depend on all the independent variables of the problem. If this option is not indicated, the solutions returned are computed regardless of their dependency, using as many symmetries as possible in one go.

•

dependencyofinfinitesimals = name  nonnegint  range(nonnegint)  set(name)  list(name), or a set or list of any of the previous types


This option is used to specify the dependency of the infinitesimals, typically to restrict it so that their computation is easier.

–

When dependencyofinfinitesimals = name, all the infinitesimals are assumed to depend only on that name variable.

–

Specifying a set of lists, for instance, if the jet variables are , , and , so that dependencyofinfinitesimals = {[x], [x, t], [t, u]},this option will generate a search for infinitesimals depending on any of the three lists of variables specified.

–

Specifying a set or list of names generates a search for infinitesimals depending on any but only one of the indicated variables.

•

HINT = <functional form of the infinitesimals>

•

reducedsystemsolver = ...


The righthandside is either pdsolve or SimilaritySolutions, specifies the command to be used to attempt solving the reduced PDESYS. The default command used is a combination of pdsolve, dsolve and solve and whenever the solution obtained involves ODESolStruc or DESol, this solution is discarded as unsuitable for representing PDE solutions. (Note: this may change in the future.)


The righthandside is either true or false, to remove or not redundant solutions that frequently appear in the set of group invariant solutions; they may be redundant in that they may be particular cases of more general solutions being returned together.


The righthandside indicates the simplifier to be used instead of the default which is simplify/size. This option is of use not just to simplify the solutions. You can specify any procedure to be used as simplifier; in this way you can have the computed InvariantSolutions postprocessed entirely in the way you need before being returned (e.g. discard some, do something else with other ones, etc.).


To split or not the list of infinitesimals into cases by specializing the integration constants (see related discussion in Infinitesimals) before computing invariants in the framework of the process to derive groupinvariant solutions from these infinitesimals. The default of this option is true. This option is irrelevant when invariants are passed using the invariants = ... option described above.

•

specialize_Fn = true  false  set(procedure)


By default the arbitrary functions entering the returned infinitesimals are not specialized. When specialize_Fn = true, these functions are specializing taking all of them but one equal to 0, the remaining one equal to 1 and to each of its arguments. So if an arbitrary function has  say  three arguments, then there will be four specializations. Alternatively you can specify a set of procedures to be applied to the arguments of the arbitrary functions, each one resulting in a different desired specialization.

•

typeofsymmetry = pointlike  evolutionary  contact  general  polynomial  functionfield  And(symmetry_type, functionality_type)


By default InvariantSolutions will search for point symmetries to construct the corresponding invariant solutions. Alternatively you can request it to search for symmetries with polynomial or functionfield type of functionality, or of evolutionary, contact or general symmetry types instead of pointlike, where in this context general means infinitesimals depending on derivatives of each unknown of the system up to order , where is the differential order of the unknown as found in the system, and evolutionary is like general but with the infinitesimals (related to transformations of the independent variables) all equal to zero. The righthandside can also be of the form And(symmetry_type, functionality_type) where symmetry_type is any of pointlike, evolutionary, contact or general, and functionality_type is one of polynomial or functionfield, the latter related to the FunctionFieldSolutions command. In these cases, You can set the degree of the polynomial or functionfield form using the option degreeofinfinitesimals explained above.




Compatibility


•

The typeofsymmetry option was updated in Maple 15.



Examples


Consider the wave equation in four dimensions to avoid redundant typing on input and on the display use diff_table and declare
>


>


>


 (1) 
>


 (2) 
You can compute the similarity solutions corresponding to all the point symmetries of pde[1] in one step by entering SimilaritySolutions(pde[1]); or better: check first the infinitesimals corresponding to point symmetries admitted by pde[1], then examine the different solutions and choose the more suitable one
>


 (3) 
>


 (4) 
These are the similarity solutions corresponding to the first list of infinitesimals in S[1]
>


 (5) 
You can test these results for correctness using the pdetest command
>


 (6) 
The approach by means of which SimilaritySolutions computes the solutions above consists of computing a similarity transformation that reduces the number of independent variables of the PDE system by one. For example, this is the similarity transformation
>


 (7) 
So this is the transformation to be used with dchange  the command for changing variables:
>


 (8) 
Solve now this PDE problem depending now on three variables (one less than pde[1])
>


 (9) 
Evaluate now TR at this solution for _(_, _, _) to obtain the solution of the original pde[1]
>


 (10) 
Verify this result
>


 (11) 
By default, SimilaritySolutions will specialize arbitrary functions found in the infinitesimals before attempting a reduction of the number of independent variables. This is so because infinitesimals with arbitrary functions are difficult to use, the invariants necessary may result, in practice, impossible to compute. On the other hand, when those invariants can be computed, the corresponding invariant solution is more general without specializing these arbitrary functions. To handle the latter case use the specialize_Fn = false, or with any procedure of your choice on the righthandside. Here are two examples illustrating the two situations.
Consider the wave equation in two dimensions:
>


>


 (12) 
Infinitesimals for this PDE can be computed and involve arbitrary functions
>


 (13) 
It is not possible to compute a SimilarityTransformation or for the case any symmetry related transformation with them, because of the arbitrary functions, all these commands return NULL:
>


>


>


In order to be able to use the infinitesimals S, these arbitrary functions are automatically specialized by all the symmetry commands (but for Infinitesimals), as you could see by interactively using specialize_Fn = true in the call to Infinitesimals
>


 (14) 
In this way, all these commands can deal with PDE properly
>


 (15) 
>


 (16) 
>


 (17) 
As an example where this approach leads to less general solutions consider this other PDE2, also admitting infinitesimals that depend on arbitrary functions
>


 (18) 
>


 (19) 
For these other infinitesimals, despite the arbitrary functions it is possible to compute all kinds of symmetry transformations, although the results involve uncomputed integrals
>


 (20) 
>


 (21) 
Consequently, the default solution returned by SimilaritySolutions is less general than the one you obtain enforcing the use of the infinitesimals with specialize_Fn = false
>


 (22) 
>


 (23) 


See Also


declare, DeterminingPDE, diff_table, InvariantSolutions, InvariantTransformation, PDEtools, PolynomialSolutions, SimilarityTransformation, SymmetrySolutions, SymmetryTest, SymmetryTransformation

