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)[source]¶
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)[source]¶
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[]
>>> from sage.all import * >>> Sym = SymmetricFunctions(QQ) >>> p = Sym.powersum() >>> p.coproduct_on_basis([Integer(2),Integer(1)]) p[] # p[2, 1] + p[1] # p[2] + p[2] # p[1] + p[2, 1] # p[] >>> e = Sym.elementary() >>> e.coproduct_on_basis([Integer(3),Integer(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[] >>> h = Sym.homogeneous() >>> h.coproduct_on_basis([Integer(3),Integer(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)[source]¶
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]
>>> from sage.all import * >>> e = SymmetricFunctions(QQ).e() >>> e([Integer(2),Integer(1)])**Integer(2) # indirect doctest e[2, 2, 1, 1]
sage: h = SymmetricFunctions(QQ).h() sage: h([2,1])^2 h[2, 2, 1, 1]
>>> from sage.all import * >>> h = SymmetricFunctions(QQ).h() >>> h([Integer(2),Integer(1)])**Integer(2) h[2, 2, 1, 1]
sage: p = SymmetricFunctions(QQ).p() sage: p([2,1])^2 p[2, 2, 1, 1]
>>> from sage.all import * >>> p = SymmetricFunctions(QQ).p() >>> p([Integer(2),Integer(1)])**Integer(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
>>> from sage.all import * >>> QQx = QQ['x']; (x,) = QQx._first_ngens(1) >>> p = SymmetricFunctions(QQx).p() >>> (x*p([Integer(2)]))**Integer(2) x^2*p[2, 2] >>> TestSuite(p).run() # to silence sage -coverage