Overview - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Overview of the OreTools Package

 

Calling Sequence

Description

List of OreTools Package Commands

List of OreTools Subpackages

Examples

References

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.

  

-  Define an Ore ring: SetOreRing

  

-  Perform basic arithmetic: Add, Minus, ScalarMultiply, Multiply, Quotient, Remainder, Euclidean, ExtendedGCD, GCD, LCM, Primitive, Content, Normalize, MonicAssociate

  

-  Define an adjoint Ore ring and construct an adjoint Ore polynomial: AdjointRing, AdjointOrePoly

  

-  Apply an Ore operator to a given expression: Apply

  

-  Convert between different representations by functions in the submodule Converters: Converters:-FromOrePolyToLinearEquation, Converters:-FromLinearEquationToOrePoly, Converters:-FromOrePolyToPoly, Converters:-FromPolyToOrePoly

  

-  Perform fraction-free computation by functions in the submodule FractionFree: FractionFree:-RightPseudoRemainder, FractionFree:-RightPseudoQuotient, FractionFree:-RightEuclidean

  

-  Perform certain mathematical constructions by functions in the submodule MathOperations: MathOperations:-AccurateIntegration, MathOperations:-HilbertTwistReduction, MathOperations:-InverseOfHilbertTwistReduction

  

-  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

  

-  Access properties of a given algebra by functions in the submodule Properties: Properties:-GetRingName, Properties:-GetVariable, Properties:-GetSigma, Properties:-GetSigmaInverse, Properties:-Getdelta, Properties:-GetTheta1

  

-  Compute various coefficients and degrees of  an Ore polynomial by functions in the submodule Utility: Utility:-Coefficient, Utility:-Coefficients, Utility:-LeadingCoefficient, Utility:-TrailingCoefficient, Utility:-Degree, Utility:-LowDegree, Utility:-VariableDegree

  

-  Useful tools: Converters:-AddConversionRule, Utility:-RandOrePoly, Consequences:-MinimalEquation, Consequences:-ReducedSystem

• 

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.

• 

The long form, OreTools:-command, is always available. The short form can be used after loading the package.

List of OreTools Package Commands

• 

The following is a list of available commands.

Add

AdjointOrePoly

AdjointRing

Apply

Content

Euclidean

ExtendedGCD

GCD

LCM

Minus

MonicAssociate

Multiply

Normalize

ParametricGCRD

Primitive

Quotient

Remainder

ScalarMultiply

SetOreRing

 

• 

To display the help page for a particular OreTools command, see Getting Help with a Command in a Package.

List of OreTools Subpackages

• 

The following is a list of OreTools subpackages.

Consequences

Converters

FractionFree

MathOperations

Modular

Properties

Utility

 

Examples

withOreTools

Add,AdjointOrePoly,AdjointRing,Apply,Consequences,Content,Converters,Convertors,Euclidean,ExtendedGCD,FractionFree,GCD,LCM,MathOperations,Minus,Modular,MonicAssociate,Multiply,Normalize,ParametricGCRD,Primitive,Properties,Quotient,Remainder,ScalarMultiply,SetOreRing,Utility

(1)

Define the shift polynomial ring.

ASetOreRingn,shift

AUnivariateOreRingn,shift

(2)

Ore1OrePolynn1,5n+n2+3n1,n3

Ore1OrePolynn1,n25n+3n1,n3

(3)

Ore2OrePolyn,3nn21,n12

Ore2OrePolyn,n2+3n1,n12

(4)

GCDrightOre1,Ore2,A

OrePoly−1,1

(5)

GCDleftOre1,Ore2,A

OrePoly1

(6)

LCMleftOre1,Ore2,A

OrePolyn+1nn23n+2,2n34n23n+3n2n23n+2,n34n2+n+3n2n2,1

(7)

LCMrightOre1,Ore2,A

OrePolyn620n5+152n4560n3+1036n2880n+271nn935n8+524n74376n6+22246n570218n4+133143n3134227n2+43670n+18200,2nn718n6+122n5388n4+550n3118n2465n+316n417n3+106n2288n+288n59n4+21n35n231n+31,nn817n7+99n6206n592n4+988n31503n2+1029n299n38n2+21n18n54n45n3+14n29n+8n5,2nn76n65n5+66n449n360n232n+46n24n+4n5+n411n315n27n+5n4,1

(8)

Define the q-shift polynomial ring.

ASetOreRingx,q,qshift

AUnivariateOreRingx,qshift

(9)

PolyOrePolyq1qx,1

PolyOrePolyqqx+1,1

(10)

ApplyPoly,sx,A

qqx+1sx+sqx

(11)

Poly1AdjointOrePolyPoly,A

Poly1OrePolyqqx1,1

(12)

ApplyPoly1,sx,A

qqx1sx+sqx

(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.

See Also

diffop

help

LinearOperators

LREtools

module

Ore_algebra

OreTools/OreAlgebra

OreTools/OrePoly

UsingPackages

with