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