#11900: Serious regression caused by #9138
----------------------------------------------------------------------------------------+
   Reporter:  SimonKing                                                         
        |          Owner:  tbd                  
       Type:  defect                                                            
        |         Status:  needs_work           
   Priority:  critical                                                          
        |      Milestone:  sage-4.8             
  Component:  performance                                                       
        |       Keywords:  categories regression
Work_issues:  Laurent series rings are fields. Add docs. Don't use is_ring and 
friends  |       Upstream:  N/A                  
   Reviewer:  Jeroen Demeyer, Nicolas M. ThiƩry                                 
        |         Author:  Simon King           
     Merged:                                                                    
        |   Dependencies:  #9138 #11911         
----------------------------------------------------------------------------------------+

Comment(by SimonKing):

 The culprit is `__init_extra__` in sage.categories.magmas, which does:
 {{{
         def __init_extra__(self):
             """
                 sage: S = Semigroups().example("free")
                 sage: S('a') * S('b') # indirect doctest
                 'ab'
                 sage: S('a').__class__._mul_ ==
 S('a').__class__._mul_parent
                 True
             """
             # This should instead register the multiplication to the
 coercion model
             # But this is not yet implemented in the coercion model
             if (self.product != self.product_from_element_class_mul) and
 hasattr(self, "element_class") and hasattr(self.element_class,
 "_mul_parent"):
                 self.element_class._mul_ = self.element_class._mul_parent
 }}}

 In other words, an EXISTING AND PROBABLY OPTIMIZED _mul_ is overridden by
 some generic slow stuff. So, I have to find out why this line is executed
 (it shouldn't).

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