Opened 11 years ago

# Better support for casual usage of symmetric functions

Reported by: Owned by: nthiery sage-combinat major combinatorics Symmetric Functions sage-combinat, jbandlow N/A

### Description

Following a discussion with Alexandre Casamayou (coauthor of the French sage book), here is a would-be session for casual usage of symmetric functions (please feel free to extend):

```    sage: S = SymmetricFunctions(QQ)
sage: e = S.e()
sage: var('x,y,z')
sage: pol = S.from_polynomial(x^3+y^3+z^3); pol   # or from_expr?
m[3]
sage: pole = e(pol); pole
e[1, 1, 1] - 3*e[2, 1] + 3*e[3]
sage: pole([x,y,z])
(x + y + z)^3 + 3*x*y*z - 3*(x + y + z)*(x*y + x*z + y*z)
```

The best working approximation with the current implementation seems to be:

```    sage: S = SymmetricFunctions(QQ)
sage: e = S.e()
sage: QQ.<x,y,z> = QQ[]
sage: pol = S.from_polynomial(x^3+y^3+z^3); pol
m[3]
sage: e(pol)
e[1, 1, 1] - 3*e[2, 1] + 3*e[3]
sage: e1 = SR(e[1].expand(3,[x,y,z])); e1
x + y + z
sage: e2 = SR(e[2].expand(3,[x,y,z])); e2
x*y + x*z + y*z
sage: e3 = SR(e[3].expand(3,[x,y,z])); e3
x*y*z
sage: e1^3 - 3* e2*e1 + 3*e3
(x + y + z)^3 + 3*x*y*z - 3*(x + y + z)*(x*y + x*z + y*z)
```

What needs to be done:

• from_expr (or extend from_polynomial to accept a symbolic expression)
• f(alphabet) for f a symmetric function, and alphabet a list of objects in some ring (possibly supporting plethysm), as implemented in MuPAD-Combinat

### Change History (0)

Note: See TracTickets for help on using tickets.