Super Partitions¶
AUTHORS:
- Mike Zabrocki 
A super partition of size \(n\) and fermionic sector \(m\) is a pair consisting of a strict partition of some integer \(r\) of length \(m\) (that may end in a \(0\)) and an integer partition of \(n - r\).
This module provides tools for manipulating super partitions.
Super partitions are the indexing set for symmetric functions in super space.
Super partitions may be input in two different formats: one as a pair consisting of fermionic (strict partition) and a bosonic (partition) part and the other as a list of integer values where the negative entries come first and are listed in strict order followed by the positive values in weak order.
A super partition is displayed as two partitions separated by a semicolon as a default. Super partitions may also be displayed as a weakly increasing sequence of integers that are strict if the numbers are not positive.
These combinatorial objects index the space of symmetric polynomials in two sets of variables, one commuting and one anti-commuting, and they are known as symmetric functions in super space (hence the origin of the name super partitions).
EXAMPLES:
sage: SuperPartitions()
Super Partitions
sage: SuperPartitions(2)
Super Partitions of 2
sage: SuperPartitions(2).cardinality()
8
sage: SuperPartitions(4,2)
Super Partitions of 4 and of fermionic sector 2
sage: [[2,0],[1,1]] in SuperPartitions(4,2)
True
sage: [[1,0],[1,1]] in SuperPartitions(4,2)
False
sage: [[1,0],[2,1]] in SuperPartitions(4)
True
sage: [[1,0],[2,2,1]] in SuperPartitions(4)
False
sage: [[1,0],[2,1]] in SuperPartitions()
True
sage: [[1,1],[2,1]] in SuperPartitions()
False
sage: [-2, 0, 1, 1] in SuperPartitions(4,2)
True
sage: [-1, 0, 1, 1] in SuperPartitions(4,2)
False
sage: [-2, -2, 2, 1] in SuperPartitions(7,2)
False
>>> from sage.all import *
>>> SuperPartitions()
Super Partitions
>>> SuperPartitions(Integer(2))
Super Partitions of 2
>>> SuperPartitions(Integer(2)).cardinality()
8
>>> SuperPartitions(Integer(4),Integer(2))
Super Partitions of 4 and of fermionic sector 2
>>> [[Integer(2),Integer(0)],[Integer(1),Integer(1)]] in SuperPartitions(Integer(4),Integer(2))
True
>>> [[Integer(1),Integer(0)],[Integer(1),Integer(1)]] in SuperPartitions(Integer(4),Integer(2))
False
>>> [[Integer(1),Integer(0)],[Integer(2),Integer(1)]] in SuperPartitions(Integer(4))
True
>>> [[Integer(1),Integer(0)],[Integer(2),Integer(2),Integer(1)]] in SuperPartitions(Integer(4))
False
>>> [[Integer(1),Integer(0)],[Integer(2),Integer(1)]] in SuperPartitions()
True
>>> [[Integer(1),Integer(1)],[Integer(2),Integer(1)]] in SuperPartitions()
False
>>> [-Integer(2), Integer(0), Integer(1), Integer(1)] in SuperPartitions(Integer(4),Integer(2))
True
>>> [-Integer(1), Integer(0), Integer(1), Integer(1)] in SuperPartitions(Integer(4),Integer(2))
False
>>> [-Integer(2), -Integer(2), Integer(2), Integer(1)] in SuperPartitions(Integer(7),Integer(2))
False
REFERENCES:
- class sage.combinat.superpartition.SuperPartition(parent, lst, check=True, immutable=True)[source]¶
- Bases: - ClonableArray- A super partition. - A super partition of size \(n\) and fermionic sector \(m\) is a pair consisting of a strict partition of some integer \(r\) of length \(m\) (that may end in a \(0\)) and an integer partition of \(n - r\). - EXAMPLES: - sage: sp = SuperPartition([[1,0],[2,2,1]]); sp [1, 0; 2, 2, 1] sage: sp[0] (1, 0) sage: sp[1] (2, 2, 1) sage: sp.fermionic_degree() 2 sage: sp.bosonic_degree() 6 sage: sp.length() 5 sage: sp.conjugate() [4, 2; ] - >>> from sage.all import * >>> sp = SuperPartition([[Integer(1),Integer(0)],[Integer(2),Integer(2),Integer(1)]]); sp [1, 0; 2, 2, 1] >>> sp[Integer(0)] (1, 0) >>> sp[Integer(1)] (2, 2, 1) >>> sp.fermionic_degree() 2 >>> sp.bosonic_degree() 6 >>> sp.length() 5 >>> sp.conjugate() [4, 2; ] - a_part()[source]¶
- The antisymmetric part as a list of strictly decreasing integers. - OUTPUT: list - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).antisymmetric_part() [3, 1] sage: SuperPartition([[2,1,0],[3,3]]).antisymmetric_part() [2, 1, 0] - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).antisymmetric_part() [3, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).antisymmetric_part() [2, 1, 0] 
 - add_horizontal_border_strip_star(h)[source]¶
