Additive Order in Quotients of Univariate Polynomial Rings

asked 2019-11-12 03:53:28 -0600

Is it possible to compute the additive order of an element of a quotient univariate polynomial ring (even a field, in my case). It was constructed by taking a finite field of prime power and extended modulo an irreducible polynomial:

sage: F2 = GF(2,'x')
sage: F2 = GF(2,'x')
sage: F.<z> = F2.extension(101)
sage: Fx.<w> = F.extension(x^2+x+1)
sage: Fx
Univariate Quotient Polynomial Ring in w over Finite Field in z of size 2^101 with modulus w^2 + w + 1
sage: p = Fx.random_element()
sage: p
(z^99 + z^97 + z^96 + z^94 + z^93 + z^91 + z^90 + z^87 + z^86 + z^85 + z^84 + z^82 + z^81 + z^80 + z^79 + z^76 + z^75 + z^74 + z^71 + z^70 + z^69 + z^68 + z^65 + z^64 + z^62 + z^58 + z^56 + z^53 + z^52 + z^51 + z^50 + z^49 + z^45 + z^44 + z^43 + z^41 + z^40 + z^39 + z^38 + z^36 + z^35 + z^34 + z^32 + z^31 + z^30 + z^28 + z^24 + z^23 + z^20 + z^19 + z^13 + z^11 + z^9 + z^7 + z^4 + 1)*w + z^100 + z^98 + z^96 + z^92 + z^91 + z^90 + z^89 + z^88 + z^87 + z^86 + z^78 + z^77 + z^76 + z^73 + z^72 + z^68 + z^66 + z^63 + z^62 + z^61 + z^60 + z^59 + z^58 + z^57 + z^55 + z^50 + z^49 + z^48 + z^47 + z^43 + z^42 + z^41 + z^37 + z^35 + z^34 + z^32 + z^31 + z^30 + z^28 + z^27 + z^24 + z^23 + z^22 + z^21 + z^18 + z^15 + z^14 + z^10 + z^9 + z^7 + z^6 + z^5 + z^2 + z
sage: p.order()
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
<ipython-input-64-7d37096d97db> in <module>()
----> 1 p.order()

/Applications/SageMath/local/lib/python2.7/site-packages/sage/structure/element.pyx in sage.structure.element.ModuleElement.order (build/cythonized/sage/structure/element.c:16056)()
   2418         Return the additive order of self.
   2419         """
-> 2420         return self.additive_order()
   2421
   2422     def additive_order(self):

/Applications/SageMath/local/lib/python2.7/site-packages/sage/structure/element.pyx in sage.structure.element.RingElement.additive_order (build/cythonized/sage/structure/element.c:18501)()
   2664         Return the additive order of ``self``.
   2665         """
-> 2666         raise NotImplementedError
   2667
   2668     def multiplicative_order(self):

NotImplementedError:
edit retag flag offensive close merge delete