Kirillov-Reshetikhin tableaux are rectangular tableaux with \(r\) rows and \(s\) 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 \(B^{r,s}\) under the (inverse) filling map. For more information, see KirillovReshetikhinTableaux and TensorProductOfKirillovReshetikhinTableaux.
AUTHORS:
Bases: sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableaux
Kirillov-Reshetkhin tableaux \(B^{r,s}\) whose module generator is a single \(r \times s\) rectangle.
These are Kirillov-Reshetkhin tableaux \(B^{r,s}\) of type:
Bases: sage.combinat.rigged_configurations.kr_tableaux.KRTableauxRectangle
Kirillov-Reshetikhin tableaux \(B^{r,s}\) of type \(D_n^{(1)}\) with \(r = n, n-1\).
alias of KRTableauxSpinElement
Bases: sage.combinat.rigged_configurations.kr_tableaux.KirillovReshetikhinTableauxElement
Kirillov-Reshetikhin tableau for spinors.
Here we are in the embedding \(B(\Lambda_n) \to B(2 \Lambda_n)\), so \(e_i\) and \(f_i\) act by \(e_i^2\) and \(f_i^2\) respectively.
Calculate the action of \(e_i\) 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 \(\epsilon_i\) 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 \(f_i\) 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 \(\phi_i\) 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 \([2, 1, 4, 3]\), so as a \(2 \times 2\) 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 \(B^{r,s}\) of type:
Bases: sage.combinat.crystals.tensor_product.CrystalOfWords
Kirillov-Reshetikhin tableaux.
Kirillov-Reshetikhin tableaux are rectangular tableaux with \(r\) rows and \(s\) 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 \(B^{r,s}\) under the (inverse) filling map.
When the Kirillov-Reshetkihin crystal is a full \(r \times s\) rectangle (such as in type \(A^{(1)}_n\) or \(C^{(1)}_n\) for \(B^{n,s}\)), the filling map is trivial. Thus the highest weight module is just filled with columns \([1, 2, \ldots, n]\).
For type \(D^{(1)}_n\) for \(B^{r,s}\) when \(r \leq n-2\), the filling map is defined in [AffineRigConDn].
For the spinor cases, the crystal \(B^{k,s}\) is isomorphic to the classical crystal \(B(\Lambda_k)\), and here we consider the Kirillov-Reshetikhin tableaux as living in \(B(2\Lambda_k)\) under the natural doubling map. In this case, \(e_i\) and \(f_i\) act as \(e_i^2\) and \(f_i^2\) respectively. See [BijectionDn].
Warning
The module generators for all types except \(A^{(1)}_n\), \(D^{(1)}_n\), 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 \(r\) for this tableaux class.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['A', 4, 1], 2, 1)
sage: KRT.r()
2
Return the value \(s\) for this tableaux class.
EXAMPLES:
sage: KRT = KirillovReshetikhinTableaux(['A', 4, 1], 2, 1)
sage: KRT.s()
1
Bases: sage.combinat.crystals.tensor_product.TensorProductOfCrystalsElement
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 \(e_i\) on self.
Todo
Implement a direct action of \(e_0\) 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 \(f_i\) on self.
Todo
Implement a direct action of \(f_0\) 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 \([2, 1, 4, 3]\), so as a \(2 \times 2\) 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 \(a_i\) of \(f_{a_i}\) 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]]