Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking for a software to solve system of nonlinear equations.

It would be great if the software can satisfy the following requirements

  1. It can support symbolic computation.
  2. It deals well with large scale systems
  3. It would be better if it can generate some examples of system of nonlinear equations since I need some instances of systems to carry our experiments.

I know matlab can do the job but I don't think that it can support symbolic computation well.

Thanks in advance for any suggestions.

share|cite|improve this question
Matlab do have a symbolic computation module, I don't know it's good. Do you know sage : ? – Sebastien Jun 4 '14 at 19:06
Disagree. For example, Matlab symbolically solves $$\begin{cases}(24-x^2)/(10x)=-(13-y^2)/(12y),\\x^2+y^2+12=z^2,\\ (z^2-x^2-y^2)/(2xy)=-(z^2-61)/60. \end{cases}$$ – user64494 Jun 4 '14 at 19:15
Among free softwares, Sagemath and Maxima are good enough, but sometimes resorts to numerical solutions when symbolic values are long. FriCAS (Axiom) can give you complete solution using radicalSolve command, though its answers may look longer than the answers given by other paid M's. – gar Jun 11 '14 at 5:43

Mathematica is well suited to your problem. It supports a number of non-linear solvers and it is great for symbolic computation. Personally with the latest edition of Mathematica I find that I can typically outperform Matlab in terms of both speed and functionality. The documentation also provides a wealth of examples.

share|cite|improve this answer


Maple can do the job too. Supports symbolic computation but keep in mind if your systems are large and you want symbolic solutions you will use a lot of memory and time. This goes in general.

The help is good with many examples and its language is capable of satisfying your requirement number 3.

share|cite|improve this answer
@ bobbym I just get started with Maple. When I use 'solve' command, it gives the warning that the solutions may have been lost. However, for the same equations, Maltlab returns a valid solution (numerical solution). It seems that in terms of solving equations numerically, Maple is not as good as Matlab. Well, by symbolic computation, I don't mean to get a symbolic solution. What I want to do is to do some variable substitutions. For example, for an equation f(x)=0, I want to substitute x by 2y+3 and get a new equation g(y)=0. And then get a numerical solution. – Paradox Jun 4 '14 at 19:40
It seems to me that Maple can do the substitution part well. But for the numerical part, Matlab performs better. So I want to find a software that can do both parts well. – Paradox Jun 4 '14 at 19:42
Just because Matlab does not post an error message that does not mean it got all the solutions. This is very difficult to do with non linear equations and Maple is probably right in warning you that some solutions may be lost. You did say you were interested in symbolic solutions too, there Maple is clearly superior. There are other commands and methods for solving equations numerically in Maple. – bobbym Jun 4 '14 at 20:00

I created a header-only library for finding approximate solutions to systems of polynomial equations iteratively. There are example usages and documentation in the wiki.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.