Overview of the OreTools Package
|
Calling Sequence
|
|
OreTools[command](arguments)
command(arguments)
|
|
Description
|
|
•
|
Pseudo-linear algebra (also known as Ore algebra) is the study of common properties and common mathematical abstraction of linear functional equations such as differential and difference equations. The objects of study in pseudo-linear algebra are skew polynomials, which represent single equations, and pseudo-linear operators, which represent systems.
|
•
|
Algebraic algorithms have been generalized to arbitrary pseudo-linear equations. This includes algorithms to:
|
|
- Uncouple systems of linear functional equations
|
|
- Construct the minimal annihilator
|
|
- Solve the accurate integration problem
|
|
- Find the d'Alembertian solution of linear functional equations
|
•
|
The OreTools package is designed to perform the basic arithmetic in Ore algebra. The routines are classified as follows.
|
|
- Perform basic arithmetic: Add, Minus, ScalarMultiply, Multiply, Quotient, Remainder, Euclidean, ExtendedGCD, GCD, LCM, Primitive, Content, Normalize, MonicAssociate
|
|
- Apply an Ore operator to a given expression: Apply
|
|
- Perform modular arithmetic by functions in the submodule Modular: Modular[Add], Modular[Minus], Modular[ScalarMultiply], Modular[Multiply], Modular[RightRemainder], Modular[RightQuotient], Modular[RightPseudoRemainder], Modular[RightPseudoQuotient], Modular[RightEuclidean], Modular[FractionFreeRightEuclidean], Modular[GCRD], Modular[LCLM]
|
•
|
For a brief review of pseudo-linear algebra (also known as Ore algebra), see OreAlgebra.
|
•
|
For a description of the OrePoly structure, which is used to represent an Ore polynomial, see OrePoly.
|
•
|
The main difference between the OreTools and Ore_algebra packages is that, in the OreTools package, the skew polynomial rings are defined over a field, whereas in the Ore_algebra package, the skew polynomial rings are defined over a ring.
|
•
|
Each command in the OreTools package can be accessed by using either the long form or the short form of the command name in the command calling sequence.
|
|
As the underlying implementation of the OreTools package is a module, it is also possible to use the form OreTools:-command to access a command from the package. For more information, see Module Members.
|
|
|
List of OreTools Package Commands
|
|
•
|
The following is a list of available commands.
|
•
|
The following is a list of OreTools subpackages.
|
|
|
Examples
|
|
>
|
|
| (1) |
Define the shift polynomial ring.
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
>
|
|
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
Define the q-shift polynomial ring.
>
|
|
| (9) |
>
|
|
| (10) |
>
|
|
| (11) |
>
|
|
| (12) |
>
|
|
| (13) |
|
|
References
|
|
|
Abramov, S. A.; Le, H. Q.; and Li, Z. "OreTools: a computer algebra library for univariate Ore polynomial rings." Technical Report CS-2003-12, School of Computer Science, University of Waterloo, 2003.
|
|
Bronstein, M., and Petkovsek, M. "An introduction to pseudo-linear algebra" Theoretical Computer Science. Vol. 157, (1996): 3-33.
|
|
Ore, O. "Theory of non-commutative polynomials." Annals of Mathematics. Vol. 34, (1933): 480-508.
|
|
|