# Homogeneous symmetric functions¶

class sage.combinat.sf.homogeneous.SymmetricFunctionAlgebra_homogeneous(Sym)

A class of methods specific to the homogeneous basis of symmetric functions

INPUT:

• self – a homogeneous basis of symmetric functions
• Sym – an instance of the ring of symmetric functions

TESTS:

sage: h = SymmetricFunctions(QQ).e()
True
sage: TestSuite(h).run(skip=['_test_associativity', '_test_distributivity', '_test_prod'])
sage: TestSuite(h).run(elements = [h[1,1]+h[2], h[1]+2*h[1,1]])

class Element(M, x)

Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.

TESTS:

sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
True

expand(n, alphabet='x')

Expands the symmetric function as a symmetric polynomial in $$n$$ variables.

INPUT:

• self – an element of the homogeneous basis of symmetric functions
• n – a positive integer
• alphabet – a variable for the expansion (default: $$x$$)

OUTPUT: a monomial expansion of an instance of self in $$n$$ variables

EXAMPLES:

sage: h = SymmetricFunctions(QQ).h()
sage: h([3]).expand(2)
x0^3 + x0^2*x1 + x0*x1^2 + x1^3
sage: h([1,1,1]).expand(2)
x0^3 + 3*x0^2*x1 + 3*x0*x1^2 + x1^3
sage: h([2,1]).expand(3)
x0^3 + 2*x0^2*x1 + 2*x0*x1^2 + x1^3 + 2*x0^2*x2 + 3*x0*x1*x2 + 2*x1^2*x2 + 2*x0*x2^2 + 2*x1*x2^2 + x2^3
sage: h([3]).expand(2,alphabet='y')
y0^3 + y0^2*y1 + y0*y1^2 + y1^3
sage: h([3]).expand(2,alphabet='x,y')
x^3 + x^2*y + x*y^2 + y^3
sage: h([3]).expand(3,alphabet='x,y,z')
x^3 + x^2*y + x*y^2 + y^3 + x^2*z + x*y*z + y^2*z + x*z^2 + y*z^2 + z^3
sage: (h([]) + 2*h([1])).expand(3)
2*x0 + 2*x1 + 2*x2 + 1

omega()

Return the image of self under the omega automorphism.

The omega automorphism is defined to be the unique algebra endomorphism $$\omega$$ of the ring of symmetric functions that satisfies $$\omega(e_k) = h_k$$ for all positive integers $$k$$ (where $$e_k$$ stands for the $$k$$-th elementary symmetric function, and $$h_k$$ stands for the $$k$$-th complete homogeneous symmetric function). It furthermore is a Hopf algebra endomorphism and an involution, and it is also known as the omega involution. It sends the power-sum symmetric function $$p_k$$ to $$(-1)^{k-1} p_k$$ for every positive integer $$k$$.

The images of some bases under the omega automorphism are given by

$\omega(e_{\lambda}) = h_{\lambda}, \qquad \omega(h_{\lambda}) = e_{\lambda}, \qquad \omega(p_{\lambda}) = (-1)^{|\lambda| - \ell(\lambda)} p_{\lambda}, \qquad \omega(s_{\lambda}) = s_{\lambda^{\prime}},$

where $$\lambda$$ is any partition, where $$\ell(\lambda)$$ denotes the length (length()) of the partition $$\lambda$$, where $$\lambda^{\prime}$$ denotes the conjugate partition (conjugate()) of $$\lambda$$, and where the usual notations for bases are used ($$e$$ = elementary, $$h$$ = complete homogeneous, $$p$$ = powersum, $$s$$ = Schur).

omega_involution() is a synonym for the omega() method.

OUTPUT:

• the image of self under the omega automorphism

EXAMPLES:

sage: h = SymmetricFunctions(QQ).h()
sage: a = h([2,1]); a
h[2, 1]
sage: a.omega()
h[1, 1, 1] - h[2, 1]
sage: e = SymmetricFunctions(QQ).e()
sage: e(h([2,1]).omega())
e[2, 1]

omega_involution()

Return the image of self under the omega automorphism.

The omega automorphism is defined to be the unique algebra endomorphism $$\omega$$ of the ring of symmetric functions that satisfies $$\omega(e_k) = h_k$$ for all positive integers $$k$$ (where $$e_k$$ stands for the $$k$$-th elementary symmetric function, and $$h_k$$ stands for the $$k$$-th complete homogeneous symmetric function). It furthermore is a Hopf algebra endomorphism and an involution, and it is also known as the omega involution. It sends the power-sum symmetric function $$p_k$$ to $$(-1)^{k-1} p_k$$ for every positive integer $$k$$.

The images of some bases under the omega automorphism are given by

$\omega(e_{\lambda}) = h_{\lambda}, \qquad \omega(h_{\lambda}) = e_{\lambda}, \qquad \omega(p_{\lambda}) = (-1)^{|\lambda| - \ell(\lambda)} p_{\lambda}, \qquad \omega(s_{\lambda}) = s_{\lambda^{\prime}},$

where $$\lambda$$ is any partition, where $$\ell(\lambda)$$ denotes the length (length()) of the partition $$\lambda$$, where $$\lambda^{\prime}$$ denotes the conjugate partition (conjugate()) of $$\lambda$$, and where the usual notations for bases are used ($$e$$ = elementary, $$h$$ = complete homogeneous, $$p$$ = powersum, $$s$$ = Schur).

omega_involution() is a synonym for the omega() method.

OUTPUT:

• the image of self under the omega automorphism

EXAMPLES:

sage: h = SymmetricFunctions(QQ).h()
sage: a = h([2,1]); a
h[2, 1]
sage: a.omega()
h[1, 1, 1] - h[2, 1]
sage: e = SymmetricFunctions(QQ).e()
sage: e(h([2,1]).omega())
e[2, 1]

SymmetricFunctionAlgebra_homogeneous.coproduct_on_generators(i)

Returns the coproduct on $$h_i$$.

INPUT:

• self – a homogeneous basis of symmetric functions
• i – a nonnegative integer

OUTPUT:

• the sum $$\sum_{r=0}^i h_r \otimes h_{i-r}$$

EXAMPLES:

sage: Sym = SymmetricFunctions(QQ)
sage: h = Sym.homogeneous()
sage: h.coproduct_on_generators(2)
h[] # h[2] + h[1] # h[1] + h[2] # h[]
sage: h.coproduct_on_generators(0)
h[] # h[]


#### Previous topic

Elementary symmetric functions

#### Next topic

Power sum symmetric functions