#10513: Coercion and category framework for modules
-------------------------------------+-------------------------------------
       Reporter:  SimonKing          |        Owner:  robertwb
           Type:  defect             |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-pending
      Component:  coercion           |   Resolution:
       Keywords:  coercion,          |    Merged in:
  category framework, modules        |    Reviewers:  Jean-Pierre Flori
        Authors:  Simon King, Peter  |  Work issues:
  Bruin                              |       Commit:
Report Upstream:  N/A                |  6b63026ceea5e9daaee46ca821a85e4edd6ded8b
         Branch:                     |     Stopgaps:
  u/pbruin/10513-coercion_and_categories_for_modules|
   Dependencies:  #16507, #17578,    |
  #17561, #11126                     |
-------------------------------------+-------------------------------------

Comment (by nbruin):

 Replying to [comment:48 pbruin]:
 > Indeed, the category of `GF(p)` is a join of three categories:
 > {{{
 > sage: GF(3).category()
 > Join of Category of finite fields and Category of subquotients of
 monoids and Category of quotients of semigroups
 > }}}
 > Maybe parts of the category code (like `join`) should be transformed
 into Cython to make it faster?

 That's one option, but ultimately taking joins is a a rather dynamic
 operation that needs to investigate quite a bit of the category graph in
 order to ensure it's safe to use what's cached (can the result of a join
 depend on changes elsewhere in the graph?). In the case of finite fields,
 there is *no* variation in what the category is: this thing can be created
 up front (to accommodate GF(2), which is always present if I'm not
 mistaken), and just be set to be the category. The current problem is that
 the joining of categories happens in some of the more generic construction
 routines. We'd need a way of signalling that we want to shortcut that (a
 precise_category keyword that percolates up perhaps?). That's an
 optimization strategy that may have more pay-off for this particular
 scenario than making "join" faster (which might still be worthwhile to
 do). In any case, that's for another ticket. Also: premature optimization
 etc. Thanks for looking into this.

--
Ticket URL: <http://trac.sagemath.org/ticket/10513#comment:50>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to