#13345: Test if the assumptions made by quotient rings are fulfilled
------------------------+---------------------------------------------------
Reporter: tfeulner | Owner: AlexGhitza
Type: defect | Status: new
Priority: major | Milestone: sage-5.3
Component: algebra | Keywords:
Work issues: | Report Upstream: N/A
Reviewers: | Authors: Thomas Feulner
Merged in: | Dependencies:
Stopgaps: |
------------------------+---------------------------------------------------
In the definition of a QuotientRing there is the following assumption
ASSUMPTION:
``I`` has a method ``I.reduce(x)`` returning the normal form
of elements `x\in R`. In other words, it is required that
``I.reduce(x)==I.reduce(y)`` `\iff x-y \in I`, and
``x-I.reduce(x) in I``, for all `x,y\in R`.
On the other hand, the default definition of reduce in
sage/rings/ideal.py says
def reduce(self, f):
return f # default
As a consequence one gets
{{{
sage: Z4x.<x> = Integers(4)[]
sage: GR.<y> = Z4x.quotient_ring(x**2+x+1)
sage: R = GR.quo(GR.ideal(2))
sage: R(y+2) == R(y)
False
}}}
This patch adds a deprecation warning in reduce(). It also introduces a
test in QuotientRing_nc.__init__(), which determines if the ideal class
overwrites the definition of reduce().
There is also a discussion about this on https://groups.google.com/d/topic
/sage-devel/s5y604ZPiQ8/discussion.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13345>
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.