This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)
 Documentation / Mathematica / Add-ons / Standard Packages / Algebra  /


The package provides functions for generating elementary symmetric polynomials and for representing symmetric polynomials in terms of elementary symmetric polynomials. The Fundamental Theorem of Symmetric Polynomials says that every symmetric polynomial in

can be represented as a polynomial in elementary symmetric polynomials:

When the ordering of variables is fixed, every polynomial can be uniquely represented as a sum of its "symmetric part" and the "remainder":

The polynomial is symmetric if and only if the remainder is zero. The uniqueness of this representation is guaranteed by requiring that does not contain descending monomials, where a monomial is called descending iff


Symmetric polynomial functions.

  • This loads the package.
  • In[1]:= <<Algebra`SymmetricPolynomials`

  • Here is the elementary symmetric polynomial of degree three in four variables.
  • In[2]:= SymmetricPolynomial[{x, y, z, t}, 3]


  • This gives the polynomial written in terms of elementary symmetric polynomials. The input polynomial is symmetric, so the remainder is zero.
  • In[3]:= SymmetricReduction[(x + y)^2 + (x + z)^2 + (z + y)^2,
    {x, y, z}]


  • Here the elementary symmetric polynomials in the symmetric part of the input polynomial are replaced with the given variables. The polynomial is not symmetric, so the remainder is not zero.
  • In[4]:= SymmetricReduction[x^5 + y^5 + z^4, {x, y, z}, {s1, s2, s3}]