Super Tableaux

AUTHORS:

  • Matthew Lancellotti (2007): initial version
  • Chaman Agrawal (2019-07-23): Modify Standard and Semistandard tableaux for super tableaux.
class sage.combinat.super_tableau.SemistandardSuperTableau(parent, t, check=True, preprocessed=False)

Bases: sage.combinat.tableau.Tableau

A semistandard super tableau.

A semistandard super tableau is a tableau with primed positive integer entries. As defined in [Muth2017], a semistandard super tableau weakly increases along the rows and down the columns. Also, the letters of even parity (unprimed) strictly increases down the columns, and letters of oddd parity (primed) strictly increases along the rows. Note that Sage uses the English convention for partitions and tableaux; the longer rows are displayed on top.

INPUT:

  • t – a tableau, a list of iterables, or an empty list

EXAMPLES:

sage: t = SemistandardSuperTableau([['1p',2,"3'"],[2,3]]); t
[[1', 2, 3'], [2, 3]]
sage: t.shape()
[3, 2]
sage: t.pp() # pretty printing
1' 2 3'
2 3
sage: t = Tableau([["1p",2],[2]])
sage: s = SemistandardSuperTableau(t); s
[[1', 2], [2]]
sage: SemistandardSuperTableau([]) # The empty tableau
[]
check()

Check that self is a valid semistandard super tableau.

class sage.combinat.super_tableau.SemistandardSuperTableaux(**kwds)

Bases: sage.combinat.tableau.SemistandardTableaux

The set of semistandard super tableaux.

A semistandard super tableau is a tableau with primed positive integer entries. As defined in [Muth2017], a semistandard super tableau weakly increases along the rows and down the columns. Also, the letters of even parity (unprimed) strictly increases down the columns, and letters of oddd parity (primed) strictly increases along the rows. Note that Sage uses the English convention for partitions and tableaux; the longer rows are displayed on top.

EXAMPLES:

sage: SST = SemistandardSuperTableaux(); SST
Semistandard super tableaux
Element

alias of SemistandardSuperTableau

class sage.combinat.super_tableau.SemistandardSuperTableaux_all

Bases: sage.combinat.super_tableau.SemistandardSuperTableaux

All semistandard super tableaux.

class sage.combinat.super_tableau.StandardSuperTableau(parent, t, check=True, preprocessed=False)

Bases: sage.combinat.super_tableau.SemistandardSuperTableau

A standard super tableau.

A standard super tableau is a semistandard super tableau whose entries are in bijection with positive primed integers \(1', 1, 2' \ldots n\).

For more information refer [Muth2017].

INPUT:

  • t – a Tableau, a list of iterables, or an empty list

EXAMPLES:

sage: t = StandardSuperTableau([["1'",1,"2'",2,"3'"],[3,"4'"]]); t
[[1', 1, 2', 2, 3'], [3, 4']]
sage: t.shape()
[5, 2]
sage: t.pp() # pretty printing
1' 1 2' 2 3'
3 4'
sage: t.is_standard()
True
sage: StandardSuperTableau([]) # The empty tableau
[]
check()

Check that self is a standard tableau.

is_standard()

Return True since self is a standard super tableau.

EXAMPLES:

sage: StandardSuperTableau([['1p', 1], ['2p', 2]]).is_standard()
True
class sage.combinat.super_tableau.StandardSuperTableaux(**kwds)

Bases: sage.combinat.super_tableau.SemistandardSuperTableaux, sage.structure.parent.Parent

The set of standard super tableaux.

A standard super tableau is a tableau whose entries are primed positive integers, which are strictly increasing in rows and down columns and contains each letters from 1’,1,2’…n exactly once.

For more information refer [Muth2017].

INPUT:

  • n – a non-negative integer or a partition.

EXAMPLES:

sage: SST = StandardSuperTableaux()
sage: SST
Standard super tableaux
sage: SST([["1'",1,"2'",2,"3'"],[3,"4'"]])
[[1', 1, 2', 2, 3'], [3, 4']]
sage: SST = StandardSuperTableaux(3)
sage: SST
Standard super tableaux of size 3
sage: SST.first()
[[1', 1, 2']]
sage: SST.last()
[[1'], [1], [2']]
sage: SST.cardinality()
4
sage: SST.list()
[[[1', 1, 2']], [[1', 2'], [1]], [[1', 1], [2']], [[1'], [1], [2']]]
sage: SST = StandardSuperTableaux([3,2])
sage: SST
Standard super tableaux of shape [3, 2]
Element

alias of StandardSuperTableau

class sage.combinat.super_tableau.StandardSuperTableaux_all

Bases: sage.combinat.super_tableau.StandardSuperTableaux, sage.sets.disjoint_union_enumerated_sets.DisjointUnionEnumeratedSets

All standard super tableaux.

class sage.combinat.super_tableau.StandardSuperTableaux_shape(p)

Bases: sage.combinat.super_tableau.StandardSuperTableaux

Standard super tableaux of a fixed shape \(p\).

cardinality()

Return the number of standard super tableaux of given shape.

The standard super tableaux of a fixed shape \(p\) are in bijection with the corresponding standard tableaux (under the alphabet relabeling). Refer sage.combinat.tableau.StandardTableaux_shape for more details.

EXAMPLES:

sage: StandardSuperTableaux([3,2,1]).cardinality()
16
sage: StandardSuperTableaux([2,2]).cardinality()
2
sage: StandardSuperTableaux([5]).cardinality()
1
sage: StandardSuperTableaux([6,5,5,3]).cardinality()
6651216
sage: StandardSuperTableaux([]).cardinality()
1
class sage.combinat.super_tableau.StandardSuperTableaux_size(n)

Bases: sage.combinat.super_tableau.StandardSuperTableaux, sage.sets.disjoint_union_enumerated_sets.DisjointUnionEnumeratedSets

Standard super tableaux of fixed size \(n\).

EXAMPLES:

sage: [ t for t in StandardSuperTableaux(1) ]
[[[1']]]
sage: [ t for t in StandardSuperTableaux(2) ]
[[[1', 1]], [[1'], [1]]]
sage: [ t for t in StandardSuperTableaux(3) ]
[[[1', 1, 2']], [[1', 2'], [1]], [[1', 1], [2']], [[1'], [1], [2']]]
sage: StandardSuperTableaux(4)[:]
[[[1', 1, 2', 2]],
 [[1', 2', 2], [1]],
 [[1', 1, 2], [2']],
 [[1', 1, 2'], [2]],
 [[1', 2'], [1, 2]],
 [[1', 1], [2', 2]],
 [[1', 2], [1], [2']],
 [[1', 2'], [1], [2]],
 [[1', 1], [2'], [2]],
 [[1'], [1], [2'], [2]]]
cardinality()

Return the number of all standard super tableaux of size n.

The standard super tableaux of size \(n\) are in bijection with the corresponding standard tableaux (under the alphabet relabeling). Refer sage.combinat.tableau.StandardTableaux_size for more details.

EXAMPLES:

sage: StandardSuperTableaux(3).cardinality()
4
sage: ns = [1,2,3,4,5,6]
sage: sts = [StandardSuperTableaux(n) for n in ns]
sage: all(st.cardinality() == len(st.list()) for st in sts)
True
sage: StandardSuperTableaux(50).cardinality()  # long time
27886995605342342839104615869259776