How can I sort the values of variables of multivariate polynomial f by increasing order of value of f

35 Views Asked by At

Assume that I have a multivariate polynomial over positive integers, the coefficients $a_i$ are all 1, e.g . $f(x_1,x_2,x_3,x_4)=x_3^4+x_2+x_1^2x_2x_4^5$, each monomial and each $x_i > 0$.

I have two questions, if you will.

  1. How can I sort the values of tuples of the variables in increasing order of $f$ values? For the example above, the minimum equivalence class is $f(..x_i..) = 3$, with tuples such as $(x_1, x_2, x_3, x_4) = (1,1,1,1). Is there a way of doing it not in a brute force of solving for each value? Hopefully there is a way of doing so just by looking at the polynomial itself. Is it a matter of sorting according to the degree?

  2. Closely related, assume that I have an upper bound on the value of $f$. e.g. $f(x_1,x_2,x_3,x_4) < 500$. can I immediately calculate the possible upper integer bounds on each of the variables? I understand that each of the $x_i$ is lower than the upper bound, but are there better results for each variable? calculating all combinations would be prohibitive. I can see some similarity to the knapsack problem.

I am not a mathematician, the questions are related to a polynomial representation of data structures I have in a software project, I try to calculate the feasible solutions in the most efficient manner. I hope the problems/solutions are quite known to you already :)

Many thanks, Joseph