8

I wanted to find the semialgebraic set in the $(a_0,a_1,a_2,a_3)$ space that guarantees that there exists at least one real root of the general polynomial equation of degree 4. For that purpose, installing QEPCAD on Ubuntu 14, I tried to eliminate the only existential quantifier in

$\exists x[x^4 + a_3 x^3 + a_2 x^2 + a_1 x + a_0 = 0]$

Giving successive input as

enter image description here

made QEPCAD think for several minutes, and then fail, due to lack of memory I suppose (actually a similar problem is among the examples on QEPCAD site, http://www.usna.edu/CS/qepcadweb/B/examples/Quartic/Quartic.html, but even increasing, for that problem, the +N from the default value to +N80000000, did not help).

Now the complexity of the known quantifier elimination algorithms, according to http://mathworld.wolfram.com/QuantifierElimination.html for example, is bad (doubly exponential asymptotically, at least in the number of quantifiers alternations), but I thought that for such simply looking problem, the answer would be obtained nevertheless relatively quickly.

So, is the situation with these algorithms is really that bad from a practical point of view? Looking for reference on practical implementation issues, I found that some speak of "applications in industry" (e.g. http://www.issac-symposium.org/2014/tutorials/ISSAC2014_tutorial_handout_Anai.pdf), but the examples brought in the text (superficially looking through the text) seemed not that much more complicated than the one above.

EDIT: there was maybe some environment issue, or an issue with the precise syntax I used, though I did not get any error message regarding syntax, or another mistake I made (I will try to understand what happened, and then edit the question again). Right now I got, after very little time, eliminating quantifiers from

$\exists x[x^4 + a x^3 + b x^2 + c x + d = 0]$

enter image description here

EDIT:

well, things are more complicated.. First, the program QEPCAD is interactive, and the user apparently can specify different options on the command line at various stages of searching for a solution. I could not find the documentation of these options on QEPCAD site (perhaps I did not search well enough). Second, the ability of QEPCAD to eliminate quantifiers in the formula I specified depends on variable names (which means probably that it depends on variables order, http://staff.bath.ac.uk/masjhd/ISSACs/ISSAC07-final.pdf ), so while $\exists x[x^4 + a x^3 + b x^2 + c x + d = 0]$ was solved in 1 second or so, but $\exists x[x^4 + d x^3 + c x^2 + b x + a = 0]$ was not (I am still waiting for the solution to come out, that is, afer having inserted "go" on the command line whenever interactive input was expected).

It looks like a considerable effort was invested in QEPCAD, but as it is, it is difficult to use by a non expert (and I did not find any detailed documentation). I wonder whether there is commercial software which is substantially better (and by the way which is that commercial software? MAPLE?)

DSkoog
  • 325
  • There are a number of papers on applying quantifier elimination in engineering, e.g., Verification and Synthesis Using Real Quantifier Elimination. (http://www.csl.sri.com/users/tiwari/papers/issac2011.pdf) – Rodrigo de Azevedo Jul 03 '16 at 15:56

1 Answers1

1

The Reduce package, Redlog, works with your example; it gives an answer in a few seconds (see the next picture for the input in Reduce; I don't include the output because it is too large). Here you have the Redlog manual.

In this paper you can find some comments on QEPCAD and a few other implementations of quantifier elimination.

You can also check this Maple subpackage

A2012N
  • 77
  • Yes, Redlog seems to work perhaps a bit better than QEPQAD (I tried to change the names of the coefficients, and it still worked). But at least with the default settings (I did not try to check how to change memory settings), it closes with an error (Windows 7, 8Gb) on the corresponding problem for the general sixth degree equation - even if I eliminate one of the coefficients. So the error comes out when only one existential quantifier is involved and the dimension (coeffs + the variable x) is just 6.. I still did not try Maple, though. –  Sep 23 '16 at 17:40
  • 1
    My computer does not compute the 6 degree polynomial with 5 parameters either. Let me try it on Monday on Maple. As an additional comment, here you can find a possible use to Biology of the CADs (see section 4): http://arxiv.org/pdf/1502.03188v1.pdf Basically, they want to know for which set of parameters there is more than one real solution to some polynomial system. – A2012N Sep 23 '16 at 20:22
  • 1
    Update: I have computed the cell decomposition of $a_0+a_1x_1+...a_4x_4^4+x_5^5=0$. Maple gives an answer within a few seconds. However for the 6 degree polynomial with 6 parameters it still computes after a few minutes. Comment: the cell decomposition gives more information; for example, for $x^3+a_2x^2+a_1x+a_0=0$, in Redlog the answer to the quantifier elimination is "true"; Maple, however, decomposes the parameter space in cells in which the number of solutions to the polynomial is constant. – A2012N Sep 26 '16 at 06:21