Modulus operation in PolynomialRing with many variables

25 views
Skip to first unread message

Oleksandr Kazymyrov

unread,
Aug 1, 2012, 4:13:22 PM8/1/12
to sage-s...@googlegroups.com

How to get polynomial by modulus in PolynomialRing with many variables?

sage: P=PolynomialRing(GF(2^8,'a'),['x','b','c'])
sage: f=P.random_element(8)
sage: f
(a^7 + a^4 + a^3 + a^2 + a + 1)*x*b^6*c + (a^6 + a^4 + a + 1)*x^6*b + (a^7 + a^5 + a)*b*c^5 + (a^7 + a^6 + a^5 + a^4 + a^3 + a^2 + 1)*x^2*b^2*c + (a^7 + a^6 + a^5 + 1)*x*b*c^3
sage: f.mod(P("x^2+1"))
(a^7 + a^4 + a^3 + a^2 + a + 1)*x*b^6*c + (a^6 + a^4 + a + 1)*x^6*b + (a^7 + a^5 + a)*b*c^5 + (a^7 + a^6 + a^5 + a^4 + a^3 + a^2 + 1)*x^2*b^2*c + (a^7 + a^6 + a^5 + 1)*x*b*c^3

I expect that all monomials have degree at most 1.

Oleksandr Kazymyrov

unread,
Aug 2, 2012, 4:44:38 AM8/2/12
to sage-s...@googlegroups.com
I have found the way how to fix it. If I use order 'deglex'
P=PolynomialRing(GF(2^8,'a'),['x','c','b'],order='deglex')
the result looks like correct
sage: f.mod(x^2+1)
(a^7 + a^6 + a^5 + 1)*x*c^3*b + (a^7 + a^4 + a^3 + a^2 + a + 1)*x*c*b^6 + (a^7 + a^5 + a)*c^5*b + (a^7 + a^6 + a^5 + a^4 + a^3 + a^2 + 1)*c*b^2 + (a^6 + a^4 + a + 1)*b

But in general case I think that it is bug. 
Reply all
Reply to author
Forward
0 new messages