Multiplicative symmetric functions#
A realization \(h\) of the ring of symmetric functions is multiplicative if for a partition \(\lambda = (\lambda_1,\lambda_2,\ldots)\) we have \(h_\lambda = h_{\lambda_1} h_{\lambda_2} \cdots\).
- class sage.combinat.sf.multiplicative.SymmetricFunctionAlgebra_multiplicative(Sym, basis_name=None, prefix=None, graded=True)#
Bases:
SymmetricFunctionAlgebra_classical
The class of multiplicative bases of the ring of symmetric functions.
A realization \(q\) of the ring of symmetric functions is multiplicative if for a partition \(\lambda = (\lambda_1,\lambda_2,\ldots)\) we have \(q_\lambda = q_{\lambda_1} q_{\lambda_2} \cdots\) (with \(q_0\) meaning \(1\)).
Examples of multiplicative realizations are the elementary symmetric basis, the complete homogeneous basis, the powersum basis (if the base ring is a \(\QQ\)-algebra), and the Witt basis (but not the Schur basis or the monomial basis).
- coproduct_on_basis(mu)#
Return the coproduct on a basis element for multiplicative bases.
INPUT:
mu
– a partition
OUTPUT:
the image of
self[mu]
under comultiplication; this is an element of the tensor square ofself
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ) sage: p = Sym.powersum() sage: p.coproduct_on_basis([2,1]) p[] # p[2, 1] + p[1] # p[2] + p[2] # p[1] + p[2, 1] # p[] sage: e = Sym.elementary() sage: e.coproduct_on_basis([3,1]) e[] # e[3, 1] + e[1] # e[2, 1] + e[1] # e[3] + e[1, 1] # e[2] + e[2] # e[1, 1] + e[2, 1] # e[1] + e[3] # e[1] + e[3, 1] # e[] sage: h = Sym.homogeneous() sage: h.coproduct_on_basis([3,1]) h[] # h[3, 1] + h[1] # h[2, 1] + h[1] # h[3] + h[1, 1] # h[2] + h[2] # h[1, 1] + h[2, 1] # h[1] + h[3] # h[1] + h[3, 1] # h[]
- product_on_basis(left, right)#
Return the product of
left
andright
.INPUT:
left
,right
– partitions
OUTPUT:
an element of
self
EXAMPLES:
sage: e = SymmetricFunctions(QQ).e() sage: e([2,1])^2 # indirect doctest e[2, 2, 1, 1]
sage: h = SymmetricFunctions(QQ).h() sage: h([2,1])^2 h[2, 2, 1, 1]
sage: p = SymmetricFunctions(QQ).p() sage: p([2,1])^2 p[2, 2, 1, 1]
sage: QQx.<x> = QQ[] sage: p = SymmetricFunctions(QQx).p() sage: (x*p([2]))^2 x^2*p[2, 2] sage: TestSuite(p).run() # to silence sage -coverage