What are the best free user-friendly alternatives to Mathematica and Maple available online?

I used Magma online calculator a few times for computational algebra issues, and was very much satisfied, even though the calculation time there was limited to $60$ seconds.

Very basic computations can be carried out with Wolfram Alpha. What if one is interested in integer relation detection or integration involving special functions, asymptotic analysis etc?

Thank you in advance.

Added: It would be nice to provide links in the answers so that the page becomes easily usable. I would also very much appreciate short summary on what a particular software is suitable/not suitable for. For example, Magma is in my opinion useless for doing the least numerics.

Start wearing purple
  • 52,227
  • 12
  • 155
  • 218
  • Are you only interested in symbolic computation, or also numerical computation? – Christopher A. Wong May 14 '13 at 09:45
  • @Christopher A. Wong: Numerical computation as well. – Start wearing purple May 14 '13 at 09:45
  • 3
    @O.L.: There is a nice [*comparison of CAS*](http://en.wikipedia.org/wiki/List_of_computer_algebra_systems) that is worth exploring. Some do and don't have online versions. Maxima has an online version. Also, there is Mathics, which is a mathematica like clone and it has an online variant, although it obviously does not have the power of mathematica. Regards – Amzoti May 14 '13 at 15:10
  • @O.L. I favourited this question before while posting an answer below. :++) – Mikasa Nov 06 '13 at 16:08

9 Answers9


I propose Sage. In my opinion it is the best free open-source mathematics software system.

  • 21,425
  • 30
  • 121
  • 207
  • 2
    Just to add, you can use it for free online in two ways: [Sage cell](http://sagecell.sagemath.org/) which is the most similar to the magma calculator. And [Sage notebook](http://www.sagenb.org/) which is similar to mathematica's notebook interface. – Alex J Best May 16 '13 at 23:34
  • @VelvetThunder Is knowledge of / experience with Java syntax essential? – martin Jul 31 '15 at 22:53

Under development but already working very nicely is Sympy, a symbolic math package for Python.

The usage is similar to other math software, there is even a live version available. A session might look like the following:

>>> from sympy import *
>>> x = symbols('x')
>>> f = cos(x)
>>> f.series()
1 - x**2/2 + x**4/24 + O(x**6)
>>> f.series(n=12)
1 - x**2/2 + x**4/24 - x**6/720 + x**8/40320 - x**10/3628800 + O(x**12)
>>> latex(f.series(n=12))

$1 - \frac{x^{2}}{2} + \frac{x^{4}}{24} - \frac{x^{6}}{720} + \frac{x^{8}}{40320} - \frac{x^{10}}{3628800} + \mathcal{O}\left(x^{12}\right)$

>>> diff(f, x)

An overview of the possible functions is given in the online documentation. It is free software and has quite readable source code.

  • 183
  • 5

Numpy, scipy and matplotlib are amazing packages in Python. They basically handle all kinds of numerical analysis and basically replace matlab.

  • 916
  • 11
  • 19

I recomend MAXIMA. Of home page of this CAS we have the apresentation

"Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, and sets, lists, vectors, matrices, and tensors. Maxima yields high precision numeric results by using exact fractions, arbitrary precision integers, and variable precision floating point numbers. Maxima can plot functions and data in two and three dimensions."

Elias Costa
  • 13,301
  • 4
  • 43
  • 79

Don't forget GAP which is a system for computational discrete algebra, with particular emphasis on Computational Group Theory. Sometimes, I really can't go further without using it while solving and guessing the desired results in Group theory problems. Try it. It makes you feeling better. :)

  • 66,044
  • 11
  • 68
  • 184

I know Octave and Freemat, both claim similarity to Matlab but I don't have first hand experience on them. This article compares Matlab, Octave, Scilab and Freemat. The source is this MO question answer of which may be of some help.

  • 658
  • 6
  • 13

I use Pari/GP. SAGE includes this as a component too, but I really like GP alone, as it is. In fact, GP comes with integer relation finding functions (as you mentioned) and has enough rational/series symbolic power that I have been able to implement Sister Celine's method for finding recurrence relations among hypergeometric sums in GP with ease.

  • 9,318
  • 2
  • 30
  • 53

If you have to deal with multivariate polynomial rings, Singular and Macaulay2 come to mind. I have not tried the software much, but I definitely would in cases like the above.

  • 9,318
  • 2
  • 30
  • 53
  • sage also allows you to work with [polynomial rings](http://www.sagemath.org/doc/tutorial/tour_polynomial.html) – John C May 19 '13 at 08:55
  • @ohn C: Thanks for the link. I have not been aware of the fact that some of Sage's multivariate polynomial functions are attributed to Singular. – ccorn May 19 '13 at 09:06

I really think that DataMelt scientific computational environment is among solid alternative's of Mathematica. First, it's free. Second, it's Java and runs on Linux, Mac and Windows. It has everything that Mathematica has, namely:

  • Function plotting in 2D and 3D Histogramming in 2D and 3D Data
  • analysis Statistical packages (regression, non-linear fits)
  • Symbolic computations with a number of Java engines
  • Calculations with physics/measurements units
  • Very strong IO (some based on Java serialisation)
  • Very good IDE with Help assist
  • Very detailed manual about 300 examples and a book
  • A number of languages are supported (Python, Groovy, Java, Ruby) You can mix programming with high-level math calculations
  • 11
  • 1