OreAlgebraicAnalysis is a Mathematica package dedicated to algebraic analysis based algorithms for the study of linear functional systems such as ordinary or partial differential systems, differential time-delay systems, difference systems, ...
Within the algebraic analysis approach, a linear functional system is studied by means of a finitely presented left module over a certain noncommutative polynomial ring of functional operators (e.g., ordinary or partial differential operators, shift operators, time-delay operators). Using Gröbner basis techniques over Ore algebras of functional operators, the OreAlgebraicAnalysis package contains implementations of recent algorithms which study properties and invariants of modules, and thus, by duality, of the associated linear functional systems. The OreAlgebraicAnalysis package can be used to study (determined/overdetermined/underdetermined) linear functional systems appearing, e.g., in control theory and in mathematical physics. For instance, structural properties of linear functional systems can algorithmically be decided (e.g., existence and computation of autonomous elements, (injective, minimal, chain of) parametrizations, potentials, flat outputs, decide Willems' controllability and observability). We point out that the algorithms implemented in this package are generic in the sense that they do not depend on the Ore algebras. For more information, see the Library of Examples.
To define, manipulate and compute in Ore algebras of functional operators, we use the Mathematica package HolonomicFunctions developed by C. Koutschan. This package contains an implementation of Gröbner basis techniques for left ideals of some classes of Ore algebras. OreAlgebraicAnalysis extends these Gröbner basis techniques to finitely presented left modules over the same classes of Ore algebras. It also contains algorithms for module theory (e.g., test whether or not a module admits torsion elements, is torsion-free, reflexive, projective, stably free, free) and homological algebra (e.g., computation of free resolutions, projective dimension, extension modules with value in the underlying ring, invariants, ...).
The OreAlgebraicAnalysis package includes the main procedures implemented in the Maple packages OreModules and OreMorphisms developed by T. Cluzeau, A. Quadrat and D. Robertz. Since HolonomicFunctions can handle larger classes of Ore algebras than the Maple package Ore_algebra, OreAlgebraicAnalysis can study larger classes of linear functional systems than the Maple packages OreModules and OreMorphisms. Moreover, the internal design of Mathematica can allow us to consider classes of systems which could not easily be considered in Maple such as generic linearizations of nonlinear functional systems defined by explicit equations and systems containing transcendental functions (e.g., trigonometric functions, special functions). For more details, see the Library of Examples.
The latest version of OreAlgebraicAnalysis is available for download.