I need to solve a system of two polynomials with integer coefficients in two variables, $\{Q_1(w,z)=0,\,Q_2(w,z)=0\}$, and want to compute all real solutions. I'm able to run Solve
in Mathematica and find that there are 69 solutions, 13 of which are real.
My questions are:
Can I fully trust that Mathematica correctly finds the number of real solutions to this system, and that these solutions are correct?
If so, what theoretical results ensure that the Solve algorithm finds all the solutions to the system?
I read the documentation about solving polynomial systems here and here. Unfortunately I don't have the necessary background in algebra (e.g., Grobner basis) to understand the algorithm.
Here is the code I used, thank you very much for your help.
First we define the polynomials
Q1[w_, z_] := -168 w^11 - 1386 w^10 z + w^9 (730 - 420 z^2) -
9 w^8 z (-489 + 370 z^2) + 14 w^6 z (-135 + 256 z^2 + 6 z^4) +
6 w^2 z^5 (747 - 282 z^2 + 29 z^4) -
8 w^3 z^4 (513 + 209 z^2 + 39 z^4) - 16 w^7 (45 - 26 z^2 + 72 z^4) +
z^7 (270 + 79 z^2 + 78 z^4) +
30 w^4 z^3 (-249 - 38 z^2 + 138 z^4) -
2 w z^6 (-1134 + 67 z^2 + 186 z^4) -
12 w^5 z^2 (171 - 363 z^2 + 298 z^4)
Q2[w_, z_] := -126 w^11 - 84 w^10 z + w^9 (489 - 1110 z^2) -
8 w^8 z (-13 + 72 z^2) + 12 z^7 (216 - 65 z^2 + 4 z^4) +
6 w^7 (-45 + 256 z^2 + 10 z^4) -
12 w^4 z^3 (342 + 209 z^2 + 52 z^4) +
6 w^3 z^4 (1245 - 658 z^2 + 87 z^4) +
3 w z^6 (630 + 237 z^2 + 286 z^4) -
12 w^6 z (57 - 242 z^2 + 298 z^4) -
4 w^2 z^5 (-1701 + 134 z^2 + 465 z^4) +
6 w^5 z^2 (-747 - 190 z^2 + 966 z^4)
Then, use Solve to obtain the number of solutions, and then restrict to real solutions
allsols = Solve[{Q1[w, z] == 0, Q2[w, z] == 0}, {z, w}]
Length[allsols]
(* 69 *)
realsols = Solve[{Q1[w, z] == 0, Q2[w, z] == 0}, {z, w}, Reals]
Length[realsols]
(* 13 *)
Finally, I want to check if any solutions satisfies $0<w<1$ and $z>0$. I find that none of the solutions satisfy these conditions.
restrsols = Solve[{Q1[w, z] == 0, Q2[w, z] == 0, 0 < w < 1, z > 0}, {z, w}, Reals]
Length[restrsols]
(* 0 *)