AUTHORS:
Bases: sage.combinat.rigged_configurations.rc_infinity.InfinityCrystalOfRiggedConfigurations
Rigged configurations for in non-simply-laced types.
Bases: sage.combinat.rigged_configurations.rigged_configuration_element.RCNonSimplyLacedElement
A rigged configuration in in
non-simply-laced types.
TESTS:
sage: RC = crystals.infinity.RiggedConfigurations(['C', 3])
sage: elt = RC(partition_list=[[1],[1,1],[1]])
sage: TestSuite(elt).run()
Return the weight of self.
EXAMPLES:
sage: RC = crystals.infinity.RiggedConfigurations(['C', 3])
sage: elt = RC(partition_list=[[1],[1,1],[1]], rigging_list=[[0],[-1,-1],[0]])
sage: elt.weight()
(1, 1, 0)
sage: RC = crystals.infinity.RiggedConfigurations(['F', 4, 1])
sage: mg = RC.highest_weight_vector()
sage: elt = mg.f_string([1,0,3,4,2,2]); ascii_art(elt)
-1[ ]-1 0[ ]1 -2[ ][ ]-2 0[ ]1 -1[ ]-1
sage: wt = elt.weight(); wt
Lambda[0] - Lambda[1] + 2*Lambda[2] - 3*Lambda[3] + Lambda[4]
sage: al = RC.weight_lattice_realization().simple_roots()
sage: wt == al[0] + al[1] + 2*al[2] + al[3] + al[4]
True
Convert vrc in the virtual crystal into a rigged configution of the original Cartan type.
INPUT:
EXAMPLES:
sage: RC = crystals.infinity.RiggedConfigurations(['C', 2])
sage: elt = RC(partition_list=[[3],[2]], rigging_list=[[-2],[0]])
sage: vrc_elt = RC.to_virtual(elt)
sage: ret = RC.from_virtual(vrc_elt); ret
-3[ ][ ][ ]-2
-1[ ][ ]0
sage: ret == elt
True
Convert rc into a rigged configuration in the virtual crystal.
INPUT:
EXAMPLES:
sage: RC = crystals.infinity.RiggedConfigurations(['C', 2])
sage: mg = RC.highest_weight_vector()
sage: elt = mg.f_string([1,2,2,1,1]); elt
-3[ ][ ][ ]-2
-1[ ][ ]0
sage: velt = RC.to_virtual(elt); velt
-3[ ][ ][ ]-2
-2[ ][ ][ ][ ]0
-3[ ][ ][ ]-2
sage: velt.parent()
The infinity crystal of rigged configurations of type ['A', 3]
Return the corresponding virtual crystal.
EXAMPLES:
sage: RC = crystals.infinity.RiggedConfigurations(['C', 3])
sage: RC
The infinity crystal of rigged configurations of type ['C', 3]
sage: RC.virtual
The infinity crystal of rigged configurations of type ['A', 5]
Bases: sage.structure.parent.Parent, sage.structure.unique_representation.UniqueRepresentation
Rigged configuration model for .
The crystal is generated by the empty rigged configuration with the same
crystal structure given by the highest weight model
except we remove the condition that the resulting rigged configuration
needs to be valid when applying .
INPUT:
EXAMPLES:
For simplicity, we display all of the rigged configurations horizontally:
sage: RiggedConfigurations.global_options(display='horizontal')
We begin with a simply-laced finite type:
sage: RC = crystals.infinity.RiggedConfigurations(['A', 3]); RC
The infinity crystal of rigged configurations of type ['A', 3]
sage: RC.global_options(display='horizontal')
sage: mg = RC.highest_weight_vector(); mg
(/) (/) (/)
sage: elt = mg.f_string([2,1,3,2]); elt
0[ ]0 -2[ ]-1 0[ ]0
-2[ ]-1
sage: elt.e(1)
sage: elt.e(3)
sage: mg.f_string([2,1,3,2]).e(2)
-1[ ]-1 0[ ]1 -1[ ]-1
sage: mg.f_string([2,3,2,1,3,2])
0[ ]0 -3[ ][ ]-1 -1[ ][ ]-1
-2[ ]-1
Next we consider a non-simply-laced finite type:
sage: RC = crystals.infinity.RiggedConfigurations(['C', 3])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([2,1,3,2])
0[ ]0 -2[ ]-1 0[ ]0
-2[ ]-1
sage: mg.f_string([2,3,2,1,3,2])
-1[ ]-1 -2[ ][ ][ ]-1 -1[ ][ ]0
We can also construct using rigged configurations in
affine types:
sage: RC = crystals.infinity.RiggedConfigurations(['A', 3, 1])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([0,1,2,3,0,1,3])
-1[ ]0 -1[ ]-1 1[ ]1 -1[ ][ ]-1
-1[ ]0 -1[ ]-1
sage: RC = crystals.infinity.RiggedConfigurations(['C', 3, 1])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([1,2,3,0,1,2,3,3,0])
-2[ ][ ]-1 -1[ ]0 -1[ ]-1 -4[ ][ ][ ]-2
-1[ ]0 -1[ ]-1
sage: RC = crystals.infinity.RiggedConfigurations(['A', 6, 2])
sage: mg = RC.highest_weight_vector()
sage: mg.f_string([1,2,3,0,1,2,3,3,0])
0[ ]-1 0[ ]1 -1[ ]-1 -4[ ][ ][ ]-2
0[ ]-1 0[ ]1 -1[ ]-1
We reset the global options:
sage: RiggedConfigurations.global_options.reset()
Bases: sage.combinat.rigged_configurations.rigged_configuration_element.RiggedConfigurationElement
A rigged configuration in in simply-laced types.
TESTS:
sage: RC = crystals.infinity.RiggedConfigurations(['A', 3, 1])
sage: elt = RC(partition_list=[[1,1]]*4, rigging_list=[[1,1], [0,0], [0,0], [-1,-1]])
sage: TestSuite(elt).run()
Return the weight of self.
EXAMPLES:
sage: RC = crystals.infinity.RiggedConfigurations(['A', 3, 1])
sage: elt = RC(partition_list=[[1,1]]*4, rigging_list=[[1,1], [0,0], [0,0], [-1,-1]])
sage: elt.weight()
0
Sets and displays the global 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 method RiggedConfigurations.global_options of RiggedConfigurations.
OPTIONS:
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.global_options(display="horizontal", convention="french")
sage: elt
-1[ ]-1 1[ ][ ][ ]1 -1[ ]-1
-3[ ][ ][ ]-3
Changing the convention for rigged configurations also changes the convention option for tableaux and vice versa:
sage: T = Tableau([[1,2,3],[4,5]])
sage: T.pp()
4 5
1 2 3
sage: Tableaux.global_options(convention="english")
sage: elt
-3[ ][ ][ ]-3 1[ ][ ][ ]1 -1[ ]-1
-1[ ]-1
sage: T.pp()
1 2 3
4 5
sage: RiggedConfigurations.global_options.reset()
See GlobalOptions for more features of these options.