# How to decide for which values a polynomial system of equations do not have any solutions?

Suppose we have for example a polynomial system of equations $$\begin{cases} v_1 &= x_1y_2 - y_1x_2\\ v_2 &= x_1y_3 - y_1x_3\\ v_3 &= x_1y_4 - y_1x_4\\ v_4 &= x_2y_3 - y_2x_3\\ v_5 &= x_2y_4 - y_2x_4\\ v_6 &= x_3y_4 - y_3x_4\\ \end{cases}$$

over the field of real numbers $$\mathbb{R}$$.

How could we decide for which values of $$v_1,\dots,v_6$$ the system does not have solutions? Could, for example, Gröbner bases be applied here? If so, how?

• You should look into the Nullstellensatz, which provides a general way of proving a system of equations lacks a solution which always works if the system in fact lacks a solution. It’s possible that this would lead to a nice criterion. Commented Jan 26, 2022 at 18:09
• A necessary condition is that $v_1v_6 - v_2v_5 + v_3v_4 = 0$. Atleast over the complex numbers, this is sufficient, as the above equation gives the Plucker embedding of $G(2,4)$ in $\mathbb{P}^5$. I suspect it's sufficient for the reals too? Commented Jan 26, 2022 at 22:16
• @CraniumClamp Why is $v_1v_6 - v_2v_5 + v_3v_4 = 0$ the sufficient condition that the equation has a solution? Where does this come from? What is the theory behind it? Commented Jan 27, 2022 at 16:15
• @EpsilonAway that's precisely what I said in my previous comment. If homogeneous coordinates on $\mathbb{P}^5$ are given by $v_i , i = 1,2,..,6$, then the zero locus of $v_1v_6 - v_2v_5 + v_3v_4$ is precisely the image of the Grassmanian $G(2,4) \rightarrow \mathbb{P}^5$ under the Plucker embedding. Just search for Grassmanians and this fourfold will come up as the first Grassmanian that isn't a projective space. Commented Jan 28, 2022 at 2:42

In general you can try to eliminate the variables which are not parameters. In SageMath:

sage: R.<x_1,x_2,x_3,x_4,y_1,y_2,y_3,y_4,v_1,v_2,v_3,v_4,v_5,v_6> = PolynomialRing(QQ)
sage: I = R.ideal(v_1 - (x_1*y_2 - y_1*x_2), v_2 - (x_1*y_3 - y_1*x_3), v_3 - (x_1*y_4 - y_1*x_4), v_4 - (x_2*y_3 - y_2*x_3), v_5 - (x_2*y_4 - y_2*x_4), v_6 - (x_3*y_4 - y_3*x_4))
sage: I.elimination_ideal([x_1,x_2,x_3,x_4,y_1,y_2,y_3,y_4]).gens()
[v_3*v_4 - v_2*v_5 + v_1*v_6]


Algorithmically this is done e.g. by computing a Gröbner basis with respect to an elimination ordering in which the $$x_j$$ and $$y_k$$ are greater than all $$v_i$$, and then taking only those generators that contain only $$v_i$$'s:

sage: R.<x_1,x_2,x_3,x_4,y_1,y_2,y_3,y_4,v_1,v_2,v_3,v_4,v_5,v_6> = PolynomialRing(QQ, order='degrevlex(8),degrevlex(6)')
sage: I = R.ideal(v_1 - (x_1*y_2 - y_1*x_2), v_2 - (x_1*y_3 - y_1*x_3), v_3 - (x_1*y_4 - y_1*x_4), v_4 - (x_2*y_3 - y_2*x_3), v_5 - (x_2*y_4 - y_2*x_4), v_6 - (x_3*y_4 - y_3*x_4))
sage: [g for g in I.groebner_basis() if all(v in [v_1,v_2,v_3,v_4,v_5,v_6] for v in g.variables())]
[v_3*v_4 - v_2*v_5 + v_1*v_6]


The equations obtained by setting those generators equal to zero provide necessary conditions upon the parameters for the equations to be solvable.

In your concrete case, the problem of eliminating the variables $$x_1,x_2,x_3,x_4,y_1,y_2,y_3,y_4$$ is also a problem of implicitization: trying to find equations for the smallest variety that contains the image of the parametrization.

You can read about this stuff e.g. in Chapter 3 Elimination theory of the book Ideals, Varieties, and Algorithms by Cox, Little, and O'Shea.