# Introduction to *OreModules*

*OreModules* is a Maple implementation of algorithms which
compute parametrizations, extension modules (ext), resolutions and
other algebraic objects for linear systems of differential equations,
time-delay systems, etc.
The package *OreModules*, based on an original program by
F. Chyzak and
A. Quadrat, is maintained and further developed by
A. Quadrat and D. Robertz.

The algebraic framework for *OreModules* are *Ore algebras*. In order to deal
with modules over Ore algebras computationally, this package is based on
the Maple library Mgfun
(e.g. Ore algebras and non-commutative Gröbner bases are
developed in Mgfun).
Within this unified framework, *OreModules* handles
- ordinary differential equations,
- partial differential equations,
- multidimensional discrete systems,
- differential time-delay systems,
- repetitive systems,
- multidimensional convolutional codes, etc.

These systems may be time-invariant or time-varying with polynomial or rational coefficients.

In the context of *linear control systems*, the main features of *OreModules* are
the following:
- Decide controllability and parametrizability.
- Construct (minimal) parametrizations.
- Compute Bezout identities (left/right/generalized inverses).
- Decide flatness (also π-freeness).

The latest version of *OreModules* is available for download.