Bases: sage.combinat.sf.multiplicative.SymmetricFunctionAlgebra_multiplicative
A class for methods associated to the power sum basis of the symmetric functions
INPUT:
TESTS:
sage: p = SymmetricFunctions(QQ).p()
sage: p == loads(dumps(p))
True
sage: TestSuite(p).run(skip=['_test_associativity', '_test_distributivity', '_test_prod'])
sage: TestSuite(p).run(elements = [p[1,1]+p[2], p[1]+2*p[1,1]])
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
Expands the symmetric function as a symmetric polynomial in variables.
INPUT:
OUTPUT:
EXAMPLES:
sage: p = SymmetricFunctions(QQ).p()
sage: a = p([2])
sage: a.expand(2)
x0^2 + x1^2
sage: a.expand(3, alphabet=['a','b','c'])
a^2 + b^2 + c^2
sage: p([2,1,1]).expand(2)
x0^4 + 2*x0^3*x1 + 2*x0^2*x1^2 + 2*x0*x1^3 + x1^4
sage: p([7]).expand(4)
x0^7 + x1^7 + x2^7 + x3^7
sage: p([7]).expand(4,alphabet='t')
t0^7 + t1^7 + t2^7 + t3^7
sage: p([7]).expand(4,alphabet='x,y,z,t')
x^7 + y^7 + z^7 + t^7
sage: p(1).expand(4)
1
sage: p(0).expand(4)
0
sage: (p([]) + 2*p([1])).expand(3)
2*x0 + 2*x1 + 2*x2 + 1
Returns the image of self under the Frobenius / omega automorphism.
INPUT:
OUTPUT:
EXAMPLES:
sage: p = SymmetricFunctions(QQ).p()
sage: a = p([2,1]); a
p[2, 1]
sage: a.omega()
-p[2, 1]
sage: p([]).omega()
p[]
sage: p(0).omega()
0
Returns the standard scalar product of self and x.
INPUT:
Note that the power-sum symmetric functions are orthogonal under
this scalar product. The value of
is given by the size of the centralizer in
of a
permutation of cycle type
.
OUTPUT:
EXAMPLES:
sage: p = SymmetricFunctions(QQ).p()
sage: p4 = Partitions(4)
sage: matrix([ [p(a).scalar(p(b)) for a in p4] for b in p4])
[ 4 0 0 0 0]
[ 0 3 0 0 0]
[ 0 0 8 0 0]
[ 0 0 0 4 0]
[ 0 0 0 0 24]
sage: p(0).scalar(p(1))
0
sage: p(1).scalar(p(2))
2
sage: zee = lambda x : 1
sage: matrix( [[p[la].scalar(p[mu], zee) for la in Partitions(3)] for mu in Partitions(3)])
[1 0 0]
[0 1 0]
[0 0 1]
Returns the antipode of self[partition].
The antipode on the generator is
and the
antipode on
is
.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ)
sage: p = Sym.p()
sage: p.antipode_on_basis([2])
-p[2]
sage: p.antipode_on_basis([3])
-p[3]
sage: p.antipode_on_basis([2,2])
p[2, 2]
Returns coproduct on generators for power sums .
The elements
are primitive elements.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ)
sage: p = Sym.powersum()
sage: p.coproduct_on_generators(2)
p[] # p[2] + p[2] # p[]