I recently wanted to compute the solution to 40*x = 200*(1- cos(x)). This is want I put into WolframAlpha, a sort-of pseudo code that I thought expressed what I wanted:

solve(40*x == 200*(1 - cos(x)), x)

Naturally with WA, this worked nicely. I even could have just put into the equation, and it would have solved it. Now, I know that sympy can probably solve it, and the syntax may not be far off, but I would still need to import sympy and declare x as a sympy symbol at least. But crucially, I'm not sure if this is the right syntax, and for quick calculations like this, it would be nice to not needing to care.

Is there an open source math program that has some "slack" in its syntax and has an extremely low overhead (i.e. no "unnecessary" declaration of variables etc.) for simple problems (it does not need to be as powerful or comprehensive as Mathematica/WA) such as this?

  • I'm not looking for a computer algebra system in general, nor am I looking for the different ways I can solve this equation in each of them. I am asking if any of them are capable of doing the sort of liberal expression evaluation WolframAlpha is capable of. – Psirus Mar 24 '15 at 11:17
  • there is a list on wikipedia[1], a (closed) question on stackoverflow[2], and another question on researchgate[3] – 把友情留在无盐 Mar 24 '15 at 11:23


(%i1) solve(40*x=200*(1-cos(x)));
(%o1) [x = 5 - 5 cos(x)]

there are four roots. to find the numerics, we first draw a graph and visually approximate,

(%i2) plot2d(x+5*cos(x)-5,[x,-10,10]
(%o2) ...

then use another clause.

(%i3) find_root(x+5*cos(x)=5,x,-1,0.2);
(%o3) 0.0
(%i4) find_root(x+5*cos(x)=5,x,0.2,3);
(%o4) 0.40552711135028

lines leading with %i are input lines and % output. the equation sign is single. and append a semicolon after each input clause.

when run inside a graphical frontend, can pretty print formulae.

have other mathematical use.

  • I believe this should be an edit to your previous answer, not a separate one, since it recommends the same software – Tymric Mar 24 '15 at 12:49
  • In order to use Maxima as an alternative to Wolfram Alpha, it would be necessary to write a parser that converts English expressions into Maxima expressions. – Anderson Green Oct 28 '18 at 21:06

Sympy Gamma is an open-source interface for Sympy that resembles Wolfram Alpha. Unlike Wolfram Alpha, it is not yet able to parse natural-language commands, but I am planning to implement this feature using the Nearley parser generator.


Open Omnia is an alternative to Wolfram Alpha Pro and Symbolab. Disclaimer: I am the developer.

You can find the web application here: https://openomnia.com and the android app here: https://play.google.com/store/apps/details?id=com.openomnia.openomnia

Feel free to try it out.

  • 1
    I am not able to find source code of Open Omnia, could you please share a link to e.g. Github? – miloshavlicek Apr 28 '20 at 17:47

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.