In response to Samuele Giraudo's (very natural) question in the comments: I've added the arithmetic product as a method to Sage patch #14775 ( http://trac.sagemath.org/ticket/14775#comment:24 ). This allows to easily see how it behaves on standard bases of the symmetric functions. Unfortunately, I don't see much of a pattern: sage: Sym = SymmetricFunctions(QQ) sage: Sym.inject_shorthands() /home/darij/sage-5.11.beta3/local/lib/python2.7/site-packages/sage/combinat/sf/sf.py:1192: RuntimeWarning: redefining global value `e` inject_variable(shorthand, getattr(self, shorthand)()) sage: s[2].arithmetic_product(s[1,1]) s[2, 1, 1] + s[3, 1] sage: s[2].arithmetic_product(s[2]) s[1, 1, 1, 1] + 2*s[2, 2] + s[4] sage: s[3].arithmetic_product(s[1,1]) s[1, 1, 1, 1, 1, 1] + 2*s[2, 2, 1, 1] + s[3, 2, 1] + 2*s[3, 3] + s[4, 1, 1] + s[5, 1] sage: s[3].arithmetic_product(s[2]) s[2, 1, 1, 1, 1] + 2*s[2, 2, 2] + s[3, 1, 1, 1] + s[3, 2, 1] + 2*s[4, 2] + s[6] sage: s[2,1].arithmetic_product(s[1,1]) s[2, 1, 1, 1, 1] + 2*s[2, 2, 1, 1] + s[3, 1, 1, 1] + 3*s[3, 2, 1] + s[3, 3] + 2*s[4, 1, 1] + s[4, 2] + s[5, 1] sage: s[2,1].arithmetic_product(s[2]) s[2, 1, 1, 1, 1] + s[2, 2, 1, 1] + s[2, 2, 2] + 2*s[3, 1, 1, 1] + 3*s[3, 2, 1] + s[4, 1, 1] + 2*s[4, 2] + s[5, 1] sage: s[1,1,1].arithmetic_product(s[1,1]) s[2, 2, 2] + 2*s[3, 1, 1, 1] + s[3, 2, 1] + s[4, 1, 1] + s[4, 2] sage: s[1,1,1].arithmetic_product(s[2]) s[2, 2, 1, 1] + s[3, 1, 1, 1] + s[3, 2, 1] + s[3, 3] + 2*s[4, 1, 1] sage: h[2].arithmetic_product(h[1,1]) h[1, 1, 1, 1] - 2*h[2, 1, 1] + 2*h[2, 2] sage: h[2].arithmetic_product(h[2]) h[1, 1, 1, 1] - 3*h[2, 1, 1] + 3*h[2, 2] sage: e[2].arithmetic_product(e[1,1]) 2*e[2, 1, 1] - 2*e[2, 2] sage: e[2].arithmetic_product(e[2]) e[2, 1, 1] - e[2, 2] sage: e[1,1].arithmetic_product(e[1,1]) e[1, 1, 1, 1] sage: s[1,1].arithmetic_product(s[1,1]) s[2, 1, 1] + s[3, 1] sage: e[2,1].arithmetic_product(e[2]) e[2, 1, 1, 1, 1] - e[2, 2, 1, 1] sage: e[2,1].arithmetic_product(e[1,1]) 2*e[2, 1, 1, 1, 1] - 2*e[2, 2, 1, 1] sage: e[2,1].arithmetic_product(e[2,1]) e[2, 1, 1, 1, 1, 1, 1, 1] - 4*e[2, 2, 2, 1, 1, 1] + 4*e[2, 2, 2, 2, 1] If there is anything hopeful here, then it's probably the e's, but their simplicity doesn't persist: sage: e[3,1].arithmetic_product(e[2]) e[2, 2, 1, 1, 1, 1] - 2*e[2, 2, 2, 1, 1] + 2*e[2, 2, 2, 2] + e[3, 2, 1, 1, 1] - 4*e[3, 2, 2, 1] + e[3, 3, 1, 1] + e[3, 3, 2] + e[4, 1, 1, 1, 1] - 3*e[4, 2, 1, 1] + 2*e[4, 2, 2] - e[5, 1, 1, 1] + 2*e[5, 2, 1] + e[6, 1, 1] - 2*e[6, 2]