- Return a list of super partitions that differ from - selfby a horizontal strip.- The notion of horizontal strip comes from the Pieri rule for the Schur-star basis of symmetric functions in super space (see Theorem 7 from [JL2016]). - INPUT: - h– number of cells in the horizontal strip
 - OUTPUT: list of super partitions - EXAMPLES: - sage: SuperPartition([[4,1],[3]]).add_horizontal_border_strip_star(3) [[3, 1; 7], [4, 1; 6], [3, 0; 6, 2], [3, 1; 6, 1], [4, 0; 5, 2], [4, 1; 5, 1], [3, 0; 5, 3], [3, 1; 5, 2], [4, 0; 4, 3], [4, 1; 4, 2], [4, 1; 3, 3]] sage: SuperPartition([[2,1],[3]]).add_horizontal_border_strip_star(2) [[2, 1; 5], [2, 0; 4, 2], [2, 1; 4, 1], [2, 0; 3, 3], [2, 1; 3, 2]] - >>> from sage.all import * >>> SuperPartition([[Integer(4),Integer(1)],[Integer(3)]]).add_horizontal_border_strip_star(Integer(3)) [[3, 1; 7], [4, 1; 6], [3, 0; 6, 2], [3, 1; 6, 1], [4, 0; 5, 2], [4, 1; 5, 1], [3, 0; 5, 3], [3, 1; 5, 2], [4, 0; 4, 3], [4, 1; 4, 2], [4, 1; 3, 3]] >>> SuperPartition([[Integer(2),Integer(1)],[Integer(3)]]).add_horizontal_border_strip_star(Integer(2)) [[2, 1; 5], [2, 0; 4, 2], [2, 1; 4, 1], [2, 0; 3, 3], [2, 1; 3, 2]] 
 - add_horizontal_border_strip_star_bar(h)[source]¶
- List super partitions that differ from - selfby a horizontal strip.- The notion of horizontal strip comes from the Pieri rule for the Schur-star-bar basis of symmetric functions in super space (see Theorem 10 from [JL2016]). - INPUT: - h– number of cells in the horizontal strip
 - OUTPUT: list of super partitions - EXAMPLES: - sage: SuperPartition([[4,1],[5,4]]).add_horizontal_border_strip_star_bar(3) [[4, 1; 8, 4], [4, 1; 7, 5], [4, 2; 7, 4], [4, 1; 7, 4, 1], [4, 2; 6, 5], [4, 1; 6, 5, 1], [4, 3; 6, 4], [4, 2; 6, 4, 1], [4, 1; 6, 4, 2], [4, 3; 5, 5], [4, 2; 5, 5, 1], [4, 1; 5, 5, 2], [4, 3; 5, 4, 1], [4, 1; 5, 4, 3]] sage: SuperPartition([[3,1],[5]]).add_horizontal_border_strip_star_bar(2) [[3, 1; 7], [4, 1; 6], [3, 2; 6], [3, 1; 6, 1], [4, 2; 5], [4, 1; 5, 1], [3, 2; 5, 1], [3, 1; 5, 2]] - >>> from sage.all import * >>> SuperPartition([[Integer(4),Integer(1)],[Integer(5),Integer(4)]]).add_horizontal_border_strip_star_bar(Integer(3)) [[4, 1; 8, 4], [4, 1; 7, 5], [4, 2; 7, 4], [4, 1; 7, 4, 1], [4, 2; 6, 5], [4, 1; 6, 5, 1], [4, 3; 6, 4], [4, 2; 6, 4, 1], [4, 1; 6, 4, 2], [4, 3; 5, 5], [4, 2; 5, 5, 1], [4, 1; 5, 5, 2], [4, 3; 5, 4, 1], [4, 1; 5, 4, 3]] >>> SuperPartition([[Integer(3),Integer(1)],[Integer(5)]]).add_horizontal_border_strip_star_bar(Integer(2)) [[3, 1; 7], [4, 1; 6], [3, 2; 6], [3, 1; 6, 1], [4, 2; 5], [4, 1; 5, 1], [3, 2; 5, 1], [3, 1; 5, 2]] 
 - antisymmetric_part()[source]¶
