#11943: The category graph should comply with Python's method resolution order
---------------------------+------------------------------------------------
   Reporter:  SimonKing    |          Owner:  nthiery                           
     
       Type:  enhancement  |         Status:  needs_review                      
     
   Priority:  major        |      Milestone:  sage-4.8                          
     
  Component:  categories   |       Keywords:  category graph, method resolution 
order
Work_issues:               |       Upstream:  N/A                               
     
   Reviewer:               |         Author:  Simon King                        
     
     Merged:               |   Dependencies:  #11900                            
     
---------------------------+------------------------------------------------
Changes (by SimonKing):

  * status:  needs_work => needs_review
  * work_issues:  Remove the base method for cartesian_product (now
                  unneeded) or reduce it to base_ring. =>


Comment:

 I have replaced the `base()` method of Cartesian products by a
 `base_ring()` method. I think it holds true that if some category has a
 base ring then all cartesian products of its objects have the same base
 ring. This may be not so sure when doing the same with a general bases.

 I did not run full doctests yet, but the original example that made me
 introduce the `base()` method in #11900 is still working:
 {{{
 sage: P.<x,y,z> = QQ[]
 sage: P in Algebras(QQ)
 True
 sage: P.category()
 Join of Category of unique factorization domains and Category of
 commutative algebras over Rational Field
 }}}

 Benchmark, for avoiding to return to the old regression:
 {{{
 sage: %time L = EllipticCurve('960d1').prove_BSD()
 CPU times: user 3.78 s, sys: 0.08 s, total: 3.86 s
 Wall time: 4.10 s
 }}}
 #11935 will make this even faster.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11943#comment:45>
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