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:
Tableau
A 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:
SemistandardTableaux
The 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:
SemistandardSuperTableaux
All semistandard super tableaux.
- class sage.combinat.super_tableau.StandardSuperTableau(parent, t, check=True, preprocessed=False)[source]¶
Bases:
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 [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
,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 [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
,DisjointUnionEnumeratedSets
All standard super tableaux.
- class sage.combinat.super_tableau.StandardSuperTableaux_shape(p)[source]¶
Bases:
StandardSuperTableaux
Standard 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_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
>>> 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
,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]]]
>>> 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_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
>>> 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