#11935: Make parent/element classes independent of base rings
----------------------------------------------------------------+-----------
Reporter: SimonKing |
Owner: nthiery
Type: enhancement |
Status: needs_work
Priority: major |
Milestone: sage-4.8
Component: categories |
Keywords: parent class, element class, category
Work_issues: Fix doctest in covariant functorial construction |
Upstream: N/A
Reviewer: |
Author: Simon King
Merged: |
Dependencies: #9138 #11900 #11943
----------------------------------------------------------------+-----------
Changes (by SimonKing):
* milestone: => sage-4.8
Comment:
I think the following could be a solution:
1. Do not use optimization for `Category.parent_class`. Hence, the
default is the good old "pickle by construction" approach.
1. Add a specialised `JoinCategory.parent_class` that uses default
pickling of a dynamic class (which means: The class is uniquely determined
by the base classes). Rationale: A join category is uniquely determined by
its super categories, and thus it is consequent if the parent class of a
join category is uniquely determined by the parent classes of its super
categories.
1. Add a specialised `Category_over_base.parent_class` using the
optimization (O) discussed above, in the "weak pickling by construction"
abbroach. Rationale: It's the purpose of this ticket to make the parent
class independent of the base ring, and "weak pickling by construction"
seems the most stable option.
Apparently, the problem with functorial constructions would vanish - they
use the non-optimized old parent_class. But we would get a speed-up where
we need it: Polynomial rings belong to a join category, and one super
category of that join category is a `Category_over_base`.
Of course, the same should be done with the element_class.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11935#comment:21>
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.