## `polylib::representByElemSym` -- represent symmetric by elementary symmetric polynomials

#### Introduction

`polylib::representByElemSym``(f, [x1,...,xn])` returns a polynomial `g` in the identifiers x1 through xn such that replacing each `xi` by the `i`-th elementary symmetric polynomial gives `f`.

#### Call(s)

`polylib::representByElemSym(f, l)`

#### Parameters

`f` | - | symmetric polynomial
`l` | - | list of indeterminates

#### Returns

The result is a polynomial having the same coefficient ring as `f`.

#### Related Functions

`polylib::elemSym`

#### Details

- The list `l` must have as many operands as `f` has indeterminates.
- The input must be symmetric; this is not checked.

#### Example 1

The symmetric polynomial x^2+y^2 can be written as (x+y)^2 - 2*(x*y):

    >> polylib::representByElemSym(poly(x^2+y^2), [u,v]);

                                    2
                              poly(u  - 2 v, [u, v])

#### Example 2

`polylib::representByElemSym` works over domains also:

    >> f:=poly(x^2+y^2, Dom::IntegerMod(7)):
       polylib::representByElemSym(f, [u,v])

                          2
                    poly(u  + 5 v, [u, v], Dom::IntegerMod(7))

#### Background

- It is a well-known theorem that every symmetric polynomial can be written in this way.

#### Changes

- new function

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000