OreTools[FractionFree] - Maple Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Skew Polynomials : OreTools : OreTools/FractionFree/RightEuclidean

OreTools[FractionFree]

  

RightEuclidean

  

return the subresultant sequence of first kind

  

RightPseudoQuotient

  

return the right pseudo-quotient

  

RightPseudoRemainder

  

return the right pseudo-remainder

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

RightEuclidean(Poly1, Poly2, A, 'c1', 'c2')

RightPseudoRemainder(Poly1, Poly2, A, 'mult', 'pquo')

RightPseudoQuotient(Poly1, Poly2, A, 'mult', 'prem')

Parameters

Poly1, Poly2

-

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

A

-

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

c1, c2, mult, pquo, prem

-

(optional) unevaluated names.

Description

• 

The RightEuclidean(Poly1, Poly2, A) calling sequence returns a list [m, S] where m is a positive integer and S is an array with m elements storing the subresultant sequence of the first kind of Poly1 and Poly2.

  

If Poly1 and Poly2 are fraction-free, and the commutation rule of the Ore algebra A are also fraction-free, then the output of RightEuclidean is fraction-free.

• 

If the optional fourth argument to the RightEuclidean command c1 is specified, the first co-sequence of Poly1 and Poly2 is assigned to c1, so that:

c1iPoly2=Simod Poly1,i=1,2,...,m

  

and c1[m+1] Poly2 is a least common left multiple (LCLM) of Poly1 and Poly2.

• 

If the optional fifth argument to the RightEuclidean command c2 is specified, the second co-sequence of Poly1 and Poly2 is assigned to c2, so that:

c1iPoly2+c2iPoly1=Sii=1,2,...,m

  

and c1[m+1] Poly2 = - c2[m+1] Poly1 is an LCLM of Poly1 and Poly2.

• 

The RightPseudoRemainder(Poly1, Poly2, A) calling sequence returns the right pseudo-remainder R of Poly1 and Poly2 such that:

mult Poly1=pquo Poly2+R

  

where the degree of R is less than that of Poly2, pquo is the right pseudo-quotient, and mult (the multiplier) is the degreePoly1degreePoly2+1th sigma power of the leading coefficient of Poly2.

  

If the fourth argument 'mult' is specified, it is assigned the multiplier defined above. If the fifth argument 'pquo' is specified, it is assigned the right pseudo-quotient defined above.

• 

The RightPseudoQuotient(Poly1, Poly2, A) calling sequence returns the right pseudo-quotient Q of Poly1 and Poly2 such that:

mult Poly1=QPoly2+prem

  

where the degree of the right pseudo-remainder prem is less than that of Poly2 and mult (the multiplier) is the degreePoly1degreePoly2+1th sigma power of the leading coefficient of Poly2.

  

If the fourth argument 'mult' is specified, it is assigned the multiplier defined above. If the fifth argument 'prem' is specified, it is assigned the right pseudo-remainder defined above.

Examples

withOreTools:

withOreTools[FractionFree]:

ASetOreRingx,'differential'

A:=UnivariateOreRingx,differential

(1)

Ore1OrePoly1,3x,x21+x,23x+1

Ore1:=OrePoly1,3x,x2x1,23x+1

(2)

Ore2OrePolyx,x,x2+x+1

Ore2:=OrePolyx,x,x2+x+1

(3)

VRightEuclideanOre2,Ore1,A,'c1','c2'

V:=4,S

(4)

Check the result

mV1;SV2

m:=4

S:=S

(5)

printS

OrePoly1,3x,x2x1,23x+1OrePolyx,x,x2+x+1OrePolyx5+x4+49x3+7x220x,2x517x4+32x314x220x1OrePolyx8+3x7209x6+1005x5+61x4587x3+971x2+35x20

(6)

foritomdoW1Multiplyc1i,Ore2,A;W2Multiplyc2i,Ore1,A;WAddW1,W2;CMinusW,Si;printCend do:

OrePoly0

OrePoly0

OrePoly0

OrePoly0

(7)

W3Multiplyc1m+1,Ore2,A:

W4Multiplyc2m+1,Ore1,A:

AddW3,W4

OrePoly0

(8)

Poly1OrePolyx,0,x+1,x+2

Poly1:=OrePolyx,0,x+1,x+2

(9)

Poly2OrePolyx,x+1,x21

Poly2:=OrePolyx,x+1,x21

(10)

BSetOreRingx,'shift'

B:=UnivariateOreRingx,shift

(11)

RRightPseudoRemainderPoly1,Poly2,B

R:=OrePolyx5+x43x3+4x,2x46x3x2+9x+6

(12)

RRightPseudoRemainderPoly1,Poly2,B,'m','Q'

R:=OrePolyx5+x43x3+4x,2x46x3x2+9x+6

(13)

m

x4+2x3x22x

(14)

Q

OrePolyx3+2x22x4,x21x+2

(15)

Check the result

evalbfactorAddMultiplyQ,Poly2,B,R=factorScalarMultiplym,Poly1

true

(16)

QRightPseudoQuotientPoly1,Poly2,A

Q:=OrePolyx32x28x3,x21x+2

(17)

QRightPseudoQuotientPoly1,Poly2,B,'m','R'

Q:=OrePolyx3+2x22x4,x21x+2

(18)

m

x4+2x3x22x

(19)

R

OrePolyx5+x43x3+4x,2x46x3x2+9x+6

(20)

Check the result

evalbfactorAddMultiplyQ,Poly2,B,R=factorScalarMultiplym,Poly1

true

(21)

References

  

Li, Z. "A subresultant theory for Ore polynomials with applications." Proc. of ISSAC'98. pp. 132-139. Edited by O. Gloor. ACM Press, 1998.

See Also

OreTools

OreTools/OreAlgebra

OreTools/OrePoly

OreTools[Euclidean]

OreTools[FractionFree]

OreTools[Quotient]

OreTools[Remainder]

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