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

  

Remainder

  

compute the right or left remainder of two Ore polynomials

 

Calling Sequence

Parameters

Description

Examples

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:

ASetOreRingx,'differential'

A:=UnivariateOreRingx,differential

(1)

Poly1OrePoly1x,0,xx+1,x2x+2

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

(2)

Poly2OrePolyx,x+1x,x

Poly2:=OrePolyx,x+1x,x

(3)

R1Remainder['right']Poly1,Poly2,A

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

(4)

R2RemainderPoly1,Poly2,A

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

(5)

MinusR1,R2

OrePoly0

(6)

R3Remainder['left']Poly1,Poly2,A

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

(7)

RRemainder['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)

RRemainder['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)

BSetOreRingx,'shift'

B:=UnivariateOreRingx,shift

(14)

Poly1OrePoly1x,0,xx+1,x2x+2

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

(15)

Poly2OrePolyx,x+1x,x

Poly2:=OrePolyx,x+1x,x

(16)

QQuotientPoly1,Poly2,B

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

(17)

QQuotient['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)

QQuotient['left']Poly1,Poly2,B

Q:=OrePoly1x1x22,x2x

(21)

QQuotient['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