Sign up ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

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.

share|cite|improve this question
Are you only interested in symbolic computation, or also numerical computation? –  Christopher A. Wong May 14 '13 at 9:45
@Christopher A. Wong: Numerical computation as well. –  Start wearing purple May 14 '13 at 9:45
@O.L.: There is a nice comparison of CAS 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. :++) –  Babak S. Nov 6 '13 at 16:08

9 Answers 9

up vote 25 down vote accepted

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

share|cite|improve this answer
Just to add, you can use it for free online in two ways: Sage cell which is the most similar to the magma calculator. And Sage notebook 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 at 22:53

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. :)

share|cite|improve this answer
Note that GAP comes as a component of Sage. –  Pece May 14 '13 at 10:10
@Pece: I didn't know that really. Thanks for remarking the point. –  Babak S. May 14 '13 at 10:12
+1 for promoting GAP!! –  amWhy May 15 '13 at 0:44

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."

share|cite|improve this answer
MAXIMA is also a component of Sage. –  r.e.s. May 26 '14 at 3:27

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.

share|cite|improve this answer
Can you pass some arguments to the series function so it shows up the higher order terms as well? –  Bolt64 May 26 '14 at 3:01
@Bolt64: I added an argument to the series function to show higher order terms. –  Alexander May 26 '14 at 10:09

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

share|cite|improve this answer

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.

share|cite|improve this answer
And qtoctave adds a GUI similar to Matlab’s as far as I can tell. –  k.stm May 14 '13 at 9:45

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.

share|cite|improve this answer

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.

share|cite|improve this answer
sage also allows you to work with polynomial rings –  John C May 19 '13 at 8: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 9: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
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.