#11780: Creating a polynomial ring over a number field results in a non-unique
polynomial ring over the rationals
-------------------------+--------------------------------------------------
Reporter: SimonKing | Owner: robertwb
Type: defect | Status: new
Priority: major | Milestone: sage-4.7.2
Component: coercion | Keywords: non-unique polynomial ring number
field
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
-------------------------+--------------------------------------------------
The problem is the following code in
`sage.libs.singular.ring.singular_ring_new`:
{{{
#!python
elif PY_TYPE_CHECK(base_ring, FiniteField_generic):
if base_ring.characteristic() <= 2147483629:
characteristic = -base_ring.characteristic() # note the
negative characteristic
else:
raise TypeError, "characteristic must be <= 2147483629."
# TODO: This is lazy, it should only call Singular stuff not
MPolynomial stuff
k = MPolynomialRing_libsingular(base_ring.prime_subfield(), 1,
base_ring.variable_name(), 'lex')
minpoly = base_ring.polynomial()(k.gen())
is_extension = True
elif PY_TYPE_CHECK(base_ring, NumberField) and
base_ring.is_absolute():
characteristic = 1
k = MPolynomialRing_libsingular(RationalField(), 1,
base_ring.variable_name(), 'lex')
minpoly = base_ring.polynomial()(k.gen())
is_extension = True
}}}
Hence, a multivariate libsingular polynomial ring is constructed without
using the (cached) polynomial ring constructor. The comment should rather
not be "This is lazy,..." but "This is dangerous, it should only call
polynomial ring constructor stuff, not MPolynomial stuff".
I am trying to find an example in unpatched Sage where this is actually a
problem. However, while working at #10667, the non-unique parents led to
several hundred doctest errors in elliptic curves.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11780>
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.