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)[source]¶
Bases:
TableauA semistandard super tableau.
A semistandard super tableau is a tableau with primed positive integer entries. As defined in [Muth2019], 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 []
>>> from sage.all import * >>> t = SemistandardSuperTableau([['1p',Integer(2),"3'"],[Integer(2),Integer(3)]]); t [[1', 2, 3'], [2, 3]] >>> t.shape() [3, 2] >>> t.pp() # pretty printing 1' 2 3' 2 3 >>> t = Tableau([["1p",Integer(2)],[Integer(2)]]) >>> s = SemistandardSuperTableau(t); s [[1', 2], [2]] >>> SemistandardSuperTableau([]) # The empty tableau []
- class sage.combinat.super_tableau.SemistandardSuperTableaux(**kwds)[source]¶
Bases:
SemistandardTableauxThe set of semistandard super tableaux.
A semistandard super tableau is a tableau with primed positive integer entries. As defined in [Muth2019], 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
>>> from sage.all import * >>> SST = SemistandardSuperTableaux(); SST Semistandard super tableaux
- Element[source]¶
alias of
SemistandardSuperTableau
- class sage.combinat.super_tableau.SemistandardSuperTableaux_all[source]¶
Bases:
SemistandardSuperTableauxAll semistandard super tableaux.
- class sage.combinat.super_tableau.StandardSuperTableau(parent, t, check=True, preprocessed=False)[source]¶
Bases:
SemistandardSuperTableauA 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 [Muth2019].
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 []
>>> from sage.all import * >>> t = StandardSuperTableau([["1'",Integer(1),"2'",Integer(2),"3'"],[Integer(3),"4'"]]); t [[1', 1, 2', 2, 3'], [3, 4']] >>> t.shape() [5, 2] >>> t.pp() # pretty printing 1' 1 2' 2 3' 3 4' >>> t.is_standard() True >>> StandardSuperTableau([]) # The empty tableau []
- class sage.combinat.super_tableau.StandardSuperTableaux(**kwds)[source]¶
Bases:
SemistandardSuperTableaux,ParentThe 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 [Muth2019].
INPUT:
n– a nonnegative 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]
>>> from sage.all import * >>> SST = StandardSuperTableaux() >>> SST Standard super tableaux >>> SST([["1'",Integer(1),"2'",Integer(2),"3'"],[Integer(3),"4'"]]) [[1', 1, 2', 2, 3'], [3, 4']] >>> SST = StandardSuperTableaux(Integer(3)) >>> SST Standard super tableaux of size 3 >>> SST.first() [[1', 1, 2']] >>> SST.last() [[1'], [1], [2']] >>> SST.cardinality() 4 >>> SST.list() [[[1', 1, 2']], [[1', 2'], [1]], [[1', 1], [2']], [[1'], [1], [2']]] >>> SST = StandardSuperTableaux([Integer(3),Integer(2)]) >>> SST Standard super tableaux of shape [3, 2]
- Element[source]¶
alias of
StandardSuperTableau
- class sage.combinat.super_tableau.StandardSuperTableaux_all[source]¶
Bases:
StandardSuperTableaux,DisjointUnionEnumeratedSetsAll standard super tableaux.
- class sage.combinat.super_tableau.StandardSuperTableaux_shape(p)[source]¶
Bases:
StandardSuperTableauxStandard super tableaux of a fixed shape \(p\).
- cardinality()[source]¶
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_shapefor 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
>>> from sage.all import * >>> StandardSuperTableaux([Integer(3),Integer(2),Integer(1)]).cardinality() 16 >>> StandardSuperTableaux([Integer(2),Integer(2)]).cardinality() 2 >>> StandardSuperTableaux([Integer(5)]).cardinality() 1 >>> StandardSuperTableaux([Integer(6),Integer(5),Integer(5),Integer(3)]).cardinality() 6651216 >>> StandardSuperTableaux([]).cardinality() 1
- class sage.combinat.super_tableau.StandardSuperTableaux_size(n)[source]¶
Bases:
StandardSuperTableaux,DisjointUnionEnumeratedSetsStandard 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]]]
>>> from sage.all import * >>> [ t for t in StandardSuperTableaux(Integer(1)) ] [[[1']]] >>> [ t for t in StandardSuperTableaux(Integer(2)) ] [[[1', 1]], [[1'], [1]]] >>> [ t for t in StandardSuperTableaux(Integer(3)) ] [[[1', 1, 2']], [[1', 2'], [1]], [[1', 1], [2']], [[1'], [1], [2']]] >>> StandardSuperTableaux(Integer(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()[source]¶
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_sizefor 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
>>> from sage.all import * >>> StandardSuperTableaux(Integer(3)).cardinality() 4 >>> ns = [Integer(1),Integer(2),Integer(3),Integer(4),Integer(5),Integer(6)] >>> sts = [StandardSuperTableaux(n) for n in ns] >>> all(st.cardinality() == len(st.list()) for st in sts) True >>> StandardSuperTableaux(Integer(50)).cardinality() # long time 27886995605342342839104615869259776