- The antisymmetric part as a list of strictly decreasing integers. - OUTPUT: list - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).antisymmetric_part() [3, 1] sage: SuperPartition([[2,1,0],[3,3]]).antisymmetric_part() [2, 1, 0] - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).antisymmetric_part() [3, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).antisymmetric_part() [2, 1, 0] 
 - bi_degree()[source]¶
- Return the bidegree of - self, which is a pair consisting of the bosonic and fermionic degree.- OUTPUT: a tuple of two integers - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).bi_degree() (9, 2) sage: SuperPartition([[2,1,0],[3,3]]).bi_degree() (9, 3) - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).bi_degree() (9, 2) >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).bi_degree() (9, 3) 
 - bosonic_degree()[source]¶
- Return the bosonic degree of - self.- The bosonic degree is the sum of the sizes of the antisymmetric and symmetric parts. - OUTPUT: integer - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).bosonic_degree() 9 sage: SuperPartition([[2,1,0],[3,3]]).bosonic_degree() 9 - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).bosonic_degree() 9 >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).bosonic_degree() 9 
 - bosonic_length()[source]¶
- Return the length of the partition of the symmetric part. - OUTPUT: integer - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).bosonic_length() 3 sage: SuperPartition([[2,1,0],[3,3]]).bosonic_length() 2 - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).bosonic_length() 3 >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).bosonic_length() 2 
 - check()[source]¶
- Check that - selfis a valid super partition.- EXAMPLES: - sage: SP = SuperPartition([[1],[1]]) sage: SP.check() - >>> from sage.all import * >>> SP = SuperPartition([[Integer(1)],[Integer(1)]]) >>> SP.check() 
 - conjugate()[source]¶
- Conjugate of a super partition. - The conjugate of a super partition is defined by conjugating the circled diagram. - OUTPUT: a - SuperPartition- EXAMPLES: - sage: SuperPartition([[3, 1, 0], [4, 3, 2, 1]]).conjugate() [6, 4, 1; 3] sage: all(sp == sp.conjugate().conjugate() for sp in SuperPartitions(4)) True sage: all(sp.conjugate() in SuperPartitions(3,2) for sp in SuperPartitions(3,2)) True - >>> from sage.all import * >>> SuperPartition([[Integer(3), Integer(1), Integer(0)], [Integer(4), Integer(3), Integer(2), Integer(1)]]).conjugate() [6, 4, 1; 3] >>> all(sp == sp.conjugate().conjugate() for sp in SuperPartitions(Integer(4))) True >>> all(sp.conjugate() in SuperPartitions(Integer(3),Integer(2)) for sp in SuperPartitions(Integer(3),Integer(2))) True 
 - degree()[source]¶
- Return the bosonic degree of - self.- The bosonic degree is the sum of the sizes of the antisymmetric and symmetric parts. - OUTPUT: integer - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).bosonic_degree() 9 sage: SuperPartition([[2,1,0],[3,3]]).bosonic_degree() 9 - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).bosonic_degree() 9 >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).bosonic_degree() 9 
 - dominates(other)[source]¶
