Shifted primed tableaux¶
AUTHORS:
- Kirill Paramonov (2017-08-18): initial implementation
-
sage.combinat.shifted_primed_tableau.
CrystalElementShiftedPrimedTableau
¶ Class for elements of
crystals.ShiftedPrimedTableau
.
-
class
sage.combinat.shifted_primed_tableau.
PrimedEntry
(entry=None, double=None)¶ Bases:
sage.structure.sage_object.SageObject
The class of entries in shifted primed tableaux.
An entry in a shifted primed tableau is an element in the alphabet \(\{1' < 1 < 2' < 2 < \cdots < n' < n\}\). The difference between two elements \(i\) and \(i-1\) counts as a whole unit, whereas the difference between \(i\) and \(i'\) counts as half a unit. Internally, we represent an unprimed element \(x\) as \(2x\) and the primed elements as the corresponding odd integer that respects the total order.
INPUT:
entry
– a half integer or a string of an integer possibly ending inp
or'
double
– the doubled value
-
decrease_half
()¶ Decrease
self
by half a unit.
-
decrease_one
()¶ Decrease
self
by one unit.
-
increase_half
()¶ Increase
self
by half a unit.
-
increase_one
()¶ Increase
self
by one unit.
-
integer
()¶ Return the corresponding integer \(i\) for primed entries of the form \(i\) or \(i'\).
-
is_primed
()¶ Checks if
self
is a primed element.
-
is_unprimed
()¶ Checks if
self
is an unprimed element.
-
primed
()¶ Prime
self
if it is an unprimed element.
-
unprimed
()¶ Unprime
self
if it is a primed element.
-
sage.combinat.shifted_primed_tableau.
ShiftedPrimedTableau
¶ A shifted primed tableau.
A primed tableau is a tableau of shifted shape in the alphabet \(X' = \{1' < 1 < 2' < 2 < \cdots < n' < n\}\) such that
- the entries are weakly increasing along rows and columns;
- a row cannot have two repeated primed elements, and a column cannot have two repeated non-primed elements;
- there are only non-primed elements on the main diagonal.
Skew shape of the shifted primed tableaux is specified either with an optional argument
skew
or withNone
entries.EXAMPLES:
sage: T = ShiftedPrimedTableaux([4,2]) sage: T([[1,"2'","3'",3],[2,"3'"]])[1] (2, 3') sage: t = ShiftedPrimedTableau([[1,"2p",2.5,3],[2,2.5]]) sage: t[1] (2, 3') sage: ShiftedPrimedTableau([["2p",2,3],["2p","3p"],[2]], skew=[2,1]) [(None, None, 2', 2, 3), (None, 2', 3'), (2,)] sage: ShiftedPrimedTableau([[None,None,"2p"],[None,"2p"]]) [(None, None, 2'), (None, 2')]
-
sage.combinat.shifted_primed_tableau.
ShiftedPrimedTableaux
¶ Returns the combinatorial class of shifted primed tableaux subject to the constraints given by the arguments.
A primed tableau is a tableau of shifted shape on the alphabet \(X' = \{1' < 1 < 2' < 2 < \cdots < n' < n\}\) such that
- the entries are weakly increasing along rows and columns
- a row cannot have two repeated primed entries, and a column cannot have two repeated non-primed entries
- there are only non-primed entries along the main diagonal
INPUT:
Valid optional keywords:
shape
– the (outer skew) shape of tableauxweight
– the weight of tableauxmax_entry
– the maximum entry of tableauxskew
– the inner skew shape of tableaux
The weight of a tableau is defined to be the vector with \(i\)-th component equal to the number of entries \(i\) and \(i'\) in the tableau. The sum of the coordinates in the weight vector must be equal to the number of entries in the partition.
The
shape
andskew
must be strictly decreasing partitions.EXAMPLES:
sage: SPT = ShiftedPrimedTableaux(weight=(1,2,2), shape=[3,2]); SPT Shifted Primed Tableaux of weight (1, 2, 2) and shape [3, 2] sage: SPT.list() [[(1, 2, 2), (3, 3)], [(1, 2', 3'), (2, 3)], [(1, 2', 3'), (2, 3')], [(1, 2', 2), (3, 3)]] sage: SPT = ShiftedPrimedTableaux(weight=(1,2)); SPT Shifted Primed Tableaux of weight (1, 2) sage: list(SPT) [[(1, 2, 2)], [(1, 2', 2)], [(1, 2'), (2,)]] sage: SPT = ShiftedPrimedTableaux([3,2], max_entry = 2); SPT Shifted Primed Tableaux of shape [3, 2] and maximum entry 2 sage: list(SPT) [[(1, 1, 1), (2, 2)], [(1, 1, 2'), (2, 2)]]
See also
-
sage.combinat.shifted_primed_tableau.
ShiftedPrimedTableaux_all
¶ The class of all shifted primed tableaux.
-
sage.combinat.shifted_primed_tableau.
ShiftedPrimedTableaux_shape
¶ Shifted primed tableaux of a fixed shape.
Shifted primed tableaux admit a type \(A_n\) classical crystal structure with highest weights corresponding to a given shape.
The list of module generators consists of all elements of the crystal with nonincreasing weight entries.
The crystal is constructed following operations described in [HPS2017].
EXAMPLES:
sage: ShiftedPrimedTableaux([4,3,1], max_entry=4) Shifted Primed Tableaux of shape [4, 3, 1] and maximum entry 4 sage: ShiftedPrimedTableaux([4,3,1], max_entry=4).cardinality() 384
We compute some of the crystal structure:
sage: SPTC = crystals.ShiftedPrimedTableaux([3,2], 3) sage: T = SPTC.module_generators[-1] sage: T [(1, 1, 2'), (2, 3')] sage: T.f(2) [(1, 1, 3'), (2, 3')] sage: len(SPTC.module_generators) 7 sage: SPTC[0] [(1, 1, 1), (2, 2)] sage: SPTC.cardinality() 24
-
sage.combinat.shifted_primed_tableau.
ShiftedPrimedTableaux_weight
¶ Shifted primed tableaux of fixed weight.
EXAMPLES:
sage: ShiftedPrimedTableaux(weight=(2,3,1)) Shifted Primed Tableaux of weight (2, 3, 1) sage: ShiftedPrimedTableaux(weight=(2,3,1)).cardinality() 17
-
sage.combinat.shifted_primed_tableau.
ShiftedPrimedTableaux_weight_shape
¶ Shifted primed tableaux of the fixed weight and shape.
EXAMPLES:
sage: ShiftedPrimedTableaux([4,2,1], weight=(2,3,2)) Shifted Primed Tableaux of weight (2, 3, 2) and shape [4, 2, 1] sage: ShiftedPrimedTableaux([4,2,1], weight=(2,3,2)).cardinality() 4