A symmetric function is a polynomial or rational function (quotient
of polynomials) in n variables which remains invariant no
matter how you permute variables (e.g. swap x1
with x2). They feature prominently in Galois
theory. The elementary symmetric functions appear as the coefficients
of a polynomial in n indeterminates (i.e. the coefficients
of f(t) = (t
- x1)···(t
- xn) ), and the fundamental theorem of
symmetric functions says that any symmetric function can be expressed
as a polynomial or rational function of elementary symmetric
functions. When the original function isn't symmetric, we can still
say something interesting.
Theorem: Let g(x) be any polynomial
where x = (x1,
..., xn) are n variables, and
let s1, ..., sn be the
elementary symmetric functions in n
variables. Then g(x) can be written as a linear
combination of monomials
x1ν1
x2ν2
···
xnνn
such that νi ≤ i - 1 and the
coefficients of the monomials are polynomials in
the si.
This theorem, seemingly due to Emil Artin, is a slight
generalisation of the fundamental theorem of symmetric functions. It
gives the closest possible expression of any polynomial in terms of
symmetric functions no matter if the original polynomial is symmetric
or not. Or if you prefer, the fundamental theorm of symmetric
functions comes as an easy corollary to this theorem.
The corollary is obvious. Observe that the nature of monomials is such
that they can't be symmetrised, because the powers in the
monomial have to be nondecreasing by indices. Thus, if the original
polynomial g(x) was symmetric, then the only way
it can still be symmetric after being written in this form is if the
only monomial with nonzero coefficient is the one for which all
the νi are zero, i.e. the constant term. But
then the constant term is a polynomial of elementary symmetric
functions, proving the corollary.
The proof is an algorithm for putting g(x) in
the desired form.
Proof: Let fn(t) :=
(t - x1)(t
- x2 )···(t
- xn) = tn
- s1tn-1 +
··· +
(-1)nsn and define
recursively
fi - 1(t)
:= fi(t)/(t
- xi).
Three things are immediately clear:
-
The polynomial fi(t)
has xi as a root, the other roots being the
other xj with j < i, because it's just fn(t) with the last n - i linear factors divided away.
-
By synthetic division and by the recursive definition, the
coefficients of fi(t) are
polynomials in terms of the elementary symmetric functions and
the xj with j > i.
-
The degree of fi(t) is i.
Now for the algorithm to put g(x) in the desired
form. Since x1 is a root
of f1(t), it is possible to
express x1 in terms of the symmetric
functions si and the rest of
the xi with i > 1. Substitute this
expression of x1
into g(x), and expand out the result, which does
not contain any term with x1 now.
We proceed recursively as follows. Since x2 is a
root of f2(t), it is possible to
express x22 or any higher power in
terms of the symmetric functions si and the rest
of the xi with i > 2, with perhaps
a few terms of x2 of degree less than
2. Substitute this expression of x22
(or higher) into g(x), and expand out the
result, which no longer contains any term
with x22 or higher degree.
Continuing in this process of eliminating all third powers
of x3 or higher
with f3(t), all fourth powers
of x4 or higher
with f4(t), we obtain the desired
form for g(x).
QED.
Let's work out an example. Unfortunately, the only way to make an
interesting enough example involves heavy computations. I will work
out some steps of the example, but I will leave most of the boring
manipulations to Maxima or to a diligent reader.
Let us consider the symmetric polynomial in 3 variables
g(x)
= x12x2
+ x12x3
+ x22x1
+ x22x3
+ x32x1
+ x32x2
Now, in 3 variables, the fi(t)
from the proof above are
f3(t) = t3
- s1t2
+ s2t - s3,
f2(t) = t2 +
(x3 - s1)t
+ (s2
- s1x3
+ x32),
f1(t) = t
- s1 + x2
+ x3.
Recall that f2 and f1 are
obtained by symbolic synthetic division of the polynomial above them
and that the remainders are zero. Also, recall at this point that the
elementary symmetric functions in three variables are
s1 = x1
+ x2 + x3,
s2
= x1x2
+ x1x3
+ x2x3,
s3
= x1x2x3.
Since f1(x1) =
0, f2(x2) = 0
and f3(x3) = 0, we obtain that
x1 = s1
- x2 - x3,
x22
= s1x2
+ s1x3
- s2
- x2x3
- x32,
x33
= s1x32
- s2x3
+ s3.
So, the algorithm now says to replace this expression
for x1 into g(x), which
after expanding everything out becomes
3x2x32
- s1x32 +
3x22x3 -
4s1x2 x3
+ s12x3
- s1x22 +
s12x2.
Note that we have succeeded in eliminating x1
from this expression. Now we do the same
with x22, to obtain
-3x33 +
3s1x32 -
3s2x3
+ s1s2.
Finally we replace x33 by its own
expression to conclude that
g(x)
= s1s2 -
3s3,
which is the expression of g(x) in terms of
elementary symmetric functions that we sought.