OreTools[Modular]
Add
add two Ore polynomials
Minus
subtract two Ore polynomials
ScalarMultiply
multiply an Ore polynomial on the left by a scalar
Multiply
multiply two Ore polynomials
Calling Sequence
Parameters
Description
Examples
Modular[Add](Ore1, Ore2, p)
Modular[Minus](Ore1, Ore2, p)
Modular[ScalarMultiply](s, Ore1, p)
Modular[Multiply](Ore1, Ore2, p, A)
Ore1, Ore2
-
Ore polynomials; to define an Ore polynomial, use the OrePoly structure
s
scalar from the coefficient domain
p
prime
A
Ore algebra; to define an Ore algebra, use the SetOreRing command
The Modular[Add](Ore1, Ore2, m) calling sequence adds the two Ore polynomials Ore1 and Ore2 modulo p.
The Modular[Minus](Ore1, Ore2, p) calling sequence subtracts the Ore polynomial Ore2 from the Ore polynomial Ore1 modulo p.
The Modular[ScalarMultiply](s, Ore1, p) calling sequence multiplies the Ore polynomial Ore1 on the left by the scalar s modulo p.
The Modular[Multiply](Ore1, Ore2, p, A) calling sequence multiplies the two Ore polynomials Ore1 and Ore2 in the Ore algebra A modulo m.
withOreTools:
Define the shift algebra.
A≔SetOreRingn,shift
A≔UnivariateOreRingn,shift
Ore1≔OrePoly−nn−1,−−5n+n2+3n−1,n−3
Ore1≔OrePoly−nn−1,−n2−5n+3n−1,n−3
Ore2≔OrePoly−n,3n−n2−1,n−12
Ore2≔OrePoly−n,−n2+3n−1,n−12
ModularAddOre1,Ore2,7
OrePoly6n2n+6,6n3+3n2+n+5n+6,n2+6n+5
ModularMinusOre1,Ore2,7
OrePolyn2+5nn+6,n3+2n2+2n+3n+6,6n2+3n+3
ModularScalarMultiply22,Ore1,17
OrePoly12nn+16,12n2+8n+2n+16,5n+2
ModularMultiplyOre1,Ore2,11,A
OrePolyn2n+10,2n3+4n2+10n+3n+10,n4+3n3+6n+2n+10,9n4+8n3+10n2+4n+3n+10,n+8n+12
See Also
OreTools
OreTools/Modular
OreTools/Modular/RightQuotient
OreTools/Modular/RightRemainder
OreTools/OreAlgebra
OreTools/OrePoly
OreTools[SetOreRing]
Download Help Document