#16383: Can't evaluate a polynomial on a finite field if representation is not
"poly"
-----------------------+-------------------------------------------
Reporter: landais | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: misc | Keywords: polynomial finite field
Merged in: | Authors:
Reviewers: | Report Upstream: N/A
Work issues: | Branch:
Commit: | Dependencies:
Stopgaps: |
-----------------------+-------------------------------------------
Evaluating a polynomial on a finite field does not work if the finite
field was created with a 'repr' argument in the constructor different
than the default one (poly).
Curently using sage 6.1.1 on ubuntu 12.04 but same behaviour in 6.2.
Here is the code that works :
{{{
sage: F.<a>=GF(2**8)
sage: PR.<x>=PolynomialRing(F)
sage: f=PR.random_element(9)
sage: b=F.random_element()
sage: f(b)
a^6 + a^5 + a^4 + a^3 + a^2 + 1
}}}
And the same code with the repr parameter changed (same behaviour with
repr="int") :
{{{
sage: F.<a>=GF(2**8, repr="log")
sage: PR.<x>=PolynomialRing(F)
sage: f=PR.random_element(9)
sage: b=F.random_element()
sage: f(b)
---------------------------------------------------------------------------
NameError Traceback (most recent call
last)
<ipython-input-5-a6714ffdcf66> in <module>()
----> 1 f(b)
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_zz_pex.so in
sage.rings.polynomial.polynomial_zz_pex.Polynomial_ZZ_pEX.__call__
(sage/rings/polynomial/polynomial_zz_pex.cpp:14427)()
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/structure/parent.so in sage.structure.parent.Parent.__call__
(sage/structure/parent.c:8858)()
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/structure/coerce_maps.so in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(sage/structure/coerce_maps.c:4206)()
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/structure/coerce_maps.so in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(sage/structure/coerce_maps.c:4113)()
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/rings/finite_rings/finite_field_givaro.pyc in
_element_constructor_(self, e)
355 2*a4^3 + 2*a4^2 + 1
356 """
--> 357 return self._cache.element_from_data(e)
358
359 def gen(self, n=0):
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/rings/finite_rings/element_givaro.so in
sage.rings.finite_rings.element_givaro.Cache_givaro.element_from_data
(sage/rings/finite_rings/element_givaro.cpp:6459)()
/home/local/user/sage/sage-6.2-x86_64-Linux/local/lib/python2.7/site-
packages/sage/rings/finite_rings/element_givaro.so in
sage.rings.finite_rings.element_givaro.Cache_givaro.element_from_data
(sage/rings/finite_rings/element_givaro.cpp:5381)()
<string> in <module>()
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/16383>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.