I'm trying to determine whether any solutions exist to a system of ( n + 1 ) polyn

Ayanna Trujillo

Ayanna Trujillo

Answered question

2022-06-23

I'm trying to determine whether any solutions exist to a system of ( n + 1 ) polynomial equations in n unknowns. For example:
x y = 2 x 2 1 = 0 y 3 3 y 2 + 2 y = 0
This is an accurate simplification of my actual system in that the first equation contains mixed terms with all variables represented and the remaining n equations are univariate, and that the maximum degree of any term (say, D) is in the low single digits. The actual system is very large ( n is 10 3 to 10 4 ), but with similar D. It also typically has many terms in the first equation.
In this example, the system is in fact consistent ( x = 1 ; y = 2). Were the first equation altered, however, to x y = 3, the system would be inconsistent. My naive approach is to find the solutions to the last n equations (here x { 1 , 1 } , y { 0 , 1 , 2 }) and try all combinations thereof until one satisfies the first equation or I exhaust the combinations, but this requires roughly D n checks, which isn't feasible for large systems. It's also not necessary to find a solution, just prove whether one exists.

Answer & Explanation

Lydia Carey

Lydia Carey

Beginner2022-06-25Added 9 answers

Verifying the consistency of a polynomial equation system is fairly simple.All you have to do is calculate the grobner basis for the system. If the Grobner basis is (1), then the system is inconsistent, otherwise not. Every system of polymonial equations' grobner basis can be quickly determined using Mathematica. The monomial ordering won't matter at all for consistency checks.

Jeffrey Jordon

Jeffrey Jordon

Expert2023-04-04Added 2605 answers

I'm not sure you can generally hope for a quick algorithm. Say the first equation has the following form.

a1x1+a2x2++anxn=0

where  a1,a2,,anare positive integers, and the other n equations are all of the form

S={a1,a2,,an} It is NP-complete (despite the fact that the Wikipedia entry claims it's a "simple" hard problem that's frequently resolved in practice using dynamic programming).

Do you have a similar question?

Recalculate according to your conditions!

Ask your question.
Get an expert answer.

Let our experts help you. Answer in as fast as 15 minutes.

Didn't find what you were looking for?