# elementary symmetric functions

Hi, this is a continuation (though self-contained) on a previous question I luckily received an answer for;

http://ask.sagemath.org/question/2691...

For those of you experts that know Maxima, I essentially want to do the following (to a polynomial);

```
elem([2,f1,f2],elem([2,e1,e2],x+y+a+b,[x,y]),[a,b])
```

which results in: `(x+y)+(a+b) = e1 + f1`

, where Sage would (which is what I'm trying to do) return `e[1] + f[1]`

.

This is what I tried (among others), mostly from the above referenced link;

```
P.<x,y>=PolynomialRing(QQ['a','b'])
[a,b]=P.base_ring().gens()
S=SymmetricFunctions(P.base_ring())
exy=S.elementary()
f=x+y+a+b
exy._prefix='exy'
o=exy(S.from_polynomial(f))
P2.<a,b>=PolynomialRing(QQ['x','y'])
[x,y]=P2.base_ring().gens()
S2.SymmetricFunctions(P2.base_ring())
eab=S2.elementary()
eab._prefix='eab'
oo=eab(S2.from_polynomial(o)); oo
```

I was hoping to see: `eab[1]+exy[1]`

, but here an error is thrown saying that the polynomial is not symmetric. I've tried also (trying) to establish a base ring `QQ['x','y','a','b']`

and then subrings but that also doesn't seem to work for me.

I think Sage is great and I'm sure there's something equivalent to the very simple task done in Maxima. For instance, this

```
maxima.eval('elem:2')
oo=maxima.eval('elem([2,f1,f2],elem([2,e1,e2],x+y+a+b,[x,y]),[a,b])')
```

does return the proper answer, `e1+f1`

, but I cannot use this result because I need to process it further with Sage and have not found a way to **translate** this Maxima type of object to a Sage polynomial - especially since the parsing seems to bring up errors for larger equations and my real equations are extremely large.

Thanks all, again!