Returns a combinatorial class of semistandard skew tableaux.
EXAMPLES:
sage: SemistandardSkewTableaux()
Semistandard skew tableaux
sage: SemistandardSkewTableaux(3)
Semistandard skew tableaux of size 3
sage: SemistandardSkewTableaux([[2,1],[]])
Semistandard skew tableaux of shape [[2, 1], []]
sage: SemistandardSkewTableaux([[2,1],[]],[2,1])
Semistandard skew tableaux of shape [[2, 1], []] and weight [2, 1]
sage: SemistandardSkewTableaux(3, [2,1])
Semistandard skew tableaux of size 3 and weight [2, 1]
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: SemistandardSkewTableaux(2).cardinality()
8
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: SemistandardSkewTableaux(2,[1,1]).cardinality()
4
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: SemistandardSkewTableaux([[2,1],[]]).cardinality()
8
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: SemistandardSkewTableaux([[2,1],[]],[2,1]).list()
[[[1, 1], [2]]]
Returns the skew tableau object corresponding to st.
Note that Sage uses the English convention for partitions and tableaux.
EXAMPLES:
sage: st = SkewTableau([[None, 1],[2,3]]); st
[[None, 1], [2, 3]]
sage: st.inner_shape()
[1]
sage: st.outer_shape()
[2, 2]
The expr form of a skew tableau consists of the inner partition followed by a list of the entries in row from bottom to top.
sage: SkewTableau(expr=[[1,1],[[5],[3,4],[1,2]]])
[[None, 1, 2], [None, 3, 4], [5]]
Bases: sage.combinat.combinat.CombinatorialObject
Returns the cells in self.
EXAMPLES:
sage: s = SkewTableau([[None,1,2],[3],[6]])
sage: s.cells()
[(0, 1), (0, 2), (1, 0), (2, 0)]
Returns the coordinates of the cells in self with content c.
sage: s = SkewTableau([[None,1,2],[3,4,5],[6]])
sage: s.cells_by_content(0)
[(1, 1)]
sage: s.cells_by_content(1)
[(0, 1), (1, 2)]
sage: s.cells_by_content(2)
[(0, 2)]
sage: s.cells_by_content(-1)
[(1, 0)]
sage: s.cells_by_content(-2)
[(2, 0)]
Returns the conjugate of the skew tableau.
EXAMPLES:
sage: SkewTableau([[None,1],[2,3]]).conjugate()
[[None, 2], [1, 3]]
Returns on the entries in self with content c.
EXAMPLES:
sage: s = SkewTableau([[None,1,2],[3,4,5],[6]])
sage: s.entries_by_content(0)
[4]
sage: s.entries_by_content(1)
[1, 5]
sage: s.entries_by_content(2)
[2]
sage: s.entries_by_content(-1)
[3]
sage: s.entries_by_content(-2)
[6]
Returns the evaluation of the word from skew tableau.
EXAMPLES:
sage: SkewTableau([[1,2],[3,4]]).evaluation()
[1, 1, 1, 1]
Returns a list of the non-empty entries in self.
EXAMPLES:
sage: t = SkewTableau([[None,1],[2,3]])
sage: t.filling()
[[1], [2, 3]]
Returns the inner shape of the tableau.
EXAMPLES:
sage: SkewTableau([[None,1,2],[None,3],[4]]).inner_shape()
[1, 1]
Returns the size of the inner shape of the skew tableau.
EXAMPLES:
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).inner_size()
2
sage: SkewTableau([[None, 2], [1, 3]]).inner_size()
1
Returns True if and only if self is a ribbon, that is if it has no 2x2 boxes.
EXAMPLES:
sage: SkewTableau([[None,1],[2,3]]).is_ribbon()
True
sage: SkewTableau([[None,1,2],[3,4,5]]).is_ribbon()
False
Returns True if self is a semistandard skew tableau and False otherwise.
EXAMPLES:
sage: SkewTableau([[None, 2, 2], [1, 3]]).is_semistandard()
True
sage: SkewTableau([[None, 2], [2, 4]]).is_semistandard()
True
sage: SkewTableau([[None, 3], [2, 4]]).is_semistandard()
True
sage: SkewTableau([[None, 2], [1, 2]]).is_semistandard()
False
Returns True if self is a standard skew tableau and False otherwise.
EXAMPLES:
sage: SkewTableau([[None, 2], [1, 3]]).is_standard()
True
sage: SkewTableau([[None, 2], [2, 4]]).is_standard()
False
sage: SkewTableau([[None, 3], [2, 4]]).is_standard()
False
sage: SkewTableau([[None, 2], [2, 4]]).is_standard()
False
Returns the outer shape of the tableau.
EXAMPLES:
sage: SkewTableau([[None,1,2],[None,3],[4]]).outer_shape()
[3, 2, 1]
Returns the size of the outer shape of the skew tableau.
EXAMPLES:
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).outer_size()
6
sage: SkewTableau([[None, 2], [1, 3]]).outer_size()
4
Returns a pretty print string of the tableau.
EXAMPLES:
sage: SkewTableau([[None,2,3],[None,4],[5]]).pp()
. 2 3
. 4
5
Returns a Tableau formed by applying the jeu de taquin process to self.
Fulton, William. ‘Young Tableaux’. p15
EXAMPLES:
sage: s = SkewTableau([[None,1],[2,3]])
sage: s.rectify()
[[1, 3], [2]]
sage: SkewTableau([[None, None, None, 4],[None,None,1,6],[None,None,5],[2,3]]).rectify()
[[1, 3, 4, 6], [2, 5]]
TESTS:
sage: s
[[None, 1], [2, 3]]
Returns the restriction of the (semi)standard skew tableau to all the numbers less than or equal to n.
EXAMPLES:
sage: SkewTableau([[None,1],[2],[3]]).restrict(2)
[[None, 1], [2]]
sage: SkewTableau([[None,1],[2],[3]]).restrict(1)
[[None, 1]]
sage: SkewTableau([[None,1],[1],[2]]).restrict(1)
[[None, 1], [1]]
Returns the shape of a tableau t.
EXAMPLES:
sage: SkewTableau([[None,1,2],[None,3],[4]]).shape()
[[3, 2, 1], [1, 1]]
Returns the number of cells in the skew tableau.
EXAMPLES:
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).size()
4
sage: SkewTableau([[None, 2], [1, 3]]).size()
3
Jeu-de-taquin slide
Apply a jeu-de-taquin slide to self on the specified corner and returns the new tableau. If no corner is given an arbitrary corner is chosen.
Fulton, William. ‘Young Tableaux’. p12-13
EXAMPLES:
sage: st = SkewTableau([[None, None, None, None,2],[None, None, None, None,6], [None, 2, 4, 4], [2, 3, 6], [5,5]])
sage: st.slide((2,0))
[[None, None, None, None, 2], [None, None, None, None, 6], [2, 2, 4, 4], [3, 5, 6], [5]]
TESTS:
sage: st
[[None, None, None, None, 2], [None, None, None, None, 6], [None, 2, 4, 4], [2, 3, 6], [5, 5]]
Returns the chain of partitions corresponding to the (semi)standard skew tableau.
EXAMPLES:
sage: SkewTableau([[None,1],[2],[3]]).to_chain()
[[1], [2], [2, 1], [2, 1, 1]]
sage: SkewTableau([[None,1],[1],[2]]).to_chain()
[[1], [2, 1], [2, 1, 1]]
The first list in a result corresponds to the inner partition of the skew shape. The second list is a list of the rows in the skew tableau read from the bottom up.
Provided for compatibility with MuPAD-Combinat. In MuPAD-Combinat, if t is a skew tableau, then to_expr gives the same result as expr(t) would give in MuPAD-Combinat.
EXAMPLES:
sage: SkewTableau([[None,1,1,3],[None,2,2],[1]]).to_expr()
[[1, 1], [[1], [2, 2], [1, 1, 3]]]
sage: SkewTableau([]).to_expr()
[[], []]
Returns the ribbon version of self.
EXAMPLES:
sage: SkewTableau([[None,1],[2,3]]).to_ribbon()
[[1], [2, 3]]
Returns a tableau with the same filling. This only works if the inner shape of the skew tableau has size zero.
EXAMPLES:
sage: SkewTableau([[1,2],[3,4]]).to_tableau()
[[1, 2], [3, 4]]
An alias for SkewTableau.to_word_by_row().
EXAMPLES:
sage: SkewTableau([[None,1],[2,3]]).to_word()
word: 231
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).to_word()
word: 1324
Returns the word obtained from a column reading of the skew tableau
EXAMPLES:
sage: s = SkewTableau([[None,1],[2,3]])
sage: s.pp()
. 1
2 3
sage: s.to_word_by_column()
word: 132
sage: s = SkewTableau([[None, 2, 4], [None, 3], [1]])
sage: s.pp()
. 2 4
. 3
1
sage: s.to_word_by_column()
word: 4231
Returns a word obtained from a row reading of the skew tableau.
EXAMPLES:
sage: s = SkewTableau([[None,1],[2,3]])
sage: s.pp()
. 1
2 3
sage: s.to_word_by_row()
word: 231
sage: s = SkewTableau([[None, 2, 4], [None, 3], [1]])
sage: s.pp()
. 2 4
. 3
1
sage: s.to_word_by_row()
word: 1324
Returns the evaluation of the word from skew tableau.
EXAMPLES:
sage: SkewTableau([[1,2],[3,4]]).evaluation()
[1, 1, 1, 1]
Returns the combinatorial class of standard skew tableaux of shape skp (where skp is a skew partition).
EXAMPLES:
sage: StandardSkewTableaux([[3, 2, 1], [1, 1]]).list()
[[[None, 1, 2], [None, 3], [4]],
[[None, 1, 2], [None, 4], [3]],
[[None, 1, 3], [None, 2], [4]],
[[None, 1, 4], [None, 2], [3]],
[[None, 1, 3], [None, 4], [2]],
[[None, 1, 4], [None, 3], [2]],
[[None, 2, 3], [None, 4], [1]],
[[None, 2, 4], [None, 3], [1]]]
Bases: sage.combinat.combinat.CombinatorialClass
EXAMPLES:
sage: StandardSkewTableaux(1).cardinality()
1
sage: StandardSkewTableaux(2).cardinality()
4
sage: StandardSkewTableaux(3).cardinality()
24
sage: StandardSkewTableaux(4).cardinality()
194
Bases: sage.combinat.combinat.CombinatorialClass
Returns the number of standard skew tableaux with shape of the skew partition skp.
EXAMPLES:
sage: StandardSkewTableaux([[3, 2, 1], [1, 1]]).cardinality()
8
Returns a list for all the standard skew tableaux with shape of the skew partition skp. The standard skew tableaux are ordered lexicographically by the word obtained from their row reading.
EXAMPLES:
sage: StandardSkewTableaux([[3, 2, 1], [1, 1]]).list()
[[[None, 1, 2], [None, 3], [4]],
[[None, 1, 2], [None, 4], [3]],
[[None, 1, 3], [None, 2], [4]],
[[None, 1, 4], [None, 2], [3]],
[[None, 1, 3], [None, 4], [2]],
[[None, 1, 4], [None, 3], [2]],
[[None, 2, 3], [None, 4], [1]],
[[None, 2, 4], [None, 3], [1]]]
Returns a SkewTableau from a MuPAD-Combinat expr for a skew tableau. The first list in expr is the inner shape of the skew tableau. The second list are the entries in the rows of the skew tableau from bottom to top.
Provided primarily for compatibility with MuPAD-Combinat.
EXAMPLES:
sage: import sage.combinat.skew_tableau as skew_tableau
sage: sage.combinat.skew_tableau.from_expr([[1,1],[[5],[3,4],[1,2]]])
[[None, 1, 2], [None, 3, 4], [5]]
Returns the skew tableau corresponding to the skew partition shape and the word obtained from the row reading.
EXAMPLES:
sage: import sage.combinat.skew_tableau as skew_tableau
sage: t = SkewTableau([[None, 1, 3], [None, 2], [4]])
sage: shape = t.shape()
sage: word = t.to_word()
sage: skew_tableau.from_shape_and_word(shape, word)
[[None, 1, 3], [None, 2], [4]]