Elementary symmetric functions¶
-
class
sage.combinat.sf.elementary.
SymmetricFunctionAlgebra_elementary
(Sym)¶ Bases:
sage.combinat.sf.multiplicative.SymmetricFunctionAlgebra_multiplicative
A class for methods for the elementary basis of the symmetric functions.
INPUT:
self
– an elementary basis of the symmetric functionsSym
– an instance of the ring of symmetric functions
-
class
Element
¶ Bases:
sage.combinat.sf.classical.SymmetricFunctionAlgebra_classical.Element
-
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: e = SymmetricFunctions(QQ).e() sage: e([2,1]).expand(3) x0^2*x1 + x0*x1^2 + x0^2*x2 + 3*x0*x1*x2 + x1^2*x2 + x0*x2^2 + x1*x2^2 sage: e([1,1,1]).expand(2) x0^3 + 3*x0^2*x1 + 3*x0*x1^2 + x1^3 sage: e([3]).expand(2) 0 sage: e([2]).expand(3) x0*x1 + x0*x2 + x1*x2 sage: e([3]).expand(4,alphabet='x,y,z,t') x*y*z + x*y*t + x*z*t + y*z*t sage: e([3]).expand(4,alphabet='y') y0*y1*y2 + y0*y1*y3 + y0*y2*y3 + y1*y2*y3 sage: e([]).expand(2) 1 sage: e([]).expand(0) 1 sage: (3*e([])).expand(0) 3
-
omega
()¶ Return the image of
self
under the omega automorphism.The omega automorphism is defined to be the unique algebra endomorphism ω of the ring of symmetric functions that satisfies ω(ek)=hk for all positive integers k (where ek stands for the k-th elementary symmetric function, and hk 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 pk to (−1)k−1pk for every positive integer k.
The images of some bases under the omega automorphism are given by
ω(eλ)=hλ,ω(hλ)=eλ,ω(pλ)=(−1)|λ|−ℓ(λ)pλ,ω(sλ)=sλ′,where λ is any partition, where ℓ(λ) denotes the length (
length()
) of the partition λ, where λ′ denotes the conjugate partition (conjugate()
) of λ, 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.EXAMPLES:
sage: e = SymmetricFunctions(QQ).e() sage: a = e([2,1]); a e[2, 1] sage: a.omega() e[1, 1, 1] - e[2, 1]
sage: h = SymmetricFunctions(QQ).h() sage: h(e([2,1]).omega()) h[2, 1]
-
omega_involution
()¶ Return the image of
self
under the omega automorphism.The omega automorphism is defined to be the unique algebra endomorphism ω of the ring of symmetric functions that satisfies ω(ek)=hk for all positive integers k (where ek stands for the k-th elementary symmetric function, and hk 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 pk to (−1)k−1pk for every positive integer k.
The images of some bases under the omega automorphism are given by
ω(eλ)=hλ,ω(hλ)=eλ,ω(pλ)=(−1)|λ|−ℓ(λ)pλ,ω(sλ)=sλ′,where λ is any partition, where ℓ(λ) denotes the length (
length()
) of the partition λ, where λ′ denotes the conjugate partition (conjugate()
) of λ, 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.EXAMPLES:
sage: e = SymmetricFunctions(QQ).e() sage: a = e([2,1]); a e[2, 1] sage: a.omega() e[1, 1, 1] - e[2, 1]
sage: h = SymmetricFunctions(QQ).h() sage: h(e([2,1]).omega()) h[2, 1]
-
verschiebung
(n)¶ Return the image of the symmetric function
self
under the n-th Verschiebung operator.The n-th Verschiebung operator Vn is defined to be the unique algebra endomorphism V of the ring of symmetric functions that satisfies V(hr)=hr/n for every positive integer r divisible by n, and satisfies V(hr)=0 for every positive integer r not divisible by n. This operator Vn is a Hopf algebra endomorphism. For every nonnegative integer r with n∣r, it satisfies
Vn(hr)=hr/n,Vn(pr)=npr/n,Vn(er)=(−1)r−r/ner/n(where h is the complete homogeneous basis, p is the powersum basis, and e is the elementary basis). For every nonnegative integer r with n∤r, it satisfes
Vn(hr)=Vn(pr)=Vn(er)=0.The n-th Verschiebung operator is also called the n-th Verschiebung endomorphism. Its name derives from the Verschiebung (German for “shift”) endomorphism of the Witt vectors.
The n-th Verschiebung operator is adjoint to the n-th Frobenius operator (see
frobenius()
for its definition) with respect to the Hall scalar product (scalar()
).The action of the n-th Verschiebung operator on the Schur basis can also be computed explicitly. The following (probably clumsier than necessary) description can be obtained by solving exercise 7.61 in Stanley [STA].
Let λ be a partition. Let n be a positive integer. If the n-core of λ is nonempty, then Vn(sλ)=0. Otherwise, the following method computes Vn(sλ): Write the partition λ in the form (λ1,λ2,...,λns) for some nonnegative integer s. (If n does not divide the length of λ, then this is achieved by adding trailing zeroes to λ.) Set βi=λi+ns−i for every s∈{1,2,…,ns}. Then, (β1,β2,...,βns) is a strictly decreasing sequence of nonnegative integers. Stably sort the list (1,2,…,ns) in order of (weakly) increasing remainder of −1−βi modulo n. Let ξ be the sign of the permutation that is used for this sorting. Let ψ be the sign of the permutation that is used to stably sort the list (1,2,…,ns) in order of (weakly) increasing remainder of i−1 modulo n. (Notice that ψ=(−1)n(n−1)s(s−1)/4.) Then, Vn(sλ)=ξψ∏n−1i=0sλ(i), where (λ(0),λ(1),…,λ(n−1)) is the n-quotient of λ.
INPUT:
n
– a positive integer
OUTPUT:
The result of applying the n-th Verschiebung operator (on the ring of symmetric functions) to
self
.EXAMPLES:
sage: Sym = SymmetricFunctions(ZZ) sage: e = Sym.e() sage: e[3].verschiebung(2) 0 sage: e[4].verschiebung(4) -e[1]
The Verschiebung endomorphisms are multiplicative:
sage: all( all( e(lam).verschiebung(2) * e(mu).verschiebung(2) ....: == (e(lam) * e(mu)).verschiebung(2) ....: for mu in Partitions(4) ) ....: for lam in Partitions(4) ) True
-
-
coproduct_on_generators
(i)¶ Returns the coproduct on
self[i]
.INPUT:
self
– an elementary basis of the symmetric functionsi
– a nonnegative integer
OUTPUT:
- returns the coproduct on the elementary generator e(i)
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ) sage: e = Sym.elementary() sage: e.coproduct_on_generators(2) e[] # e[2] + e[1] # e[1] + e[2] # e[] sage: e.coproduct_on_generators(0) e[] # e[]