Opened 7 years ago
Last modified 4 years ago
#13347 new task
Check doctest examples using QuotientRings, which do not fulfill the assumptions made on the ideal
Reported by: | tfeulner | Owned by: | mvngu |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | doctest coverage | Keywords: | |
Cc: | mstreng | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
The following files use quotient rings in their doctest examples, which contradict the assumption on the defining ideal:
ASSUMPTION:
I
has a methodI.reduce(x)
returning the normal form of elementsx\in R
. In other words, it is required thatI.reduce(x)==I.reduce(y)
\iff x-y \in I
, andx-I.reduce(x) in I
, for allx,y\in R
.
- 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
- QuotientFunctor?.cmp
- 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'])
- Rings.quotient
- 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)
- CategoryObject?.temporarily_change_names
- 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)
- QuotientRingElement?
- 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)
- RingMap_lift
- 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()
- Ring.ideal_monoid
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.
Change History (7)
comment:1 Changed 7 years ago by
- Description modified (diff)
comment:2 Changed 7 years ago by
- Description modified (diff)
comment:3 Changed 6 years ago by
- Milestone changed from sage-5.11 to sage-5.12
comment:4 Changed 6 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:5 Changed 6 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:6 Changed 5 years ago by
- Milestone changed from sage-6.3 to sage-6.4
comment:7 Changed 4 years ago by
- Description modified (diff)
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?