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.

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

Bases: SymmetricFunctionAlgebra_generic

class sage.combinat.sf.character.InducedCharacterBases(Sym, other_basis, **kwds)[source]

Bases: Character_generic

Character basis with Frobenius image of other times complete.

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

Bases: InducedCharacterBases

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
class sage.combinat.sf.character.RookIrreducibleCharacterBasis(Sym)[source]

Bases: InducedCharacterBases

The irreducible character basis of the rook monoid as symmetric functions.

It might also be called the induced irreducible character basis because it is the character of an irreducible \(S_k\) module induced to \(S_n\) where \(n > k\).

This basis appears implicitly in the paper by Assaf and Speyer [AS2020]. The basis appears explicitly in [OZ2019].

EXAMPLES:

sage: Sym = SymmetricFunctions(QQ)
sage: s = Sym.s()
sage: h = Sym.h()
sage: ht = Sym.ht()
sage: st = Sym.st()
sage: xt = Sym.xt(); xt
Symmetric Functions over Rational Field in the irreducible rook monoid character basis
sage: xt(s[2,1])
xt[1, 1] + xt[2] + xt[2, 1]
sage: s(xt[2,1])
s[1] - s[1, 1] - s[2] + s[2, 1]
sage: xt(h[2,1])
xt[1] + 2*xt[1, 1] + 2*xt[2] + xt[2, 1] + xt[3]
sage: h(xt[2,1])
h[1] - h[1, 1] + h[2, 1] - h[3]
sage: xt(ht[2,1])
xt[2, 1] + xt[3]
sage: st(xt[2,1])
st[1] + st[1, 1] + st[2] + st[2, 1]
sage: xt(st[2,1])
xt[1] - xt[1, 1] - xt[2] + xt[2, 1]
sage: xt[2]*xt[1,1]
xt[1, 1] + xt[1, 1, 1] + 2*xt[2, 1] + xt[2, 1, 1] + xt[3] + xt[3, 1]
sage: xt(s[2,1])
xt[1, 1] + xt[2] + xt[2, 1]
sage: xt[2]*xt[1]
xt[1, 1] + xt[2] + xt[2, 1] + xt[3]
>>> from sage.all import *
>>> Sym = SymmetricFunctions(QQ)
>>> s = Sym.s()
>>> h = Sym.h()
>>> ht = Sym.ht()
>>> st = Sym.st()
>>> xt = Sym.xt(); xt
Symmetric Functions over Rational Field in the irreducible rook monoid character basis
>>> xt(s[Integer(2),Integer(1)])
xt[1, 1] + xt[2] + xt[2, 1]
>>> s(xt[Integer(2),Integer(1)])
s[1] - s[1, 1] - s[2] + s[2, 1]
>>> xt(h[Integer(2),Integer(1)])
xt[1] + 2*xt[1, 1] + 2*xt[2] + xt[2, 1] + xt[3]
>>> h(xt[Integer(2),Integer(1)])
h[1] - h[1, 1] + h[2, 1] - h[3]
>>> xt(ht[Integer(2),Integer(1)])
xt[2, 1] + xt[3]
>>> st(xt[Integer(2),Integer(1)])
st[1] + st[1, 1] + st[2] + st[2, 1]
>>> xt(st[Integer(2),Integer(1)])
xt[1] - xt[1, 1] - xt[2] + xt[2, 1]
>>> xt[Integer(2)]*xt[Integer(1),Integer(1)]
xt[1, 1] + xt[1, 1, 1] + 2*xt[2, 1] + xt[2, 1, 1] + xt[3] + xt[3, 1]
>>> xt(s[Integer(2),Integer(1)])
xt[1, 1] + xt[2] + xt[2, 1]
>>> xt[Integer(2)]*xt[Integer(1)]
xt[1, 1] + xt[2] + xt[2, 1] + xt[3]

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)]) * s(la).:

sage: s(xt[2,1].character_to_frobenius_image(3))
s[2, 1]
sage: s(xt[2,1].character_to_frobenius_image(9)) == s[6] * s[2,1]
True
[Python]
>>> from sage.all import *
>>> s(xt[Integer(2),Integer(1)].character_to_frobenius_image(Integer(3)))
s[2, 1]
>>> s(xt[Integer(2),Integer(1)].character_to_frobenius_image(Integer(9))) == s[Integer(6)] * s[Integer(2),Integer(1)]
True