OreTools
Content
return the content of an Ore polynomial
Primitive
return primitive part of an Ore polynomial
MonicAssociate
return left or right monic associate of an Ore polynomial
Normalize
return the normal form of an Ore polynomial
Calling Sequence
Parameters
Description
Examples
Content(Poly, 'p')
Primitive(Poly, 'c')
MonicAssociate['left'](Poly, 's')
MonicAssociate(Poly, 's')
MonicAssociate['right'](Poly, A, 's')
Normalize(Poly)
Poly
-
Ore polynomial; to define an Ore polynomial, use the OrePoly structure.
A
Ore algebra; to define an Ore algebra, use the SetOreRing function.
c, p, s
(optional) names
The Content(Poly, 'p') calling sequence returns the content of the Ore polynomial Poly. If the second (optional) argument p is present, the primitive part of Poly is assigned to p.
The Primitive(Poly, 'c') calling sequence returns the primitive part of the Ore poly Poly. If the second (optional) argument c is present, the content of Poly is assigned to c.
If the coefficients of Poly are integral (commutative) polynomials, then its content c is the gcd of its coefficients and its primitive part is equal to (1/c) Poly.
If the coefficients of Poly are rational functions, then its content c and primitive part pp satisfy:
The primitive part pp is an Ore polynomial with integral (commutative) polynomial coefficients whose content is 1. Poly = c pp
The MonicAssociate['left'](Poly, 's') or MonicAssociate(Poly, 's') calling sequence returns (1/l) Poly where l is the leading coefficient of Poly. If the second (optional) argument s is present, (1/l) is assigned to l.
The MonicAssociate['right'](Poly, A, 's') calling sequence returns Poly a, where a belongs to the coefficient field such that the product (Poly a) is monic. If the third (optional) argument s, is present, a is assigned to s.
The Normalize(Poly) calling sequence returns Poly with nonzero leading coefficient when Poly is nonzero; returns 'OrePoly'(0), otherwise.
with⁡OreTools:
Ore1≔OrePoly⁡n,n2,n3
Content⁡Ore1,pp
n
pp
OrePoly⁡1,n,n2
Primitive⁡Ore1,c
c
MonicAssociateleft⁡Ore1,s
OrePoly⁡1n2,1n,1
s
n3
MonicAssociate⁡OrePoly⁡0
OrePoly⁡0
A≔SetOreRing⁡n,shift
A≔UnivariateOreRing⁡n,shift
MonicAssociateright⁡Ore1,A,s
OrePoly⁡nn−23,n2n−13,1
n−23
Normalize⁡OrePoly⁡0,n,n−1,0,0
OrePoly⁡0,n,n−1
See Also
OreTools/Arith
OreTools/OreAlgebra
OreTools/OrePoly
Download Help Document