4
$\begingroup$

I have very large systems (>20) of polynomial (max degree 3) equations that I would like to find a solution to. I'm not interested in all solutions as presumably there are too many (a huge number based on Bézout's bound), but I would like to find a single solution. I haven't been able to achieve this using FindInstance (program hangs) or FindRoot (singular jacobian message). I suspect the latter problem is due to not being able to guess a good initial starting point for the root. It is known that the Homotopy continuation method avoids the problem of having to choose a starting point for the initial root.

My question is: does FindInstance use Homotopy continuation method?

If it does then I'm out of ideas. If it doesn't then I will try to implement the method in another way. All I've been able to find is the following statement https://www.wolfram.com/mathematica/new-in-10/enhanced-algebraic-computation/high-performance-numeric-solution-of-polynomial-sy.html

saying that the method is "selected when appropriate" but I'm not sure if its implemented for FindInstance.

Thanks for your help.

$\endgroup$
  • $\begingroup$ Often, the FindRoot singular Jacobian problem can be solved by varying the initial guess slightly. In any case, please provide a sample of your problem for readers to consider. $\endgroup$ – bbgodfrey Jan 4 '17 at 6:19
  • $\begingroup$ the explicit equations are posted here: mathematica.stackexchange.com/questions/134264/… but that didn't lead to anything much, so Ive tried to consider the system from another perspective (homotopy continuation)...or atleast I think its a different perspective, hence the above Q. I should add that I tried changing around working and machine precision when encountering the singular Jacobian as well as varying initial guess $\endgroup$ – physioConfusio Jan 4 '17 at 8:12
  • 1
    $\begingroup$ What is the smallest set of equations that exhibits this problem? Your question above suggests that 20 may be the minimum size, but your earlier question gave a set of 45 equations. Readers are more likely to analyze smaller sets of equations. Also, if the decimal numbers in the equations were obtained from rational numbers, it may be better to use those instead. $\endgroup$ – bbgodfrey Jan 4 '17 at 14:24
  • 3
    $\begingroup$ I think you can use NSolve[newComboEqs, vars, Method -> "Homotopy"] to get the method. It runs for a long time, too, your linked question case. (I did not wait for it to finish.) $\endgroup$ – Michael E2 Jan 5 '17 at 1:09
  • $\begingroup$ thanks Michael, I was just going to try to direct you guys to this question too. The fact that it runs for ages (forever I imagine) is not unexpected as there are potentially an enormous number of solutions to find...thats why I'm interested in particular in FindInstance. I thought my chances might be better if all I wanted was one solution. $\endgroup$ – physioConfusio Jan 5 '17 at 1:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.