Crystal of Rigged Configurations#
AUTHORS:
Travis Scrimshaw (2010-09-26): Initial version
We only consider the highest weight crystal structure, not the Kirillov-Reshetikhin structure, and we extend this to symmetrizable types.
- class sage.combinat.rigged_configurations.rc_crystal.CrystalOfNonSimplyLacedRC(vct, wt, WLR)#
Bases:
sage.combinat.rigged_configurations.rc_crystal.CrystalOfRiggedConfigurations
Highest weight crystal of rigged configurations in non-simply-laced type.
- Element#
alias of
sage.combinat.rigged_configurations.rigged_configuration_element.RCHWNonSimplyLacedElement
- from_virtual(vrc)#
Convert
vrc
in the virtual crystal into a rigged configuration of the original Cartan type.INPUT:
vrc
– a virtual rigged configuration
EXAMPLES:
sage: La = RootSystem(['C', 3]).weight_lattice().fundamental_weights() sage: vct = CartanType(['C', 3]).as_folding() sage: RC = crystals.RiggedConfigurations(vct, La[2]) sage: elt = RC(partition_list=[[0], [1], [1]]) sage: elt == RC.from_virtual(RC.to_virtual(elt)) True
- to_virtual(rc)#
Convert
rc
into a rigged configuration in the virtual crystal.INPUT:
rc
– a rigged configuration element
EXAMPLES:
sage: La = RootSystem(['C', 3]).weight_lattice().fundamental_weights() sage: vct = CartanType(['C', 3]).as_folding() sage: RC = crystals.RiggedConfigurations(vct, La[2]) sage: elt = RC(partition_list=[[], [1], [1]]); elt (/) 0[ ]0 -1[ ]-1 sage: RC.to_virtual(elt) (/) 0[ ]0 -2[ ][ ]-2 0[ ]0 (/)
- virtual()#
Return the corresponding virtual crystal.
EXAMPLES:
sage: La = RootSystem(['C', 2, 1]).weight_lattice().fundamental_weights() sage: vct = CartanType(['C', 2, 1]).as_folding() sage: RC = crystals.RiggedConfigurations(vct, La[0]) sage: RC Crystal of rigged configurations of type ['C', 2, 1] and weight Lambda[0] sage: RC.virtual Crystal of rigged configurations of type ['A', 3, 1] and weight 2*Lambda[0]
- class sage.combinat.rigged_configurations.rc_crystal.CrystalOfRiggedConfigurations(wt, WLR)#
Bases:
sage.structure.unique_representation.UniqueRepresentation
,sage.structure.parent.Parent
A highest weight crystal of rigged configurations.
The crystal structure for finite simply-laced types is given in [CrysStructSchilling06]. These were then shown to be the crystal operators in all finite types in [SS2015], all simply-laced and a large class of foldings of simply-laced types in [SS2015II], and all symmetrizable types (uniformly) in [SS2017].
INPUT:
cartan_type
– (optional) a Cartan type or a Cartan type given as a foldingwt
– the highest weight vector in the weight lattice
EXAMPLES:
For simplicity, we display the rigged configurations horizontally:
sage: RiggedConfigurations.options.display='horizontal'
We start with a simply-laced finite type:
sage: La = RootSystem(['A', 2]).weight_lattice().fundamental_weights() sage: RC = crystals.RiggedConfigurations(La[1] + La[2]) sage: mg = RC.highest_weight_vector() sage: mg.f_string([1,2]) 0[ ]0 0[ ]-1 sage: mg.f_string([1,2,2]) 0[ ]0 -2[ ][ ]-2 sage: mg.f_string([1,2,2,2]) sage: mg.f_string([2,1,1,2]) -1[ ][ ]-1 -1[ ][ ]-1 sage: RC.cardinality() 8 sage: T = crystals.Tableaux(['A', 2], shape=[2,1]) sage: RC.digraph().is_isomorphic(T.digraph(), edge_labels=True) True
We construct a non-simply-laced affine type:
sage: La = RootSystem(['C', 3]).weight_lattice().fundamental_weights() sage: RC = crystals.RiggedConfigurations(La[2]) sage: mg = RC.highest_weight_vector() sage: mg.f_string([2,3]) (/) 1[ ]1 -1[ ]-1 sage: T = crystals.Tableaux(['C', 3], shape=[1,1]) sage: RC.digraph().is_isomorphic(T.digraph(), edge_labels=True) True
We can construct rigged configurations using a diagram folding of a simply-laced type. This yields an equivalent but distinct crystal:
sage: vct = CartanType(['C', 3]).as_folding() sage: RC = crystals.RiggedConfigurations(vct, La[2]) sage: mg = RC.highest_weight_vector() sage: mg.f_string([2,3]) (/) 0[ ]0 -1[ ]-1 sage: T = crystals.Tableaux(['C', 3], shape=[1,1]) sage: RC.digraph().is_isomorphic(T.digraph(), edge_labels=True) True
We reset the global options:
sage: RiggedConfigurations.options._reset()
REFERENCES:
- Element#
alias of
sage.combinat.rigged_configurations.rigged_configuration_element.RCHighestWeightElement
- options(*get_value, **set_value)#
Sets and displays the options for rigged configurations. If no parameters are set, then the function returns a copy of the options dictionary.
The
options
to partitions can be accessed as the methodRiggedConfigurations.options
ofRiggedConfigurations
.OPTIONS:
convention
– (default:English
) Sets the convention used for displaying tableaux and partitionsEnglish
– use the English conventionFrench
– use the French convention
display
– (default:vertical
) Specifies how rigged configurations should be printedhorizontal
– displayed horizontallyvertical
– displayed vertically
element_ascii_art
– (default:True
) display using the repr optionelement_ascii_art
half_width_boxes_type_B
– (default:True
) display the last rigged partition in affine type B as half width boxesnotation
– alternative name forconvention
EXAMPLES:
sage: RC = RiggedConfigurations(['A',3,1], [[2,2],[1,1],[1,1]]) sage: elt = RC(partition_list=[[3,1], [3], [1]]) sage: elt -3[ ][ ][ ]-3 -1[ ]-1 1[ ][ ][ ]1 -1[ ]-1 sage: RiggedConfigurations.options(display="horizontal", convention="french") sage: elt -1[ ]-1 1[ ][ ][ ]1 -1[ ]-1 -3[ ][ ][ ]-3
Changing the
convention
for rigged configurations also changes theconvention
option for tableaux and vice versa:sage: T = Tableau([[1,2,3],[4,5]]) sage: T.pp() 4 5 1 2 3 sage: Tableaux.options.convention="english" sage: elt -3[ ][ ][ ]-3 1[ ][ ][ ]1 -1[ ]-1 -1[ ]-1 sage: T.pp() 1 2 3 4 5 sage: RiggedConfigurations.options._reset()
See
GlobalOptions
for more features of these options.
- weight_lattice_realization()#
Return the weight lattice realization used to express the weights of elements in
self
.EXAMPLES:
sage: La = RootSystem(['A', 2, 1]).weight_lattice(extended=True).fundamental_weights() sage: RC = crystals.RiggedConfigurations(La[0]) sage: RC.weight_lattice_realization() Extended weight lattice of the Root system of type ['A', 2, 1]