1
$\begingroup$

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.

$\endgroup$
3
  • $\begingroup$ Matlab do have a symbolic computation module, I don't know it's good. Do you know sage : sagemath.org ? $\endgroup$
    – Sebastien
    Jun 4, 2014 at 19:06
  • 1
    $\begingroup$ 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}$$ $\endgroup$
    – user64494
    Jun 4, 2014 at 19:15
  • $\begingroup$ 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. $\endgroup$
    – gar
    Jun 11, 2014 at 5:43

3 Answers 3

1
$\begingroup$

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.

$\endgroup$
1
$\begingroup$

@user46764

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.

$\endgroup$
3
  • $\begingroup$ @ 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. $\endgroup$
    – Paradox
    Jun 4, 2014 at 19:40
  • $\begingroup$ 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. $\endgroup$
    – Paradox
    Jun 4, 2014 at 19:42
  • 1
    $\begingroup$ 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. $\endgroup$
    – bobbym
    Jun 4, 2014 at 20:00
0
$\begingroup$

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.

$\endgroup$

Your Answer

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

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