- Return - Trueif and only if- selfdominates- other.- If the symmetric and anti-symmetric parts of - selfand- otherare not the same size then the result is- False.- EXAMPLES: - sage: LA = SuperPartition([[2,1],[2,1,1]]) sage: LA.dominates([[2,1],[3,1]]) False sage: LA.dominates([[2,1],[1,1,1,1]]) True sage: LA.dominates([[3],[2,1,1]]) False sage: LA.dominates([[1],[1]*6]) False - >>> from sage.all import * >>> LA = SuperPartition([[Integer(2),Integer(1)],[Integer(2),Integer(1),Integer(1)]]) >>> LA.dominates([[Integer(2),Integer(1)],[Integer(3),Integer(1)]]) False >>> LA.dominates([[Integer(2),Integer(1)],[Integer(1),Integer(1),Integer(1),Integer(1)]]) True >>> LA.dominates([[Integer(3)],[Integer(2),Integer(1),Integer(1)]]) False >>> LA.dominates([[Integer(1)],[Integer(1)]*Integer(6)]) False 
 - fermionic_degree()[source]¶
- Return the fermionic degree of - self.- The fermionic degree is the length of the antisymmetric part. - OUTPUT: integer - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).fermionic_degree() 2 sage: SuperPartition([[2,1,0],[3,3]]).fermionic_degree() 3 - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).fermionic_degree() 2 >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).fermionic_degree() 3 
 - fermionic_sector()[source]¶
- Return the fermionic degree of - self.- The fermionic degree is the length of the antisymmetric part. - OUTPUT: integer - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).fermionic_degree() 2 sage: SuperPartition([[2,1,0],[3,3]]).fermionic_degree() 3 - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).fermionic_degree() 2 >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).fermionic_degree() 3 
 - static from_circled_diagram(shape, corners)[source]¶
- Construct a super partition from a circled diagram. - A circled diagram consists of a partition of the concatenation of the antisymmetric and symmetric parts and a list of addable cells of the partition which indicate the location of the circled cells. - INPUT: - shape– a partition or list of integers
- corners– list of removable cells of- shape
 - OUTPUT: a - SuperPartition- EXAMPLES: - sage: SuperPartition.from_circled_diagram([3, 2, 2, 1, 1], [(0, 3), (3, 1)]) [3, 1; 2, 2, 1] sage: SuperPartition.from_circled_diagram([3, 3, 2, 1], [(2, 2), (3, 1), (4, 0)]) [2, 1, 0; 3, 3] sage: from_cd = SuperPartition.from_circled_diagram sage: all(sp == from_cd(*sp.to_circled_diagram()) for sp in SuperPartitions(4)) True - >>> from sage.all import * >>> SuperPartition.from_circled_diagram([Integer(3), Integer(2), Integer(2), Integer(1), Integer(1)], [(Integer(0), Integer(3)), (Integer(3), Integer(1))]) [3, 1; 2, 2, 1] >>> SuperPartition.from_circled_diagram([Integer(3), Integer(3), Integer(2), Integer(1)], [(Integer(2), Integer(2)), (Integer(3), Integer(1)), (Integer(4), Integer(0))]) [2, 1, 0; 3, 3] >>> from_cd = SuperPartition.from_circled_diagram >>> all(sp == from_cd(*sp.to_circled_diagram()) for sp in SuperPartitions(Integer(4))) True 
 - length()[source]¶
- Return the length of - self, which is the sum of the lengths of the antisymmetric and symmetric part.- OUTPUT: integer - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).length() 5 sage: SuperPartition([[2,1,0],[3,3]]).length() 5 - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).length() 5 >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).length() 5 
 - s_part()[source]¶
- The symmetric part as a list of weakly decreasing integers. - OUTPUT: list - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).symmetric_part() [2, 2, 1] sage: SuperPartition([[2,1,0],[3,3]]).symmetric_part() [3, 3] - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).symmetric_part() [2, 2, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).symmetric_part() [3, 3] 
 - shape_circled_diagram()[source]¶
