I am trying to write up a paper with some results form Mathematica (11.2) among other things. I need to know what algorithm does it use when I solve a system of polynomial equations which is underdetermined (infinitely many solutions). In particular, sometimes Mathematica also find real solutions that are embedded into the complex positive-dimensional components. I couldn't find a mentioned of the specific algorithm that Mathematica is using. I believe this code is written by @DanielLichtblau ? I know this question: What algorithms does NSolve use? But this does not mention the specific algorithm for underdetermined polynomial systems and in particular for finding real solutions embedded in complex curves (though Mathematica certainly find these!).

  • $\begingroup$ You could force the various available methods and see which one works / matches the default output. $\endgroup$ – anderstood Feb 8 '18 at 19:17
  • $\begingroup$ @anderstood, there should be some documentation of the methods. I am not looking for proprietary information. $\endgroup$ – sant Feb 8 '18 at 19:21
  • $\begingroup$ So you are not looking for the name of the algorithm, but for some reference that indicate what algorithm is used? AFAIK the only source of information is the documentation for NSolve. $\endgroup$ – anderstood Feb 8 '18 at 19:28
  • $\begingroup$ @anderstood, here is what I find for the implementation details from Mathematica documentation for NSolve: reference.wolfram.com/language/tutorial/… This just says that "For systems of algebraic equations, NSolve computes a numerical Gröbner basis using an efficient monomial ordering, then uses eigensystem methods to extract numerical roots." However, these methods are known not to handle real solutions embedded on complex solution-curves. So, this can't be it. $\endgroup$ – sant Feb 8 '18 at 19:40

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.