Module: sage.combinat.skew_tableau
Skew Tableaux
Module-level Functions
[p=None], [mu=None]) |
Returns a combinatorial class of semistandard skew tableaux.
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]
[st=None], [expr=None]) |
Returns the skew tableau object corresponding to st.
Note that Sage uses the English convention for partitions and tableaux.
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]]
[skp=None]) |
Returns the combinatorial class of standard skew tableaux of shape skp (where skp is a skew partition).
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]]]
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 compatability with MuPAD-Combinat.
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]]
shape, word) |
Returns the skew tableau correspnding to the skew partition shape and the word obtained from the row reading.
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]]
Class: SemistandardSkewTableaux_all
Special Functions: __repr__
self) |
sage: SemistandardSkewTableaux().__repr__() 'Semistandard skew tableaux'
Class: SemistandardSkewTableaux_n
self, n) |
sage: s = SemistandardSkewTableaux(3) sage: s == loads(dumps(s)) True
Functions: count,
iterator
self) |
sage: SemistandardSkewTableaux(2).count() 8
self) |
sage: SemistandardSkewTableaux(2).list() # indirect doctest [[[1], [2]], [[None, 1], [1]], [[None, 2], [1]], [[None, 1], [2]], [[None, 2], [2]], [[1, 1]], [[1, 2]], [[2, 2]]]
Special Functions: __init__,
__repr__
self) |
sage: SemistandardSkewTableaux(3).__repr__() 'Semistandard skew tableaux of size 3'
Class: SemistandardSkewTableaux_nmu
self, n, mu) |
sage: s = SemistandardSkewTableaux(3,[2,1]) sage: s == loads(dumps(s)) True
Functions: count,
iterator
self) |
sage: SemistandardSkewTableaux(2,[1,1]).count() 4
self) |
sage: SemistandardSkewTableaux(2,[1,1]).list() # indirect doctest [[[1], [2]], [[None, 2], [1]], [[None, 1], [2]], [[1, 2]]]
Special Functions: __init__,
__repr__
self) |
sage: SemistandardSkewTableaux(3,[2,1]).__repr__() 'Semistandard skew tableaux of size 3 and weight [2, 1]'
Class: SemistandardSkewTableaux_p
self, p) |
sage: s = SemistandardSkewTableaux([[2,1],[]]) sage: s == loads(dumps(s)) True
Functions: count,
iterator
self) |
sage: SemistandardSkewTableaux([[2,1],[]]).count() 8
self) |
sage: SemistandardSkewTableaux([[2,1],[]]).list() #indirect test [[[1, 1], [2]], [[1, 1], [3]], [[1, 2], [2]], [[1, 3], [2]], [[1, 2], [3]], [[1, 3], [3]], [[2, 2], [3]], [[2, 3], [3]]]
Special Functions: __init__,
__repr__
self) |
sage: repr(SemistandardSkewTableaux([[2,1],[]])) 'Semistandard skew tableaux of shape [[2, 1], []]'
Class: SemistandardSkewTableaux_pmu
self, p, mu) |
sage: s = SemistandardSkewTableaux([[2,1],[]],[2,1]) sage: s == loads(dumps(s)) True
Functions: list
self) |
sage: SemistandardSkewTableaux([[2,1],[]],[2,1]).list() [[[1, 1], [2]]]
Special Functions: __init__,
__repr__
self) |
sage: SemistandardSkewTableaux([[2,1],[]],[2,1]).__repr__() 'Semistandard skew tableaux of shape [[2, 1], []] and weight [2, 1]'
Class: SkewTableau_class
self, t) |
TESTS:
sage: st = SkewTableau([[None, 1],[2,3]]) sage: st == loads(dumps(st)) True
Functions: boxes,
boxes_by_content,
conjugate,
entries_by_content,
evaluation,
filling,
inner_shape,
inner_size,
is_ribbon,
is_semistandard,
is_standard,
outer_shape,
outer_size,
pp,
rectify,
restrict,
shape,
size,
slide,
to_chain,
to_expr,
to_ribbon,
to_tableau,
to_word,
to_word_by_column,
to_word_by_row,
weight
self) |
Returns on the entries in self with content c.
sage: s = SkewTableau([[None,1,2],[3],[6]]) sage: s.boxes() [(0, 1), (0, 2), (1, 0), (2, 0)]
self, c) |
Returns the coordinates of the boxes in self with content c.
sage: s = SkewTableau([[None,1,2],[3,4,5],[6]]) sage: s.boxes_by_content(0) [(1, 1)] sage: s.boxes_by_content(1) [(0, 1), (1, 2)] sage: s.boxes_by_content(2) [(0, 2)] sage: s.boxes_by_content(-1) [(1, 0)] sage: s.boxes_by_content(-2) [(2, 0)]
self) |
Returns the conjugate of the skew tableau.
sage: SkewTableau([[None,1],[2,3]]).conjugate() [[None, 2], [1, 3]]
self, c) |
Returns on the entries in self with content c.
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]
self) |
Returns the evaluation of the word from skew tableau.
sage: SkewTableau([[1,2],[3,4]]).evaluation() [1, 1, 1, 1]
self) |
Returns a list of the non-empty entries in self.
sage: t = SkewTableau([[None,1],[2,3]]) sage: t.filling() [[1], [2, 3]]
self) |
Returns the inner shape of the tableau.
sage: SkewTableau([[None,1,2],[None,3],[4]]).inner_shape() [1, 1]
self) |
Returns the size of the inner shape of the skew tableau.
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).inner_size() 2 sage: SkewTableau([[None, 2], [1, 3]]).inner_size() 1
self) |
Returns True if and only if self is a ribbon, that is if it has no 2x2 boxes.
sage: SkewTableau([[None,1],[2,3]]).is_ribbon() True sage: SkewTableau([[None,1,2],[3,4,5]]).is_ribbon() False
self) |
Returns True if self is a semistandard skew tableau and False otherwise.
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
self) |
Returns True if self is a standard skew tableau and False otherwise.
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
self) |
Returns the outer shape of the tableau.
sage: SkewTableau([[None,1,2],[None,3],[4]]).outer_shape() [3, 2, 1]
self) |
Returns the size of the outer shape of the skew tableau.
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).outer_size() 6 sage: SkewTableau([[None, 2], [1, 3]]).outer_size() 4
self) |
Returns a pretty print string of the tableau.
sage: SkewTableau([[None,2,3],[None,4],[5]]).pp() . 2 3 . 4 5
self) |
Returns a Tableau formed by applying the jeu de taquin process to self.
Fulton, William. 'Young Tableaux'. p15
sage: s = SkewTableau([[None,1],[2,3]]) sage: s.rectify() [[1, 3], [2]]
self, n) |
Returns the restriction of the (semi)standard skew tableau to all the numbers less than or equal to n.
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]]
self) |
Returns the shape of a tableau t.
sage: SkewTableau([[None,1,2],[None,3],[4]]).shape() [[3, 2, 1], [1, 1]]
self) |
Returns the number of boxes in the skew tableau.
sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).size() 4 sage: SkewTableau([[None, 2], [1, 3]]).size() 3
self, [corner=None]) |
Fulton, William. 'Young Tableaux'. p12-13
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]]
self) |
Returns the chain of partitions corresponding to the (semi)standard skew tableau.
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]]
self) |
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 compatability 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.
sage: SkewTableau([[None,1,1,3],[None,2,2],[1]]).to_expr() [[1, 1], [[1], [2, 2], [1, 1, 3]]] sage: SkewTableau([]).to_expr() [[], []]
self) |
Returns the ribbon version of self.
sage: SkewTableau([[None,1],[2,3]]).to_ribbon() [[1], [2, 3]]
self) |
Returns a tableau with the same filling. This only works if the inner shape of the skew tableau has size zero.
sage: SkewTableau([[1,2],[3,4]]).to_tableau() [[1, 2], [3, 4]]
self) |
An alias for SkewTableau.to_word_by_row().
sage: SkewTableau([[None,1],[2,3]]).to_word() [2, 3, 1] sage: SkewTableau([[None, 2, 4], [None, 3], [1]]).to_word() [1, 3, 2, 4]
self) |
Returns the word obtained from a column reading of the skew tableau
sage: s = SkewTableau([[None,1],[2,3]]) sage: s.pp() . 1 2 3 sage: s.to_word_by_column() [1, 3, 2]
sage: s = SkewTableau([[None, 2, 4], [None, 3], [1]]) sage: s.pp() . 2 4 . 3 1 sage: s.to_word_by_column() [4, 2, 3, 1]
self) |
Returns a word obtained from a row reading of the skew tableau.
sage: s = SkewTableau([[None,1],[2,3]]) sage: s.pp() . 1 2 3 sage: s.to_word_by_row() [2, 3, 1] sage: s = SkewTableau([[None, 2, 4], [None, 3], [1]]) sage: s.pp() . 2 4 . 3 1 sage: s.to_word_by_row() [1, 3, 2, 4]
self) |
Returns the evaluation of the word from skew tableau.
sage: SkewTableau([[1,2],[3,4]]).evaluation() [1, 1, 1, 1]
Special Functions: __init__
Class: StandardSkewTableaux_all
Functions: count,
iterator
self) |
sage: StandardSkewTableaux().count() +Infinity
self) |
sage: StandardSkewTableaux().list() #indirect doctest Traceback (most recent call last): ... NotImplementedError
Special Functions: __contains__,
__repr__
self, x) |
sage: [[None, 2], [1, 3]] in StandardSkewTableaux() True sage: [[None, 2], [2, 4]] in StandardSkewTableaux() False sage: [[None, 3], [2, 4]] in StandardSkewTableaux() False sage: [[None, 2], [2, 4]] in StandardSkewTableaux() False
self) |
sage: StandardSkewTableaux() #indirect doctest Standard skew tableaux
Class: StandardSkewTableaux_n
self, n) |
sage: s = StandardSkewTableaux(3) sage: s == loads(dumps(s)) True
Functions: count,
iterator
self) |
sage: StandardSkewTableaux(1).count() 1 sage: StandardSkewTableaux(2).count() 4 sage: StandardSkewTableaux(3).count() 24 sage: StandardSkewTableaux(4).count() 194
self) |
sage: StandardSkewTableaux(2).list() #indirect doctest [[[1], [2]], [[None, 1], [2]], [[None, 2], [1]], [[1, 2]]]
Special Functions: __init__,
__repr__
self) |
sage: StandardSkewTableaux(3) #indirect doctest Standard skew tableaux of size 3
Class: StandardSkewTableaux_skewpartition
self, skp) |
TESTS:
sage: S = StandardSkewTableaux([[3, 2, 1], [1, 1]]) sage: S == loads(dumps(S)) True
Functions: count,
iterator,
list
self) |
Returns the number of standard skew tableaux with shape of the skew partition skp.
sage: StandardSkewTableaux([[3, 2, 1], [1, 1]]).count() 8
self) |
An iterator for all the standard skew tableau with shape of the skew partition skp. The standard skew tableaux are ordered lexicographically by the word obtained from their row reading.
sage: [st for st in StandardSkewTableaux([[3, 2, 1], [1, 1]])] # indirect doctest [[[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]]]
self) |
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.
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]]]
Special Functions: __init__
See About this document... for information on suggesting changes.