Kirillov-Reshetikhin tableaux are rectangular tableaux with rows and
columns that naturally arise under the bijection between rigged
configurations and tableaux [RigConBijection]. They are in bijection with
the elements of the Kirillov-Reshetikhin crystal
under the (inverse)
filling map. For more information, see KirillovReshetikhinTableaux
and TensorProductOfKirillovReshetikhinTableaux.
AUTHORS:
Bases: sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableaux
Kirillov-Reshetkhin tableaux whose module generator is a single
rectangle.
These are Kirillov-Reshetkhin tableaux of type:
Bases: sage.combinat.rigged_configurations.kr_tableaux.KRTableauxRectangle
Kirillov-Reshetikhin tableaux of type
with
.
alias of KRTableauxSpinElement
Bases: sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement
Kirillov-Reshetikhin tableau for spinors.
Here we are in the embedding , so
and
act by
and
respectively.
Calculate the action of on self.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 4, 1)
sage: KRT([-1, -4, 3, 2]).e(1)
[[1], [3], [-4], [-2]]
sage: KRT([-1, -4, 3, 2]).e(3)
Compute of self.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 4, 1)
sage: KRT([-1, -4, 3, 2]).epsilon(1)
1
sage: KRT([-1, -4, 3, 2]).epsilon(3)
0
Calculate the action of on self.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 4, 1)
sage: KRT([-1, -4, 3, 2]).f(1)
sage: KRT([-1, -4, 3, 2]).f(3)
[[2], [4], [-3], [-1]]
Compute of self.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 4, 1)
sage: KRT([-1, -4, 3, 2]).phi(1)
0
sage: KRT([-1, -4, 3, 2]).phi(3)
1
Return a 2-dimensional array representation of this Kirillov-Reshetikhin element.
If the output is in rows, then it outputs the top row first (in the English convention) from left to right.
For example: if the reading word is , so as a
tableau:
1 3
2 4
we output [[1, 3], [2, 4]].
If the output is in columns, then it outputs the leftmost column first with the bottom element first. In other words this parses the reading word into its columns.
Continuing with the previous example, the output would be [[2, 1], [4, 3]].
INPUT:
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D', 4, 1], 4, 3)
sage: elt = KRT([-3,-4,2,1,-3,-4,2,1,-2,-4,3,1])
sage: elt.to_array()
[[1, 1, 1], [2, 2, 3], [-4, -4, -4], [-3, -3, -2]]
sage: elt.to_array(False)
[[-3, -4, 2, 1], [-3, -4, 2, 1], [-2, -4, 3, 1]]
Bases: sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableaux
Kirillov-Reshetkihn tableaux of type:
Bases: sage.combinat.crystals.tensor_product.CrystalOfWords
Kirillov-Reshetikhin tableaux.
Kirillov-Reshetikhin tableaux are rectangular tableaux with rows and
columns that naturally arise under the bijection between rigged
configurations and tableaux [RigConBijection]. They are in bijection with
the elements of the Kirillov-Reshetikhin crystal
under the
(inverse) filling map.
When the Kirillov-Reshetkihin crystal is a full rectangle
(such as in type
or
for
), the filling
map is trivial. Thus the highest weight module is just filled with columns
.
For type for
when
, the filling map is
defined in [AffineRigConDn].
For the spinor cases, the crystal is isomorphic to the classical
crystal
, and here we consider the Kirillov-Reshetikhin
tableaux as living in
under the natural doubling map.
In this case,
and
act as
and
respectively.
See [BijectionDn].
Warning
The module generators for all types except ,
,
and full rectangles have not been tested, much less proven, to be the
correct output from the bijection.
For more information about the bijection between rigged configurations and tensor products of Kirillov-Reshetikhin tableaux, see TensorProductOfKirillovReshetikhinTableaux.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['A', 4, 1], 2, 1)
sage: elt = KRT([4, 3]); elt
[[3], [4]]
sage: KRT = KirillovReshetikhinTableaux(['D', 4, 1], 2, 1)
sage: elt = KRT([-1, 1]); elt
[[1], [-1]]
We can create highest weight crystals from a given shape:
sage: KRT = KirillovReshetikhinTableaux(['D', 4, 1], 2, 1)
sage: KRT(shape=[])
[[1], [-1]]
sage: KRT = KirillovReshetikhinTableaux(['D', 4, 1], 2, 2)
sage: KRT(shape=[1,1])
[[1, 1], [2, -1]]
We can go between KirillovReshetikhinCrystal() and KirillovReshetikhinTableaux elements:
sage: KRCrys = KirillovReshetikhinCrystal(['D', 4, 1], 2, 2)
sage: KRTab = KirillovReshetikhinTableaux(['D', 4, 1], 2, 2)
sage: elt = KRCrys(3, 2); elt
[[2], [3]]
sage: k = KRTab(elt); k
[[2, 1], [3, -1]]
sage: k.to_Kirillov_Reshetikhin_crystal()
[[2], [3]]
alias of KirillovReshetikhinTableauxElement
Return the corresponding Kirillov-Reshetikhin crystal.
EXAMPLES:
sage: KirillovReshetikhinTableaux(['A', 4, 1], 2, 1).Kirillov_Reshetikhin_crystal()
Kirillov-Reshetikhin crystal of type ['A', 4, 1] with (r,s)=(2,1)
Return the value for this tableaux class.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['A', 4, 1], 2, 1)
sage: KRT.r()
2
Return the value for this tableaux class.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['A', 4, 1], 2, 1)
sage: KRT.s()
1
Bases: sage.combinat.crystals.tensor_product.TensorProductOfRegularCrystalsElement
A Kirillov-Reshetikhin tableau.
For more information, see KirillovReshetikhinTableaux and TensorProductOfKirillovReshetikhinTableaux.
Return the classical weight of self.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 2,2)
sage: elt = KRT([3,2,-1,1]); elt
[[2, 1], [3, -1]]
sage: elt.classical_weight()
(0, 1, 1, 0)
Perform the action of on self.
Todo
Implement a direct action of without moving to KR crystals.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 2,2)
sage: KRT.module_generators[0].e(0)
[[-2, 1], [-1, -1]]
Perform the action of on self.
Todo
Implement a direct action of without moving to KR crystals.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 2,2)
sage: KRT.module_generators[0].f(0)
[[1, 1], [2, -1]]
Construct a KirillovReshetikhinCrystal() element from self.
We construct the Kirillov-Reshetikhin crystal element as follows:
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 2,2)
sage: elt = KRT([3,2,-1,1]); elt
[[2, 1], [3, -1]]
sage: elt.to_Kirillov_Reshetikhin_crystal()
[[2], [3]]
TESTS:
Spinor tests:
sage: KRT = KirillovReshetikhinTableaux(['D',4,1], 4, 3)
sage: KRC = KirillovReshetikhinCrystal(['D',4,1], 4, 3)
sage: elt = KRT([-3,-4,2,1,-3,-4,2,1,-2,-4,3,1]); elt
[[1, 1, 1], [2, 2, 3], [-4, -4, -4], [-3, -3, -2]]
sage: ret = elt.to_Kirillov_Reshetikhin_crystal(); ret
[++--, [[1], [3], [-4], [-3]]]
sage: test = KRT(ret); test
[[1, 1, 1], [2, 2, 3], [-4, -4, -4], [-3, -3, -2]]
sage: test == elt
True
Return a 2-dimensional array representation of this Kirillov-Reshetikhin element.
If the output is in rows, then it outputs the top row first (in the English convention) from left to right.
For example: if the reading word is , so as a
tableau:
1 3
2 4
we output [[1, 3], [2, 4]].
If the output is in columns, then it outputs the leftmost column first with the bottom element first. In other words this parses the reading word into its columns.
Continuing with the previous example, the output would be [[2, 1], [4, 3]].
INPUT:
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['A', 4, 1], 2, 2)
sage: elt = KRT([4, 3, 2, 1])
sage: elt.to_array()
[[3, 1], [4, 2]]
sage: elt.to_array(False)
[[4, 3], [2, 1]]
Return the classical highest weight element corresponding to self.
INPUT:
OUTPUT:
A pair [H, f_str] where H is the highest weight element and
f_str is a list of of
needed to reach H.
EXAMPLES:
sage: KRTab = KirillovReshetikhinTableaux(['D',4,1], 2,2)
sage: elt = KRTab([3,2,-1,1]); elt
[[2, 1], [3, -1]]
sage: elt.to_classical_highest_weight()
[[[1, 1], [2, -1]], [1, 2]]