Skip to main content
wrong copypaste due to linux console bug
Source Link
darij grinberg
  • 33.8k
  • 4
  • 118
  • 253
sage: Sym = SymmSymmetricFunctionsSymmetricFunctions(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]
sage: Sym = SymmSymmetricFunctions(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]
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]
Source Link
darij grinberg
  • 33.8k
  • 4
  • 118
  • 253

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 = SymmSymmetricFunctions(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]
Post Made Community Wiki by darij grinberg