Open 38e5cd24-729d-4c04-b48f-518277c23402 opened 12 years ago
Wow, that's a long list of faulty quotient rings in the documentation! Can you add the examples themselves, as line numbers tend to change a lot as Sage evolves?
Description changed:
---
+++
@@ -16,4 +16,4 @@
These examples have to be modified, one possibility is that they use quotient rings which fulfill the assumption or the reduce function of the corresponding ideal class must be provided.
-See also trac:13345 and https://groups.google.com/d/topic/sage-devel/s5y604ZPiQ8/discussion.
+See also ticket:13345 and https://groups.google.com/d/topic/sage-devel/s5y604ZPiQ8/discussion.
Description changed:
---
+++
@@ -7,12 +7,107 @@
``I.reduce(x)==I.reduce(y)`` `\iff x-y \in I`, and
``x-I.reduce(x) in I``, for all `x,y\in R`.
-- sage/categories/pushout.py : line 2393
-- sage/categories/rings.py : lines 446, 482, 522
-- sage/structure/category_object.pyx : line 473
-- sage/rings/quotient_ring_element.py : lines 56, 98, 208
-- sage/rings/morphism.pyx : line 465
-- sage/rings/ring.pyx: lines 409, 708, 792
+- sage/categories/pushout.py :
+ - QuotientFunctor.__cmp__
+
+```
+ sage: P.<x> = QQ[]
+ sage: F = P.quo([(x^2+1)^2*(x^2-3),(x^2+1)^2*(x^5+3)]).construction()[0]
+ sage: F == loads(dumps(F))
+ True
+ sage: P2.<x,y> = QQ[]
+ sage: F == P2.quo([(x^2+1)^2*(x^2-3),(x^2+1)^2*(x^5+3)]).construction()[0]
+ False
+ sage: P3.<x> = ZZ[]
+ sage: F == P3.quo([(x^2+1)^2*(x^2-3),(x^2+1)^2*(x^5+3)]).construction()[0]
+ True
+```
+
+
+- sage/categories/rings.py :
+ - Rings.quotient
+
+```
+ sage: F.<x,y,z> = FreeAlgebra(QQ, 3)
+ sage: I = F*[x*y+y*z,x^2+x*y-y*x-y^2]*F
+ sage: Q = Rings().parent_class.quotient(F,I); Q
+```
+- Rings.quo
+
+```
+ sage: MS = MatrixSpace(QQ,2)
+ sage: MS.full_category_initialisation()
+ sage: I = MS*MS.gens()*MS
+ sage: MS.quo(I,names = ['a','b','c','d'])
+```
+- Rings.quotient_ring
+
+```
+ sage: MS = MatrixSpace(QQ,2)
+ sage: I = MS*MS.gens()*MS
+ sage: MS.quotient_ring(I,names = ['a','b','c','d'])
+```
+- sage/structure/category_object.pyx :
+ - CategoryObject.__temporarily_change_names
+
+```
+ sage: MS = MatrixSpace(GF(5),2,2)
+ sage: I = MS*[MS.0*MS.1,MS.2+MS.3]*MS
+ sage: Q.<a,b,c,d> = MS.quo(I)
+```
+
+- sage/rings/quotient_ring_element.py :
+ - QuotientRingElement
+
+```
+ sage: R.<x> = PolynomialRing(ZZ)
+ sage: S.<xbar> = R.quo((4 + 3*x + x^2, 1 + x^2)); S
+```
+- QuotientRingElement.__init__
+
+```
+ sage: R.<x> = PolynomialRing(ZZ)
+ sage: S.<xbar> = R.quo((4 + 3*x + x^2, 1 + x^2)); S
+```
+- QuotientRingElement._repr_
+
+```
+ sage: S = SteenrodAlgebra(2)
+ sage: I = S*[S.0+S.1]*S
+ sage: Q = S.quo(I)
+```
+
+- sage/rings/morphism.pyx :
+ - RingMap_lift
+
+```
+ sage: MS = MatrixSpace(GF(5),2,2)
+ sage: I = MS*[MS.0*MS.1,MS.2+MS.3]*MS
+ sage: Q = MS.quo(I)
+```
+- sage/rings/ring.pyx:
+ - Ring.ideal_monoid
+
+```
+ sage: F.<x,y,z> = FreeAlgebra(ZZ, 3)
+ sage: I = F*[x*y+y*z,x^2+x*y-y*x-y^2]*F
+ sage: Q = sage.rings.ring.Ring.quotient(F,I)
+```
+- Ring.quotient
+
+```
+ sage: R.<x> = PolynomialRing(ZZ)
+ sage: I = R.ideal([4 + 3*x + x^2, 1 + x^2])
+ sage: S = R.quotient(I, 'a')
+```
+- Ring.quotient_ring
+
+```
+ sage: R.<x> = PolynomialRing(ZZ)
+ sage: I = R.ideal([4 + 3*x + x^2, 1 + x^2])
+ sage: S = R.quotient_ring(I, 'a')
+ sage: S.gens()
+```
These examples have to be modified, one possibility is that they use quotient rings which fulfill the assumption or the reduce function of the corresponding ideal class must be provided.
Description changed:
---
+++
@@ -2,10 +2,10 @@
ASSUMPTION:
- ``I`` has a method ``I.reduce(x)`` returning the normal form
+ `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`.
+ `I.reduce(x)==I.reduce(y)` `\iff x-y \in I`, and
+ `x-I.reduce(x) in I`, for all `x,y\in R`.
- sage/categories/pushout.py :
- QuotientFunctor.__cmp__
The following files use quotient rings in their doctest examples, which contradict the assumption on the defining ideal:
ASSUMPTION:
These examples have to be modified, one possibility is that they use quotient rings which fulfill the assumption or the reduce function of the corresponding ideal class must be provided.
See also ticket:13345 and https://groups.google.com/d/topic/sage-devel/s5y604ZPiQ8/discussion.
CC: @mstreng
Component: doctest coverage
Issue created by migration from https://trac.sagemath.org/ticket/13347