A rigged configuration element is a sequence of RiggedPartition objects.
AUTHORS:
Todo
Implement crystal operators and
.
Bases: sage.structure.list_clone.ClonableArray
The RiggedConfigurationElement class is a list of RiggedPartition objects.
For more information on rigged configurations, see RiggedConfigurations.
Typically to create a specific rigged configuration, the user will pass in the optional argument partition_list and if the user wants to specify the rigging values, give the optional argument rigging_list as well. If rigging_list is not passed, the rigging values are set to the corresponding vacancy numbers.
EXAMPLES:
Type examples:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RC(partition_list=[[2], [2, 2], [2], [2]])
0[ ][ ]0
-2[ ][ ]-2
-2[ ][ ]-2
2[ ][ ]2
-2[ ][ ]-2
sage: RC = HighestWeightRiggedConfigurations(['A', 4, 1], [[1, 1], [1, 1]])
sage: RC(partition_list=[[], [], [], []])
(/)
(/)
(/)
(/)
Type examples:
sage: RC = RiggedConfigurations(['D', 4, 1], [[2, 2]])
sage: RC(partition_list=[[3], [3,2], [4], [3]])
-1[ ][ ][ ]-1
1[ ][ ][ ]1
0[ ][ ]0
-3[ ][ ][ ][ ]-3
-1[ ][ ][ ]-1
sage: RC = HighestWeightRiggedConfigurations(['D', 4, 1], [[1,1], [2, 1]])
sage: RC(partition_list=[[1], [1,1], [1], [1]])
1[ ]1
0[ ]0
0[ ]0
0[ ]0
0[ ]0
sage: RC(partition_list=[[1], [1,1], [1], [1]], rigging_list=[[0], [0,0], [0], [0]])
1[ ]0
0[ ]0
0[ ]0
0[ ]0
0[ ]0
We can go between tensor products of KR tableaux and tensor products of KR crystals:
sage: RC = RiggedConfigurations(['D', 4, 1], [[1,1], [2,1]])
sage: rc_elt = RC(partition_list=[[1], [1,1], [1], [1]])
sage: tp_krt = rc_elt.to_tensor_product_of_Kirillov_Reshetikhin_tableaux(); tp_krt
[[-2]] (X) [[1], [2]]
sage: tp_krc = rc_elt.to_tensor_product_of_Kirillov_Reshetikhin_crystals(); tp_krc
[[[-2]], [[1], [2]]]
sage: tp_krc == tp_krt.to_tensor_product_of_Kirillov_Reshetikhin_crystals()
True
sage: RC(tp_krc) == rc_elt
True
sage: RC(tp_krt) == rc_elt
True
sage: tp_krt.to_rigged_configuration() == rc_elt
True
Compute the cocharge statistic.
Computes the cocharge statistic [CrysStructSchilling06] on this
rigged configuration . The cocharge statistic is defined as:
EXAMPLES:
sage: HWRC = HighestWeightRiggedConfigurations(['A', 3, 1], [[3, 2], [2,1], [1,1]])
sage: HWRC(partition_list=[[1], [1], []]).cc()
1
Make sure all of the riggings are less than or equal to the vacancy number.
TESTS:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 1]])
sage: elt = RC(partition_list=[[1], [1], [], []])
sage: elt.check()
Action of the crystal operator on this rigged configuration element.
This implements the method defined in [CrysStructSchilling06] which
finds the value which is the length of the string with the
smallest negative rigging of smallest length. Then it removes a box
from a string of length
in the
-th rigged partition, keeping all
colabels fixed and increasing the new label by one. If no such string
exists, then
is undefined.
INPUT:
OUTPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2,1]])
sage: elt = RC(partition_list=[[1], [1], [1], [1]])
sage: elt.e(3)
sage: elt.e(1)
(/)
0[ ]0
0[ ]0
-1[ ]-1
Action of crystal operator on this rigged configuration element.
This implements the method defined in [CrysStructSchilling06] which
finds the value which is the length of the string with the
smallest nonpositive rigging of largest length. Then it adds a box from
a string of length
in the
-th rigged partition, keeping all
colabels fixed and decreasing the new label by one. If no such string
exists, then it adds a new string of length 1 with label
. If any
of the resulting vacancy numbers are larger than the labels (i.e. it
is an invalid rigged configuration), then
is undefined.
INPUT:
OUTPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2,1]])
sage: elt = RC(partition_list=[[1], [1], [1], [1]])
sage: elt.f(1)
sage: elt.f(2)
0[ ]0
-1[ ]-1
-1[ ]-1
1[ ]1
-1[ ]-1
Return the vacancy number .
INPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: elt = RC(partition_list=[[1], [2,1], [1], []])
sage: elt.get_vacancy_number(2, 3)
sage: elt.get_vacancy_number(2, 2)
-2
sage: elt.get_vacancy_number(2, 1)
-1
Return the list of all vacancy numbers of the rigged partition
(with duplicates).
INPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RC(partition_list=[[1], [2,1], [1], []]).get_vacancy_numbers(2)
[-2, -1]
Return the list of rigged partitions of this rigged
configuration element.
OUTPUT:
EXAMPLES:
sage: RC = HighestWeightRiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RC(partition_list=[[2], [2,2], [2], [2]]).nu()
[0[ ][ ]0
, -2[ ][ ]-2
-2[ ][ ]-2
, 2[ ][ ]2
, -2[ ][ ]-2
]
Return the corresponding tensor product of Kirillov-Reshetikhin crystals.
This is a composition of the map to a tensor product of KR tableaux, and then to a tensor product of KR crystals.
INPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['D', 4, 1], [[2, 2]])
sage: elt = RC(partition_list=[[2], [2,2], [1], [1]])
sage: krc = elt.to_tensor_product_of_Kirillov_Reshetikhin_crystals(); krc
[[[2, 3], [3, -2]]]
We can recover the rigged configuration:
sage: ret = RC(krc); ret
0[ ][ ]0
-2[ ][ ]-2
-2[ ][ ]-2
0[ ]0
0[ ]0
sage: elt == ret
True
Perform the bijection from this rigged configuration to a tensor product of Kirillov-Reshetikhin tableaux given in [RigConBijection] for single boxes and with [BijectionLRT] and [BijectionDn] for multiple columns and rows.
INPUT:
OUTPUT:
EXAMPLES:
sage: RC = RiggedConfigurations(['A', 4, 1], [[2, 2]])
sage: RC(partition_list=[[2], [2,2], [2], [2]]).to_tensor_product_of_Kirillov_Reshetikhin_tableaux()
[[3, 3], [5, 5]]
sage: RC = RiggedConfigurations(['D', 4, 1], [[2, 2]])
sage: elt = RC(partition_list=[[2], [2,2], [1], [1]])
sage: tp_krt = elt.to_tensor_product_of_Kirillov_Reshetikhin_tableaux(); tp_krt
[[2, 3], [3, -2]]
This is invertible by calling to_rigged_configuration():
sage: ret = tp_krt.to_rigged_configuration(); ret
0[ ][ ]0
-2[ ][ ]-2
-2[ ][ ]-2
0[ ]0
0[ ]0
sage: elt == ret
True