Characters of the symmetric group as bases of the symmetric functions#

Just as the Schur functions are the irreducible characters of \(Gl_n\) and form a basis of the symmetric functions, the irreducible symmetric group character basis are the irreducible characters of of \(S_n\) when the group is realized as the permutation matrices.

REFERENCES:

[OZ2015] (1,2)

R. Orellana, M. Zabrocki, Symmetric group characters as symmetric functions, arXiv 1510.00438.

class sage.combinat.sf.character.Character_generic(Sym, basis_name=None, prefix=None, graded=True)[source]#

Bases: SymmetricFunctionAlgebra_generic

class sage.combinat.sf.character.InducedTrivialCharacterBasis(Sym)[source]#

Bases: Character_generic

The induced trivial symmetric group character basis of the symmetric functions.

This is a basis of the symmetric functions that has the property that self(la).character_to_frobenius_image(n) is equal to h([n-sum(la)]+la).

It has the property that the (outer) structure constants are the analogue of the stable Kronecker coefficients on the complete basis.

This basis is introduced in [OZ2015].

EXAMPLES:

sage: Sym = SymmetricFunctions(QQ)
sage: s = Sym.s()
sage: h = Sym.h()
sage: ht = SymmetricFunctions(QQ).ht()
sage: st = SymmetricFunctions(QQ).st()
sage: ht(s[2,1])
ht[1, 1] + ht[2, 1] - ht[3]
sage: s(ht[2,1])
s[1] - 2*s[1, 1] - 2*s[2] + s[2, 1] + s[3]
sage: ht(h[2,1])
ht[1] + 2*ht[1, 1] + ht[2, 1]
sage: h(ht[2,1])
h[1] - 2*h[1, 1] + h[2, 1]
sage: st(ht[2,1])
st[] + 2*st[1] + st[1, 1] + 2*st[2] + st[2, 1] + st[3]
sage: ht(st[2,1])
ht[1] - ht[1, 1] + ht[2, 1] - ht[3]
sage: ht[2]*ht[1,1]
ht[1, 1] + 2*ht[1, 1, 1] + ht[2, 1, 1]
sage: h[4,2].kronecker_product(h[4,1,1])
h[2, 2, 1, 1] + 2*h[3, 1, 1, 1] + h[4, 1, 1]
sage: s(st[2,1])
3*s[1] - 2*s[1, 1] - 2*s[2] + s[2, 1]
sage: st(s[2,1])
st[] + 3*st[1] + 2*st[1, 1] + 2*st[2] + st[2, 1]
sage: st[2]*st[1]
st[1] + st[1, 1] + st[2] + st[2, 1] + st[3]
sage: s[4,2].kronecker_product(s[5,1])
s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2] + s[5, 1]
>>> from sage.all import *
>>> Sym = SymmetricFunctions(QQ)
>>> s = Sym.s()
>>> h = Sym.h()
>>> ht = SymmetricFunctions(QQ).ht()
>>> st = SymmetricFunctions(QQ).st()
>>> ht(s[Integer(2),Integer(1)])
ht[1, 1] + ht[2, 1] - ht[3]
>>> s(ht[Integer(2),Integer(1)])
s[1] - 2*s[1, 1] - 2*s[2] + s[2, 1] + s[3]
>>> ht(h[Integer(2),Integer(1)])
ht[1] + 2*ht[1, 1] + ht[2, 1]
>>> h(ht[Integer(2),Integer(1)])
h[1] - 2*h[1, 1] + h[2, 1]
>>> st(ht[Integer(2),Integer(1)])
st[] + 2*st[1] + st[1, 1] + 2*st[2] + st[2, 1] + st[3]
>>> ht(st[Integer(2),Integer(1)])
ht[1] - ht[1, 1] + ht[2, 1] - ht[3]
>>> ht[Integer(2)]*ht[Integer(1),Integer(1)]
ht[1, 1] + 2*ht[1, 1, 1] + ht[2, 1, 1]
>>> h[Integer(4),Integer(2)].kronecker_product(h[Integer(4),Integer(1),Integer(1)])
h[2, 2, 1, 1] + 2*h[3, 1, 1, 1] + h[4, 1, 1]
>>> s(st[Integer(2),Integer(1)])
3*s[1] - 2*s[1, 1] - 2*s[2] + s[2, 1]
>>> st(s[Integer(2),Integer(1)])
st[] + 3*st[1] + 2*st[1, 1] + 2*st[2] + st[2, 1]
>>> st[Integer(2)]*st[Integer(1)]
st[1] + st[1, 1] + st[2] + st[2, 1] + st[3]
>>> s[Integer(4),Integer(2)].kronecker_product(s[Integer(5),Integer(1)])
s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2] + s[5, 1]
class sage.combinat.sf.character.IrreducibleCharacterBasis(Sym)[source]#