- A concatenated partition with an extra cell for each antisymmetric part - OUTPUT: a partition - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).shape_circled_diagram() [4, 2, 2, 2, 1] sage: SuperPartition([[2,1,0],[3,3]]).shape_circled_diagram() [3, 3, 3, 2, 1] - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).shape_circled_diagram() [4, 2, 2, 2, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).shape_circled_diagram() [3, 3, 3, 2, 1] 
 - sign()[source]¶
- Return the sign of a permutation of cycle type the symmetric part of - self.- OUTPUT: either \(1\) or \(-1\) - EXAMPLES: - sage: SuperPartition([[1,0],[3,1,1]]).sign() -1 sage: SuperPartition([[1,0],[3,2,1]]).sign() 1 sage: sum(sp.sign()/sp.zee() for sp in SuperPartitions(6,0)) 0 - >>> from sage.all import * >>> SuperPartition([[Integer(1),Integer(0)],[Integer(3),Integer(1),Integer(1)]]).sign() -1 >>> SuperPartition([[Integer(1),Integer(0)],[Integer(3),Integer(2),Integer(1)]]).sign() 1 >>> sum(sp.sign()/sp.zee() for sp in SuperPartitions(Integer(6),Integer(0))) 0 
 - symmetric_part()[source]¶
- The symmetric part as a list of weakly decreasing integers. - OUTPUT: list - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).symmetric_part() [2, 2, 1] sage: SuperPartition([[2,1,0],[3,3]]).symmetric_part() [3, 3] - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).symmetric_part() [2, 2, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).symmetric_part() [3, 3] 
 - to_circled_diagram()[source]¶
- The shape of the circled diagram and a list of addable cells - A circled diagram consists of a partition for the outer shape and a list of removable cells of the partition indicating the location of the circled cells - OUTPUT: list consisting of a partition and a list of pairs of integers - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).to_circled_diagram() [[3, 2, 2, 1, 1], [(0, 3), (3, 1)]] sage: SuperPartition([[2,1,0],[3,3]]).to_circled_diagram() [[3, 3, 2, 1], [(2, 2), (3, 1), (4, 0)]] sage: from_cd = SuperPartition.from_circled_diagram sage: all(sp == from_cd(*sp.to_circled_diagram()) for sp in SuperPartitions(4)) True - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).to_circled_diagram() [[3, 2, 2, 1, 1], [(0, 3), (3, 1)]] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).to_circled_diagram() [[3, 3, 2, 1], [(2, 2), (3, 1), (4, 0)]] >>> from_cd = SuperPartition.from_circled_diagram >>> all(sp == from_cd(*sp.to_circled_diagram()) for sp in SuperPartitions(Integer(4))) True 
 - to_composition()[source]¶
- Concatenate the antisymmetric and symmetric parts to a composition. - OUTPUT: - a (possibly weak) composition 
 - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).to_composition() [3, 1, 2, 2, 1] sage: SuperPartition([[2,1,0],[3,3]]).to_composition() [2, 1, 0, 3, 3] sage: SuperPartition([[2,1,0],[3,3]]).to_composition().parent() Compositions of nonnegative integers - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).to_composition() [3, 1, 2, 2, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).to_composition() [2, 1, 0, 3, 3] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).to_composition().parent() Compositions of nonnegative integers 
 - to_list()[source]¶
- The list of two lists with the antisymmetric and symmetric parts. - EXAMPLES: - sage: SuperPartition([[1],[1]]).to_list() [[1], [1]] sage: SuperPartition([[],[1]]).to_list() [[], [1]] - >>> from sage.all import * >>> SuperPartition([[Integer(1)],[Integer(1)]]).to_list() [[1], [1]] >>> SuperPartition([[],[Integer(1)]]).to_list() [[], [1]] 
 - to_partition()[source]¶
