Disclaimer: I am not a mathematician by training.


I encountered the following problem in my research. Assume that I have $N$ real variables $x_1, x_2, \dots, x_N$. I am given $N$ homogeneous polynomials in the $x_i$ unknowns, each with a different degree. More specifically:

$$\begin{aligned} P_1 &= \sum_i x_i - c_1\\ P_2 &= \sum_i x_i^2 - c_2\\ &\qquad\vdots \\ P_N &= \sum_i x_i^N - c_N \end{aligned}$$

where $c_1, c_2, \dots, c_N$ are given real coefficients. I need to find, if they exist, real solutions of the above equations.

I am asking for references where I can learn the tools needed to attack this type of problems.

Thank you.


There are Newton's formulas expressing elementary symmetric polynomials in terms of power sums. Since your equations are $P_k=c_k$, where $P_k$ are power sums, you can express the elementary symmetric polynomials $A_k$ in terms of your $c_k$. Then your solutions $(x_1,\ldots,x_N)$ are permutations of the set of roots of the polynomial

$$x^N+A_1x^{N-1}+\cdots+A_N.$$

If you want a real solution, all solutions of this equation must be real. To determine this and to find the roots, there are many methods, the most common one is the Sturm's method. It is an algorithm which can be used to find out whether all roots of a polynomial are real, and to localize them. Once the roots are localized, Newton's method can be used to find them with arbitrary precision. Newton's method almost always converges when all roots are real, and always converges if you choose initial approximations sufficiently well (using the previous step, localization).

Before running Newton's method, make sure that there are no multiple roots, and if there are, get rid of them. To do this, use discriminant.