Overview of the DifferentialThomas Package

Description


•

The DifferentialThomas package implements algebraic and differential elimination algorithms to perform a disjoint decomposition of a system of differential equations and inequations into socalled simple and integrable systems. The definition of simple and integrable systems and the algorithm are derived from Joseph Miller Thomas' work. This decomposition is key for simplifying systems of polynomial differential equations and computing formal power series solutions for them. (See References.)

•

The main functionality of the package is provided by the ThomasDecomposition function, which permits triangularizing a differential equation system so that it can be solved eliminating one variable at a time, simplifying the system with respect to its integrability conditions, or determining its singular cases. Commands are also provided to solve related problems, such as IntersectDecompositions for computing the intersection of two decompositions, possibly performed on the same differential system but using different rankings, NormalForm for deciding membership to a radical differential ideal, and ReducedForm for reducing a system with respect to another one. The command for computing formal power series solutions to differential equation systems is PowerSeriesSolution. Other commands for analyzing mathematical properties of differential systems or performing algebraic manipulation and related programming are listed below.

•

For more information about the mathematical terminology used in the help pages of this package, see the Glossary page of the DifferentialAlgebra package.


Note: to have any of the dsolve, pdsolve and PDEtools:casesplit commands performing their computations using the DifferentialThomas package for differential elimination purposes, pass the keyword DifferentialThomas as an extra argument.

•

Each command in the DifferentialThomas package can be accessed by using either the long form or the short form of the command name in the command calling sequence.

•

The DifferentialThomas package is based on software developed by Markus LangeHegermann. The redesign of the interface of DifferentialThomas was done by E. S. ChebTerrab in Maple 2018.



List of DifferentialThomas Package Commands




List of commands of the Tools subpackage of DifferentialThomas




Description of the DifferentialThomas package commands


•

LinearCombination computes the normal form of a differential polynomial w.r.t. a differential system decomposition returned by ThomasDecomposition and additionally computes how this normal form is created as a linear combination of the (derivatives of the) equations in the system.

•

Ranking constructs a ranking for the dependent and independent variables used by all the DifferentialThomas commands.

•

ThomasDecomposition computes a disjoint decomposition (triangularization) of a differential system according to a ranking set with Ranking.

•

Tools is a subpackage with tool commands for performing diverse operations useful in the context of differential algebra computations.



Description of the DifferentialThomas[Tools] package commands


•

Differentiate computes the derivative of a differential polynomial.

•

Display
displays information regarding the ranking, or information such as the equations and inequations, history and Janet trees of a decomposition of a differential system returned by ThomasDecomposition.

•

FromJet rewrites from the standard function notation to the jet notation used internally by the DifferentialThomas commands.

•

Initial returns the initial of a differential polynomial.

•

Leader returns the leader of a differential polynomial.

•

Reset resets the DifferentialThomas environment (ranking, options) to its state when the package is loaded, equivalent to reinitializing the package.

•

RunEncapsulated runs any ordered list of DifferentialThomas computations with any preferred options (e.g. a different ranking) without changing the existing DifferentialThomas environment at the time of running the computation.

•

Separant returns the separant of a differential polynomial.

•

ThomasOptions sets different options of the DifferentialThomas environment.

•

ToJet rewrites from the jet notation used internally by the DifferentialThomas commands to the standard function notation.



References

[1] Joseph M. Thomas, Riquier’s Existence Theorems, Annals of Mathematics (2) 30 (14) (1928/29) 285–310.


[2] Joseph M. Thomas, Differential Systems, American Mathematical Society, Colloquium Publications, Vol.XXI, New York, N. Y., 1937.


[3] Joseph M. Thomas, Systems and Roots, William Byrd Press, Richmond, VA, 1962.


[4] Thomas Baechler, Vladimir Gerdt, Markus LangeHegermann and Daniel Robertz, Algorithmic Thomas decomposition of algebraic and differential systems. Journal of Symbolic Computation 47(10) (2012) 12331266.


[5] Markus LangeHegermann, Counting Solutions of Differential Equations, Ph.D. Thesis, Faculty of Mathematics, Computer Science and Natural Sciences of RWTH Aachen University, 2014.


[6] Daniel Robertz, Formal Algorithmic Elimination for PDEs, Vol. 2121 of Lecture Notes in Mathematics, Springer, Cham, 2014.




