Skew Tableaux

sage.combinat.skew_tableau.SemistandardSkewTableaux(p=None, mu=None)

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]
class sage.combinat.skew_tableau.SemistandardSkewTableaux_all(category=None, *keys, **opts)
Bases: sage.combinat.combinat.CombinatorialClass
class sage.combinat.skew_tableau.SemistandardSkewTableaux_n(n)

Bases: sage.combinat.combinat.CombinatorialClass

cardinality()

EXAMPLES:

sage: SemistandardSkewTableaux(2).cardinality()
8
class sage.combinat.skew_tableau.SemistandardSkewTableaux_nmu(n, mu)

Bases: sage.combinat.combinat.CombinatorialClass

cardinality()

EXAMPLES:

sage: SemistandardSkewTableaux(2,[1,1]).cardinality()
4
class sage.combinat.skew_tableau.SemistandardSkewTableaux_p(p)

Bases: sage.combinat.combinat.CombinatorialClass

cardinality()

EXAMPLES:

sage: SemistandardSkewTableaux([[2,1],[]]).cardinality()
8
class sage.combinat.skew_tableau.SemistandardSkewTableaux_pmu(p, mu)

Bases: sage.combinat.combinat.CombinatorialClass

list()

EXAMPLES:

sage: SemistandardSkewTableaux([[2,1],[]],[2,1]).list()
[[[1, 1], [2]]]
sage.combinat.skew_tableau.SkewTableau(st=None, expr=None)

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]]
class sage.combinat.skew_tableau.SkewTableau_class(t)

Bases: sage.combinat.combinat.CombinatorialObject

cells()

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)]
cells_by_content(c)

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)]
conjugate()

Returns the conjugate of the skew tableau.

EXAMPLES:

sage: SkewTableau([[None,1],[2,3]]).conjugate()
[[None, 2], [1, 3]]
entries_by_content(c)

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]
evaluation()

Returns the evaluation of the word from skew tableau.

EXAMPLES:

sage: SkewTableau([[1,2],[3,4]]).evaluation()
[1, 1, 1, 1]
filling()

Returns a list of the non-empty entries in self.

EXAMPLES:

sage: t = SkewTableau([[None,1],[2,3]])
sage: t.filling()
[[1], [2, 3]]
inner_shape()

Returns the inner shape of the tableau.

EXAMPLES:

sage: SkewTableau([[None,1,2],[None,3],[4]]).inner_shape()
[1, 1]
inner_size()

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
is_ribbon()

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
is_semistandard()

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
is_standard()

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
outer_shape()

Returns the outer shape of the tableau.

EXAMPLES:

sage: SkewTableau([[None,1,2],[None,3],[4]]).outer_shape()
[3, 2, 1]
outer_size()

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
pp()

Returns a pretty print string of the tableau.

EXAMPLES:

sage: SkewTableau([[None,2,3],[None,4],[5]]).pp()
  .  2  3
  .  4
  5
rectify()

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]]
restrict(n)

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]]
shape()

Returns the shape of a tableau t.

EXAMPLES:

sage: SkewTableau([[None,1,2],[None,3],[4]]).shape()
[[3, 2, 1], [1, 1]]
size()

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
slide(corner=None)

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]]
to_chain()

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]]
to_expr()

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()
[[], []]
to_ribbon()

Returns the ribbon version of self.

EXAMPLES:

sage: SkewTableau([[None,1],[2,3]]).to_ribbon()
[[1], [2, 3]]
to_tableau()

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]]
to_word()

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
to_word_by_column()

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
to_word_by_row()

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
weight()

Returns the evaluation of the word from skew tableau.

EXAMPLES:

sage: SkewTableau([[1,2],[3,4]]).evaluation()
[1, 1, 1, 1]
sage.combinat.skew_tableau.StandardSkewTableaux(skp=None)

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]]]
class sage.combinat.skew_tableau.StandardSkewTableaux_all(category=None, *keys, **opts)
Bases: sage.combinat.combinat.InfiniteAbstractCombinatorialClass
class sage.combinat.skew_tableau.StandardSkewTableaux_n(n)

Bases: sage.combinat.combinat.CombinatorialClass

cardinality()

EXAMPLES:

sage: StandardSkewTableaux(1).cardinality()
1
sage: StandardSkewTableaux(2).cardinality()
4
sage: StandardSkewTableaux(3).cardinality()
24
sage: StandardSkewTableaux(4).cardinality()
194
class sage.combinat.skew_tableau.StandardSkewTableaux_skewpartition(skp)

Bases: sage.combinat.combinat.CombinatorialClass

Element
alias of SkewTableau_class
cardinality()

Returns the number of standard skew tableaux with shape of the skew partition skp.

EXAMPLES:

sage: StandardSkewTableaux([[3, 2, 1], [1, 1]]).cardinality()
8
list()

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]]]
sage.combinat.skew_tableau.from_expr(expr)

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]]
sage.combinat.skew_tableau.from_shape_and_word(shape, word)

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]]

Previous topic

Tableaux

Next topic

Ribbons

This Page