1

I have a system of 5 non-linear equations and 5 unknowns (p1,p2,p3,p4,p5 bellow), and a few inequalities. I am trying to understand whether the solution is unique. For this purpose, I tried to run FindInstance asking for 2 solutions, but the system could not provide an answer even after 2 days. I also tried NSolve and had the same problem. (I also tried FindInstance asking for 1 solution and that didn’t work either, even though, analytically I know that a solution must exist). I would really appreciate your help. Here is the code:

SetOptions[EvaluationNotebook[], CellContext -> Notebook]
ClearAll["Global`*"];

k1 = RandomInteger[{1, 100}]; k2 = RandomInteger[{1, 100}]; k3 = RandomInteger[{1, 100}]; k4 = RandomInteger[{1, 100}]; k5 = RandomInteger[{1, 100}]; k12 = RandomInteger[{1, 100}]; k13 = RandomInteger[{1, 100}]; k14 = RandomInteger[{1, 100}]; k15 = RandomInteger[{1, 100}]; k23 = RandomInteger[{1, 100}]; k24 = RandomInteger[{1, 100}]; k25 = RandomInteger[{1, 100}]; k34 = RandomInteger[{1, 100}]; k35 = RandomInteger[{1, 100}]; k45 = RandomInteger[{1, 100}]; k123 = RandomInteger[{1, 100}]; k124 = RandomInteger[{1, 100}]; k125 = RandomInteger[{1, 100}]; k134 = RandomInteger[{1, 100}]; k135 = RandomInteger[{1, 100}]; k145 = RandomInteger[{1, 100}]; k234 = RandomInteger[{1, 100}]; k235 = RandomInteger[{1, 100}]; k245 = RandomInteger[{1, 100}]; k345 = RandomInteger[{1, 100}]; k1234 = RandomInteger[{1, 100}]; k1235 = RandomInteger[{1, 100}]; k1245 = RandomInteger[{1, 100}]; k1345 = RandomInteger[{1, 100}]; k2345 = RandomInteger[{1, 100}]; k = {k1, k2, k3, k4, k5, k12, k13, k14, k15, k23, k24, k25, k34, k35, k45, k123, k124, k125, k134, k135, k145, k234, k235, k245, k345, k1234, k1235, k1245, k1345, k2345}; n = k1 + k2 + k3 + k4 + k5 + k12 + k13 + k14 + k15 + k23 + k24 + k25 + k34 + k35 + k45 + k123 + k124 + k125 + k134 + k135 + k145 + k234 + k235 + k245 + k345 + k1234 + k1235 + k1245 + k1345 + k2345; kk = N[{k1/n, k2/n, k3/n, k4/n, k5/n, k12/n, k13/n, k14/n, k15/n, k23/n, k24/n, k25/n, k34/n, k35/n, k45/n, k123/n, k124/n, k125/n, k134/n, k135/n, k145/n, k234/n, k235/n, k245/n, k345/n, k1234/n, k1235/n, k1245/n, k1345/n, k2345/n}];

