Overview - Maple Help

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 so-called 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 examples illustrating the use of the package's commands, see the Examples section of the ThomasDecomposition command and the DifferentialThomas Examples page.
 • 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 Lange-Hegermann. The redesign of the interface of DifferentialThomas was done by E. S. Cheb-Terrab in Maple 2018.

List of DifferentialThomas Package Commands

List of commands of the Tools subpackage of DifferentialThomas

Description of the DifferentialThomas package commands

 • ComplementOfDecomposition returns a Thomas decomposition of the complement of the solution sets given by the input.
 • Equations returns the equations of a differential system decomposition returned by ThomasDecomposition.
 • Inequations returns the inequations of a differential system decomposition returned by ThomasDecomposition.
 • IntersectDecompositions returns a Thomas decomposition of the solution set of the intersection of two or more differential system decompositions returned by ThomasDecomposition.
 • 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.
 • NormalForm computes the normal form of a differential polynomial w.r.t. a differential system decomposition returned by ThomasDecomposition.
 • PowerSeriesSolution computes a formal power series solution for a PDE system.
 • Ranking constructs a ranking for the dependent and independent variables used by all the DifferentialThomas commands.
 • ReducedForm computes a reduced form of a differential polynomial w.r.t. a decomposition of a differential system returned by ThomasDecomposition.
 • 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

 • CheckResults checks for correctness the differential system's decompositions returned by ThomasDecomposition.
 • 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.
 • Reset resets the DifferentialThomas environment (ranking, options) to its state when the package is loaded, equivalent to re-initializing 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 (1-4) (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 Lange-Hegermann and Daniel Robertz, Algorithmic Thomas decomposition of algebraic and differential systems. Journal of Symbolic Computation 47(10) (2012) 1233--1266.
 [5] Markus Lange-Hegermann, 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.