PolynomialTools[PolynomialToPDE] - convert polynomials to PDEs
PolynomialTools[PDEToPolynomial] - convert PDEs to polynomials
|
Calling Sequence
|
|
PolynomialToPDE(polys, vars, depvars)
PDEToPolynomial(pdes, vars, depvars)
|
|
Parameters
|
|
polys
|
-
|
list (or set) of polynomials or polynomial equations in vars which is linear and homogeneous in the variables depvars
|
vars
|
-
|
list of independent variables
|
depvars
|
-
|
list of dependent variables
|
pdes
|
-
|
list or set of PDEs in the independent variables vars which is linear and homogeneous in its dependent variables depvars
|
|
|
|
|
Description
|
|
•
|
The function PolynomialToPDE maps polynomials to linear homogeneous PDEs and has as its inverse PDEToPolynomial. These maps implement an equivalence between polynomial ideals (and in general modules), and systems of linear homogeneous constant coefficient PDEs.
|
•
|
These functions widen the set of tools that can be applied to both domains. For example, Groebner-like differential elimination algorithms, correspond to Groebner bases of modules under PolynomialToPDE. Efficiency features such as case-splitting in the differential packages, restricting time limits on the cases, storage of partial results, and selecting maximal dimension cases are made available for polynomial systems through this map. Conversely, polynomial features are made available for differential systems by using PDEToPolynomial. PDE solving can also benefit from this correspondence.
|
•
|
Applied to a single polynomial (or PDE), the function PolynomialToPDE (or PDEToPolynomial) is respectively:
|
•
|
PDEToPolynomial applies to PDEs which are linear and homogeneous in , with coefficients independent of .
|
•
|
In the case of one dependent variable the dependent variable is omitted: PDEToPolynomial([p(D1,...,Dn) u1(x)], [x], [u1]) yields . Similarly, it is possible to apply PolynomialToPDE to a polynomial in vars, without any dependent variable present in depvars.
|
•
|
This mapping between linear homogeneous system of partial differential equations is an isomorphism between the differential ring and the corresponding polynomial ring (viewed as a module generated by ).
|
•
|
These functions are part of the PolynomialTools package, and so they can be used in the form PolynomialToPDE(..) only after executing the command with(PolynomialTools). However, they can always be accessed through the long form of the command by using PolynomialTools[PolynomialToPDE](..).
|
|
|
Examples
|
|
>
|
|
>
|
|
| (1) |
So and , and the inverse map is given by the following.
>
|
|
| (2) |
If there is only one dependent variable, then it is omitted in the polynomial by default.
>
|
|
| (3) |
The following is a computation of a Groebner Basis:
>
|
|
>
|
|
| (4) |
The same calculation, but by mapping to a PDE, then using DEtools[rifsimp], then mapping back to polynomials:
>
|
|
>
|
|
| (5) |
Computation of a Differential Groebner Basis for a differential system by converting it to a module:
>
|
|
>
|
|
>
|
|
| (6) |
>
|
|
>
|
|
>
|
|
| (7) |
In terms of the PDEs, this basis is:
>
|
|
| (8) |
The following calculation illustrates the equivalence between the differential and the polynomial calculations calculated directly:
>
|
|
| (9) |
Find the values of b and c such that the following system of polynomials has nontrivial solutions.
>
|
|
>
|
|
>
|
|
| (10) |
|
|