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.
with⁡OreTools:
Define the shift algebra.
A≔SetOreRing⁡n,shift
A≔UnivariateOreRing⁡n,shift
Ore1≔OrePoly⁡−nn−1,−−5⁢n+n2+3n−1,n−3
Ore1≔OrePoly⁡−nn−1,−n2−5⁢n+3n−1,n−3
Ore2≔OrePoly⁡−n,3⁢n−n2−1,n−12
Ore2≔OrePoly⁡−n,−n2+3⁢n−1,n−12
ModularAdd⁡Ore1,Ore2,7
OrePoly⁡6⁢n2n+6,6⁢n3+3⁢n2+n+5n+6,n2+6⁢n+5
ModularMinus⁡Ore1,Ore2,7
OrePoly⁡n2+5⁢nn+6,n3+2⁢n2+2⁢n+3n+6,6⁢n2+3⁢n+3
ModularScalarMultiply⁡22,Ore1,17
OrePoly⁡12⁢nn+16,12⁢n2+8⁢n+2n+16,5⁢n+2
ModularMultiply⁡Ore1,Ore2,11,A
OrePoly⁡n2n+10,2⁢n3+4⁢n2+10⁢n+3n+10,n4+3⁢n3+6⁢n+2n+10,9⁢n4+8⁢n3+10⁢n2+4⁢n+3n+10,n+8⁢n+12
See Also
OreTools
OreTools/Modular
OreTools/Modular/RightQuotient
OreTools/Modular/RightRemainder
OreTools/OreAlgebra
OreTools/OrePoly
OreTools[SetOreRing]
Download Help Document