compute the right or left quotient of two Ore polynomials - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Skew Polynomials : OreTools : OreTools/QuoRem

OreTools[Quotient] - compute the right or left quotient of two Ore polynomials

OreTools[Remainder] - compute the right or left remainder of two Ore polynomials

Calling Sequence

Quotient['right'](Poly1, Poly2, A, 'R')

Quotient(Poly1, Poly2, A, 'R')

Quotient['left'](Poly1, Poly2, A, 'R')

Remainder['right'](Poly1, Poly2, A, 'Q')

Remainder(Poly1, Poly2, A, 'Q')

Remainder['left'](Poly1, Poly2, A, 'Q')

Parameters

Poly1

-

Ore polynomial; to define an Ore polynomial, use the OrePoly structure.

Poly2

-

nonzero Ore polynomial; to define an Ore polynomial, use the OrePoly structure.

A

-

Ore algebra; to define an Ore algebra, use the SetOreRing function.

Q, R

-

(optional) unevaluated names.

Description

• 

The Quotient['right'](Poly1, Poly2, A) or Quotient(Poly1, Poly2, A) calling sequence returns the right quotient Q of Poly1 and Poly2 such that:

Poly1=QPoly2+R

  

where the degree of the right remainder R is less than that of Poly2.

  

If the fourth argument 'R' is specified, it is assigned the right remainder defined above.

• 

The Quotient['left'](Poly1, Poly2, A) calling sequence returns the right quotient Q of Poly1 and Poly2 such that:

Poly1=Poly2Q+R

  

where the degree of the left remainder R is less than that of Poly2.

  

If the fourth argument 'R' is specified, it is assigned the left remainder defined above.

• 

The Remainder['right'](Poly1, Poly2, A) or Remainder(Poly1, Poly2, A) calling sequence returns the right remainder R of Poly1 and Poly2 such that:

Poly1=QPoly2+R

  

where the degree of R is less than that of Poly2 and Q is the right quotient.

  

If the fourth argument 'Q' is specified, it is assigned the right quotient defined above.

• 

The Remainder['left'](Poly1, Poly2, A) calling sequence returns the left remainder R of Poly1 and Poly2 such that:

Poly1=Poly2Q+R

  

where the degree of R is less than that of Poly2 and Q is the left quotient.

Examples

withOreTools:

A:=SetOreRingx,'differential'

A:=UnivariateOreRingx,differential

(1)

Poly1:=OrePoly1x,0,xx+1,x2x+2

Poly1:=OrePoly1x,0,xx+1,x2x+2

(2)

Poly2:=OrePolyx,x+1x,x

Poly2:=OrePolyx,x+1x,x

(3)

R1:=Remainder'right'Poly1,Poly2,A

R1:=OrePolyx2+4x+2xx+1x+2,x4x22x1x+2x2

(4)

R2:=RemainderPoly1,Poly2,A

R2:=OrePolyx2+4x+2xx+1x+2,x4x22x1x+2x2

(5)

MinusR1,R2

OrePoly0

(6)

R3:=Remainder'left'Poly1,Poly2,A

R3:=OrePoly5x9+40x8+151x7+287x6+302x5+193x4+58x330x232x8x3x+13x+24,x8+6x7+13x6+22x5+23x4+12x3+x28x4x+12x+23x2

(7)

R:=Remainder'right'Poly1,Poly2,A,'Q'

R:=OrePolyx2+4x+2xx+1x+2,x4x22x1x+2x2

(8)

Q

OrePolyx2+x+1xx+1x+2,xx+2

(9)

MinusPoly1,AddMultiplyQ,Poly2,A,R

OrePoly0

(10)

R:=Remainder'left'Poly1,Poly2,A,'Q'

R:=OrePoly5x9+40x8+151x7+287x6+302x5+193x4+58x330x232x8x3x+13x+24,x8+6x7+13x6+22x5+23x4+12x3+x28x4x+12x+23x2

(11)

Q

OrePoly4x2+5x+2x+1x+22x,xx+2

(12)

MinusPoly1,AddMultiplyPoly2,Q,A,R

OrePoly0

(13)

B:=SetOreRingx,'shift'

B:=UnivariateOreRingx,shift

(14)

Poly1:=OrePoly1x,0,xx+1,x2x+2

Poly1:=OrePoly1x,0,xx+1,x2x+2

(15)

Poly2:=OrePolyx,x+1x,x

Poly2:=OrePolyx,x+1x,x

(16)

Q:=QuotientPoly1,Poly2,B

Q:=OrePoly1x+12,x2x+2x+1

(17)

Q:=Quotient'right'Poly1,Poly2,B,'R'

Q:=OrePoly1x+12,x2x+2x+1

(18)

R

OrePoly2x+1xx+12,x4+x3+x+2xx+1x+2

(19)

MinusPoly1,AddMultiplyQ,Poly2,B,R

OrePoly0

(20)

Q:=Quotient'left'Poly1,Poly2,B

Q:=OrePoly1x1x22,x2x

(21)

Q:=Quotient'left'Poly1,Poly2,B,'R'

Q:=OrePoly1x1x22,x2x

(22)

R

OrePolyx36x2+8x4xx1x22,x54x4+5x32x2+x+1x2x12

(23)

MinusPoly1,AddMultiplyPoly2,Q,B,R

OrePoly0

(24)

See Also

OreTools, OreTools/Add, OreTools/Euclidean, OreTools/Multiply, OreTools/OreAlgebra, OreTools/OrePoly, OreTools[SetOreRing]


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