Skip to content

Categories for Weyl character rings and weight rings (was: pickling fails in WeightRing) #7922

@nthiery

Description

@nthiery

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.

CC: @dwbump @sagetrac-sage-combinat

Component: combinatorics

Author: Daniel Bump, Nicolas M. Thiéry

Reviewer: Nicolas M. Thiéry, Dan Bump

Merged: sage-4.7.1.alpha2

Issue created by migration from https://trac.sagemath.org/ticket/7922

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions