Skip to content

Better support for casual usage of symmetric functions #10554

@nthiery

Description

@nthiery

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

CC: @sagetrac-sage-combinat @jbandlow

Component: combinatorics

Keywords: Symmetric Functions

Issue created by migration from https://trac.sagemath.org/ticket/10554

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions