#11239: Incorrect coercion of polynomials over finite fields
---------------------------+------------------------------------------------
Reporter: johanbosman | Owner: robertwb
Type: defect | Status: new
Priority: major | Milestone: sage-4.7
Component: coercion | Keywords: finite fields, polynomials,
coercion
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
---------------------------+------------------------------------------------
Incorrect coercion of polynomials over finite fields
Trying to coerce a polynomial over a finite field into a polynomial ring
over a bigger field gives a bogus result:
{{{
sage: Fq.<a> = GF(5^2)
sage: Fqq.<b> = GF(5^4)
sage: f = Fq['x'].random_element(); f
3*x^2 + (a + 4)*x + 2*a + 4
sage: Fqq['y'](f)
3*y^2 + (b + 4)*y + 2*b + 4
}}}
In this example, Sage simply replaces every ‘a’ with ‘b’, but a is not b.
If we coerce directly from Fq to Fqq, we get a NotImplementedError, which
is unfortunate but in any case not incorrect. ;).
{{{
sage: Fqq(a)
…
/usr/local/share/sage/sage/local/lib/python2.6/site-
packages/sage/rings/finite_rings/finite_field_givaro.pyc in
_coerce_map_from_(self, R)
348 elif self.degree() % R.degree() == 0:
349 # This is where we *would* do coercion from
one nontrivial finite field to another...
--> 350 raise NotImplementedError
351
352 def gen(self, n=0):
NotImplementedError:
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11239>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.