#7922: Categories for Weyl character rings and weight rings (was: pickling fails
in WeightRing)
-------------------------------------------+--------------------------------
   Reporter:  nthiery                      |       Owner:  bump           
       Type:  enhancement                  |      Status:  positive_review
   Priority:  major                        |   Milestone:  sage-4.7       
  Component:  combinatorics                |    Keywords:                 
     Author:  Dan Bump, Nicolas M. Thiéry  |    Upstream:  N/A            
   Reviewer:  Nicolas M. Thiéry, Dan Bump  |      Merged:                 
Work_issues:                               |  
-------------------------------------------+--------------------------------
Changes (by nthiery):

  * status:  needs_review => positive_review


Old description:

> This ticket refactors the code of WeylCharacterRing and WeightRing to use
> categories and (combinatorial) free modules. Along the way, it adds a
> couple features (Dan: please list them here), and solves a pickling issue
> which was caught by #7921:
>
> {{{
> sage: A2 = WeylCharacterRing(['A',2])
> sage: a2 = WeightRing(A2)
> sage: TestSuite(a2).run()
> Failure in _test_element_pickling:
> Traceback (most recent call last):
> ...
> AssertionError: 2*a2(0,0,0) != 2*a2(0,0,0)
> }}}
>
> Indeed:
> {{{
> sage: x = a2.an_element()
> sage: x == loads(dumps(x))
> False
> }}}
>

> '''Apply''' [attachment: trac_7922-rebased-4.7.alpha3.patch]
>
> '''Remove''' the following pickles from the pickle jar:
>
> {{{
> _class__sage_combinat_root_system_weyl_characters_WeightRing__.*
> _class__sage_combinat_root_system_weyl_characters_WeylCharacterRing_class__.*
> _class__sage_combinat_root_system_weyl_characters_WeylCharacter__.*
> }}}
>
> '''Copy''' the contents of
> [attachment: trac_7922-new_pickles.tar.gz] into
> {{{data/ext_code/pickle_jar}}}.

New description:

 This ticket refactors the code of WeylCharacterRing and WeightRing to use
 categories and (combinatorial) free modules. Along the way, it adds a
 couple features (Dan: please list them here), and solves a pickling issue
 which was caught by #7921:

 {{{
 sage: A2 = WeylCharacterRing(['A',2])
 sage: a2 = WeightRing(A2)
 sage: TestSuite(a2).run()
 Failure in _test_element_pickling:
 Traceback (most recent call last):
 ...
 AssertionError: 2*a2(0,0,0) != 2*a2(0,0,0)
 }}}

 Indeed:
 {{{
 sage: x = a2.an_element()
 sage: x == loads(dumps(x))
 False
 }}}


 '''Apply''' [attachment:trac_7922-rebased-4.7.alpha3.patch]

 '''Remove''' the following pickles from the pickle jar:

 {{{
 _class__sage_combinat_root_system_weyl_characters_WeightRing__.*
 _class__sage_combinat_root_system_weyl_characters_WeylCharacterRing_class__.*
 _class__sage_combinat_root_system_weyl_characters_WeylCharacter__.*
 }}}

 '''Copy''' the contents of
 [attachment:trac_7922-new_pickles.tar.gz] into
 {{{data/ext_code/pickle_jar}}}.

--

Comment:

 Hi Dan,

 I just checked out your final changes on the Sage-Combinat queue
 (trac_7922_alpha3-changes.patch), and it looks all good. So the final
 rebased patch you just posted (and which includes the above) is good to
 go.

 Positive review!

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