- Concatenate and sort the antisymmetric and symmetric parts to a partition. - OUTPUT: a partition - EXAMPLES: - sage: SuperPartition([[3,1],[2,2,1]]).to_partition() [3, 2, 2, 1, 1] sage: SuperPartition([[2,1,0],[3,3]]).to_partition() [3, 3, 2, 1] sage: SuperPartition([[2,1,0],[3,3]]).to_partition().parent() Partitions - >>> from sage.all import * >>> SuperPartition([[Integer(3),Integer(1)],[Integer(2),Integer(2),Integer(1)]]).to_partition() [3, 2, 2, 1, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).to_partition() [3, 3, 2, 1] >>> SuperPartition([[Integer(2),Integer(1),Integer(0)],[Integer(3),Integer(3)]]).to_partition().parent() Partitions 
 - zee()[source]¶
- Return the centralizer size of a permutation of cycle type symmetric part of - self.- OUTPUT: a positive integer - EXAMPLES: - sage: SuperPartition([[1,0],[3,1,1]]).zee() 6 sage: SuperPartition([[1],[2,2,1]]).zee() 8 sage: sum(1/sp.zee() for sp in SuperPartitions(6,0)) 1 - >>> from sage.all import * >>> SuperPartition([[Integer(1),Integer(0)],[Integer(3),Integer(1),Integer(1)]]).zee() 6 >>> SuperPartition([[Integer(1)],[Integer(2),Integer(2),Integer(1)]]).zee() 8 >>> sum(Integer(1)/sp.zee() for sp in SuperPartitions(Integer(6),Integer(0))) 1 
 
- class sage.combinat.superpartition.SuperPartitions(is_infinite=False)[source]¶
- Bases: - UniqueRepresentation,- Parent- Super partitions. - A super partition of size \(n\) and fermionic sector \(m\) is a pair consisting of a strict partition of some integer \(r\) of length \(m\) (that may end in a \(0\)) and an integer partition of \(n - r\). - INPUT: - n– integer (default:- None)
- m– if- nis specified, an integer (optional: default- None)
 - Super partitions are the indexing set for symmetric functions in super space. - EXAMPLES: - sage: SuperPartitions() Super Partitions sage: SuperPartitions(2) Super Partitions of 2 sage: SuperPartitions(2).cardinality() 8 sage: SuperPartitions(4,2) Super Partitions of 4 and of fermionic sector 2 sage: [[2,0],[1,1]] in SuperPartitions(4,2) True sage: [[1,0],[1,1]] in SuperPartitions(4,2) False sage: [[1,0],[2,1]] in SuperPartitions(4) True sage: [[1,0],[2,2,1]] in SuperPartitions(4) False sage: [[1,0],[2,1]] in SuperPartitions() True sage: [[1,1],[2,1]] in SuperPartitions() False - >>> from sage.all import * >>> SuperPartitions() Super Partitions >>> SuperPartitions(Integer(2)) Super Partitions of 2 >>> SuperPartitions(Integer(2)).cardinality() 8 >>> SuperPartitions(Integer(4),Integer(2)) Super Partitions of 4 and of fermionic sector 2 >>> [[Integer(2),Integer(0)],[Integer(1),Integer(1)]] in SuperPartitions(Integer(4),Integer(2)) True >>> [[Integer(1),Integer(0)],[Integer(1),Integer(1)]] in SuperPartitions(Integer(4),Integer(2)) False >>> [[Integer(1),Integer(0)],[Integer(2),Integer(1)]] in SuperPartitions(Integer(4)) True >>> [[Integer(1),Integer(0)],[Integer(2),Integer(2),Integer(1)]] in SuperPartitions(Integer(4)) False >>> [[Integer(1),Integer(0)],[Integer(2),Integer(1)]] in SuperPartitions() True >>> [[Integer(1),Integer(1)],[Integer(2),Integer(1)]] in SuperPartitions() False - Element[source]¶
- alias of - SuperPartition
 
- class sage.combinat.superpartition.SuperPartitions_all[source]¶
- Bases: - SuperPartitions- Initialize - self.
- class sage.combinat.superpartition.SuperPartitions_n(n)[source]¶
- Bases: - SuperPartitions- Initialize - self.
- class sage.combinat.superpartition.SuperPartitions_n_m(n, m)[source]¶
- Bases: - SuperPartitions- Initialize - self.