#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.

Reply via email to