id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
10554,Better support for casual usage of symmetric functions,nthiery,sage-combinat,"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. = 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
",enhancement,new,major,,combinatorics,,Symmetric Functions,sage-combinat jbandlow,,,,N/A,,,,,