Homogeneous symmetric functions¶
By this we mean the basis formed of the complete homogeneous symmetric functions \(h_\lambda\), not an arbitrary graded basis.
-
class
sage.combinat.sf.homogeneous.
SymmetricFunctionAlgebra_homogeneous
(Sym)¶ Bases:
sage.combinat.sf.multiplicative.SymmetricFunctionAlgebra_multiplicative
A class of methods specific to the homogeneous basis of symmetric functions.
INPUT:
self
– a homogeneous basis of symmetric functionsSym
– an instance of the ring of symmetric functions
TESTS:
sage: h = SymmetricFunctions(QQ).e() sage: h == loads(dumps(h)) 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)¶ Bases:
sage.combinat.sf.classical.SymmetricFunctionAlgebra_classical.Element
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'] sage: f == loads(dumps(f)) True
-
expand
(n, alphabet='x')¶ Expand the symmetric function
self
as a symmetric polynomial inn
variables.INPUT:
n
– a nonnegative integeralphabet
– (default:'x'
) a variable for the expansion
OUTPUT:
A monomial expansion of
self
in the \(n\) variables labelled byalphabet
.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 sage: h([1]).expand(0) 0 sage: (3*h([])).expand(0) 3
-
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 theomega()
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]
- the image of
-
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 theomega()
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]
- the image of
-
-
SymmetricFunctionAlgebra_homogeneous.
coproduct_on_generators
(i)¶ Returns the coproduct on \(h_i\).
INPUT:
self
– a homogeneous basis of symmetric functionsi
– 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[]