#9944: categories for polynomial rings
----------------------------------------------+-----------------------------
Reporter: robertwb | Owner: nthiery
Type: defect | Status: needs_work
Priority: major | Milestone: sage-4.7
Component: categories | Keywords:
Author: Robert Bradshaw | Upstream: N/A
Reviewer: Nicolas M. ThiƩry, Mike Hansen | Merged:
Work_issues: Fix one test |
----------------------------------------------+-----------------------------
Old description:
> Currently, they're always just commutative rings.
>
> '''Apply:'''
> 1. [attachment:9944-poly-cat.patch]
> 2. [attachment:9944-poly-cat-doctests.patch]
> 3. [attachment:9944-poly-cat-review.patch]
New description:
Currently, they're always just commutative rings.
'''Apply:'''
1. [attachment:9944-poly-cat.patch]
2. [attachment:9944-poly-cat-doctests.patch]
3. [attachment:trac-9944-poly-cat-review.patch]
--
Comment(by SimonKing):
Replying to [comment:9 SimonKing]:
> Aparently there is a doctest failure. I fixed it, but unfortunately it
went into my patch submitted for #9138. Therefore, "needs work".
Strange: Although the patch bot did see that error in one run, I can not
reproduce it (but I had to change that test in my patch for #9138, because
it turns `QQ['x'].category()` into the join of the category of euclidean
domains and commutative algebras over `QQ`.
The other issue, namely the performance loss, was studied on
[http://groups.google.com/group/sage-
devel/browse_thread/thread/e4af3f1705b76955 sage-devel].
Florent Hivert found that a long mro does not matter for Python, but it
''does'' matter if the classes inherit from a cdef class. That is the case
for most classes in Sage (inheriting from `SageObject`), so, we should
address the problem of a long mro.
Eventually, that should be fixed in Cython (and I think Florent reported
it upstream). But for now, it seems to me we should think of a work-
around.
Would it be acceptable coding practice to explicitly state in a derived
class (say, `MPolynomialRing_generic`), that frequently used methods such
as base or base_ring are the same as `Parent.base` or `Parent.base_ring`?
David Roe stated that it might be dangerous to do so, at least if `cpdef`
methods are involved.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9944#comment:12>
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.