Bases: Character_generic

The irreducible symmetric group character basis of the symmetric functions.

This is a basis of the symmetric functions that has the property that self(la).character_to_frobenius_image(n) is equal to s([n-sum(la)]+la).

It should also have the property that the (outer) structure constants are the analogue of the stable Kronecker coefficients on the Schur basis.

This basis is introduced in [OZ2015].

EXAMPLES:

sage: Sym = SymmetricFunctions(QQ)
sage: s = Sym.s()
sage: h = Sym.h()
sage: ht = SymmetricFunctions(QQ).ht()
sage: st = SymmetricFunctions(QQ).st()
sage: st(ht[2,1])
st[] + 2*st[1] + st[1, 1] + 2*st[2] + st[2, 1] + st[3]
sage: ht(st[2,1])
ht[1] - ht[1, 1] + ht[2, 1] - ht[3]
sage: s(st[2,1])
3*s[1] - 2*s[1, 1] - 2*s[2] + s[2, 1]
sage: st(s[2,1])
st[] + 3*st[1] + 2*st[1, 1] + 2*st[2] + st[2, 1]
sage: st[2]*st[1]
st[1] + st[1, 1] + st[2] + st[2, 1] + st[3]
sage: s[4,2].kronecker_product(s[5,1])
s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2] + s[5, 1]
sage: st[1,1,1].counit()
-1
sage: all(sum(c*st(la)*st(mu).antipode() for
....:    ((la,mu),c) in st(ga).coproduct())==st(st(ga).counit())
....:    for ga in Partitions(3))
True
>>> from sage.all import *
>>> Sym = SymmetricFunctions(QQ)
>>> s = Sym.s()
>>> h = Sym.h()
>>> ht = SymmetricFunctions(QQ).ht()
>>> st = SymmetricFunctions(QQ).st()
>>> st(ht[Integer(2),Integer(1)])
st[] + 2*st[1] + st[1, 1] + 2*st[2] + st[2, 1] + st[3]
>>> ht(st[Integer(2),Integer(1)])
ht[1] - ht[1, 1] + ht[2, 1] - ht[3]
>>> s(st[Integer(2),Integer(1)])
3*s[1] - 2*s[1, 1] - 2*s[2] + s[2, 1]
>>> st(s[Integer(2),Integer(1)])
st[] + 3*st[1] + 2*st[1, 1] + 2*st[2] + st[2, 1]
>>> st[Integer(2)]*st[Integer(1)]
st[1] + st[1, 1] + st[2] + st[2, 1] + st[3]
>>> s[Integer(4),Integer(2)].kronecker_product(s[Integer(5),Integer(1)])
s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2] + s[5, 1]
>>> st[Integer(1),Integer(1),Integer(1)].counit()
-1
>>> all(sum(c*st(la)*st(mu).antipode() for
...    ((la,mu),c) in st(ga).coproduct())==st(st(ga).counit())
...    for ga in Partitions(Integer(3)))
True