Overview of the OreTools Package - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Packages : OreTools

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.

  

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

  

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.

Add

AdjointOrePoly

AdjointRing

Apply

Content

Euclidean

ExtendedGCD

GCD

LCM

Minus

MonicAssociate

Multiply

Normalize

ParametricGCRD

Primitive

Quotient

Remainder

ScalarMultiply

SetOreRing

 

• 

The following is a list of OreTools subpackages.

Consequences

Converters

FractionFree

MathOperations

Modular

Properties

Utility

 

• 

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

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.

A:=SetOreRingn,'shift'

A:=UnivariateOreRingn,shift

(2)

Ore1:=OrePolynn1,5n+n2+3n1,n3

Ore1:=OrePolynn1,n25n+3n1,n3

(3)

Ore2:=OrePolyn,3nn21,n12

Ore2:=OrePolyn,n2+3n1,n12

(4)

GCD'right'Ore1,Ore2,A

OrePoly1,1

(5)

GCD'left'Ore1,Ore2,A

OrePoly1

(6)

LCM'left'Ore1,Ore2,A

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

(7)

LCM'right'Ore1,Ore2,A

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

(8)

Define the q-shift polynomial ring.

A:=SetOreRingx,q,'qshift'

A:=UnivariateOreRingx,qshift

(9)

Poly:=OrePolyq1qx,1

Poly:=OrePolyqqx+1,1

(10)

ApplyPoly,sx,A

qqx+1sx+sqx

(11)

Poly1:=AdjointOrePolyPoly,A

Poly1:=OrePolyqqx1,1

(12)

ApplyPoly1,sx,A

qqx1sx+sqx

(13)

See Also

diffop, help, LinearOperators, LREtools, module, Ore_algebra, OreTools/OreAlgebra, OreTools/OrePoly, UsingPackages, with

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.


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam