# Can you efficiently solve a system of quadratic multivariate polynomials?

Given a system of 2nd-degree polynomials, $P=\{p_1,\dots,p_m\}$ where $p_i: \mathbb{R}^n \rightarrow \mathbb{R}$, can you efficiently find a common zero of all of these polynomials? In other words, given $P$, can you find $x_1,\dots,x_n\in\mathbb{R}$ such that $p_i(x_1,\dots,x_n)=0$ for all $i$? I only need to find one solution.

I know that in the general case (arbitrary degree polynomials) this can't be done efficiently. However, I'm wondering if there are any good techniques in the quadratic case, specifically if there is a polynomial time solution.

• See also mathoverflow.net/questions/119213/…. – Dietrich Burde Jan 3 '14 at 11:59
• Could you clarify: do you want to find all solutions or just one solution? The way the question is phrased currently appears incomplete -- can you efficiently find $x_1,\dots,x_n$ so that what?? Also, what are the coefficients of the polynomials in $P$? – Vidit Nanda Jan 3 '14 at 12:29

There is an exact algorithm that needs $n^{O(m)}$ operations (cf. http://arxiv.org/abs/cs/0403008). One cannot expect anything better than that, unless P=NP. Indeed, it is easy to formulate several NP-complete problems as testing solvability of linear equations in 0-1 variables $x_i$, and the latter can be enforced by quadratic equations $x^2_i-x_i=0$.
The quadratic case is as complex as the general case (up to a polynomial-time reduction). Given a set of polynomials $\{p_1,\dots,p_m\}$, you can express each $p_i$ by a straight-line program with instructions of the form $x_i:=c$ ($c\in\mathbb R$ a constant), $x_i:=x_j+x_k$, and $x_i:=x_j\cdot x_k$, which you can in turn translate back to quadratic polynomials (e.g., the last mentioned instruction becomes $x_i-x_jx_k$). The number of variables in the new system will increase (it is linear in the size of the original system), which suggests that you might get an efficient solution if you additionally restrict the number of variables by a constant.
• it is well-known that one can find representatives of connected components of real algebraic sets in $\mathbb{R}^n$ encoded by degree $d$ polynomials in $O(d)^{O(n)}$ ring operations. And $n$ in the exponent is not avoidable, generally speaking, unless P=NP. – Dima Pasechnik Jan 3 '14 at 13:28
It is not the fact that the polynomials are quadratic which helps, but rather other restrictions which will sometimes result in a more effective solution. If the Groebner basis of the corresponding ideal in $K[x_1,\ldots ,x_n]$ can be computed, and has triangular form, then we can usually solve the system. However, Groebner bases have large exponential complexity and cannot solve in practice systems with, say, more than $15$ variables.