#11935: Make parent/element classes independent of base rings
---------------------------+------------------------------------------------
   Reporter:  SimonKing    |          Owner:  nthiery                           
   
       Type:  enhancement  |         Status:  needs_review                      
   
   Priority:  major        |      Milestone:  sage-4.8                          
   
  Component:  categories   |       Keywords:  parent class, element class, 
category
Work_issues:               |       Upstream:  N/A                               
   
   Reviewer:               |         Author:  Simon King                        
   
     Merged:               |   Dependencies:  #9138 #11900 #11943               
   
---------------------------+------------------------------------------------
Changes (by SimonKing):

  * status:  needs_work => needs_review
  * work_issues:  introduce _make_named_class =>


Old description:

> At #11900 and [http://groups.google.com/group/sage-combinat-
> devel/browse_thread/thread/99c74827d704e677 sage-combinat-devel], as well
> as in some comments in sage/categories/category.py, the idea was
> discussed to make, for example,
> `Algebras(GF(3)).parent_class==Algebras(GF(5)).parent_class` - hence,
> make the parent/element classes as independent from the base of a
> category as possible.
>
> Apply [attachment:trac11935_weak_pickling_by_construction_rel11943.patch]

New description:

 At #11900 and [http://groups.google.com/group/sage-combinat-
 devel/browse_thread/thread/99c74827d704e677 sage-combinat-devel], as well
 as in some comments in sage/categories/category.py, the idea was discussed
 to make, for example,
 `Algebras(GF(3)).parent_class==Algebras(GF(5)).parent_class` - hence, make
 the parent/element classes as independent from the base of a category as
 possible.

 __Apply__

  * [attachment:trac11935_weak_pickling_by_construction_rel11943.patch]
  * [attachment:trac11935_named_class.patch]

--

Comment:

 I have implemented the new method `_make_named_class` (with "strong
 pickling by construction" for Category and "weak pickling by construction"
 for `CategoryWithParameters`). For me, all tests pass.

 And, for the record:
 {{{
 sage: %time L = EllipticCurve('960d1').prove_BSD()
 CPU times: user 2.88 s, sys: 0.04 s, total: 2.92 s
 Wall time: 3.06 s
 }}}

 Apply trac11935_weak_pickling_by_construction_rel11943.patch
 trac11935_named_class.patch

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