A = { k1/p1 + k12/(p1 + p2) + k13 /(p1 + p3) + k14/(p1 + p4) + k15/(p1 + p5) + k123/(p1 + p2 + p3) + k124/(p1 + p2 + p4) + k125/(p1 + p2 + p5) + k134 /(p1 + p3 + p4) + k135/(p1 + p3 + p5) + k145/(p1 + p4 + p5) + k1234/(p1 + p2 + p3 + p4) + k1235/(p1 + p2 + p3 + p5) + k1245/(p1 + p2 + p4 + p5) + k1345 /(p1 + p3 + p4 + p5) == n, k2/p2 + k12/(p1 + p2) + k23 /(p2 + p3) + k24 /(p2 + p4) + k25/(p2 + p5) + k123 /(p1 + p2 + p3) + k124 /(p1 + p2 + p4) + k125/(p1 + p2 + p5) + k234/(p2 + p3 + p4) + k235 /(p2 + p3 + p5) + k245/(p2 + p4 + p5) + k1234/(p1 + p2 + p3 + p4) + k1235/(p1 + p2 + p3 + p5) + k1245/(p1 + p2 + p4 + p5) + k2345/(p2 + p3 + p4 + p5) == n, k3/p3 + k13 /(p1 + p3) + k23/(p2 + p3) + k34/(p3 + p4) + k35 /(p3 + p5) + k123/(p1 + p2 + p3) + k134/(p1 + p3 + p4) + k135/(p1 + p3 + p5) + k234/(p2 + p3 + p4) + k235/(p2 + p3 + p5) + k345/(p3 + p4 + p5) + k1234/(p1 + p2 + p3 + p4) + k1235/(p1 + p2 + p3 + p5) + k1345/(p1 + p3 + p4 + p5) + k2345/(p2 + p3 + p4 + p5) == n, k4/p4 + k14/(p1 + p4) + k24/(p2 + p4) + k34/(p3 + p4) + k45/(p4 + p5) + k124 /(p1 + p2 + p4) + k134/(p1 + p3 + p4) + k145/(p1 + p4 + p5) + k234 /(p2 + p3 + p4) + k245/(p2 + p4 + p5) + k345 /(p3 + p4 + p5) + k1234/(p1 + p2 + p3 + p4) + k1245/(p1 + p2 + p4 + p5) + k1345/(p1 + p3 + p4 + p5) + k2345/(p2 + p3 + p4 + p5) == n , k5/p5 + k15/(p1 + p5) + k25/(p2 + p5) + k35/(p3 + p5) + k45/(p4 + p5) + k125 /(p1 + p2 + p5) + k135/(p1 + p3 + p5) + k145/(p1 + p4 + p5) + k235/(p2 + p3 + p5) + k245/(p2 + p4 + p5) + k345 /(p3 + p4 + p5) + k1235/(p1 + p2 + p3 + p5) + k1245/(p1 + p2 + p4 + p5) + k1345/(p1 + p3 + p4 + p5) + k2345/(p2 + p3 + p4 + p5) == n , p1 >= 0, p1 <= 1, p2 >= 0, p2 <= 1, p3 >= 0, p3 <= 1, p4 >= 0, p4 <= 1, p5 >= 0, p5 <= 1, p1 + p2 + p3 + p4 + p5 == 1}

Print["===================="]; f = FindInstance[A, {p1, p2, p3, p4, p5}, Reals, 2] p = NSolve[A, {p1, p2, p3, p4, p5}, Reals] dimp = Dimensions[p];

Gabi Gayer
  • 11
  • 3
  • Is there a particular random seed needed or will it always have solutions for any setting of the k? 2) I could show you how to get some close solutions by minimization - how precise do you want the solutions? 3) How did you construct the equations to begin with and how do you know a solution exists?
  • – flinty Aug 08 '20 at 12:33
  • It is possible using a fixed point theorem to show that a solution exists for any of k-s that are positive ( k1,…,k5 must be strictly positive). 2) I don’t really care about the solution itself, I just want to know if it is unique. Thanks for your help
  • – Gabi Gayer Aug 08 '20 at 12:58
  • In that case it looks completely intractable to me. If you look at your first equation and put it in ==0 form, Together[A[[1]] /. Equal -> Subtract] // Numerator it's equivalent to finding the roots of a massive multivariate polynomial. Add in the other equations and inequalities that must be satisfied and this problem is infinitely more difficult. It might be possible to show that two 'close' numerical results exist, though numerical results tell us nothing about uniqueness. Again, I think you should show how you constructed these equations because they are too complex in this form. – flinty Aug 08 '20 at 13:30
  • What do you mean by "show how you constructed the equations? In a simpler version with only 4 equations and 4 unknowns, I was able to get a solution. Unfortunately, it does not work with 5 2) How can I get close solutions by minimization? Perhaps that could help
  • – Gabi Gayer Aug 08 '20 at 13:45