Sage
I've tried Maxima and it can perform various tasks quite well, but in general the user interface is much less well developed than what the OP might be used to, and the power lags far behind Mathematica and Maple. The syntax of Maxima is much closer to Maple than Mathematica (a good thing, since most observers agree that Mathematica syntax is not only harder to learn, it leads to some real problems in coding).
Matlab, Mathematica, and Maple are all highly developed, incredibly powerful and useful environments for various types of symbolic and numerical computations. As already noted, they have different and to some extent complementary strengths and weaknesses. For example, I generally prefer Maple to Mathematica, but there is no denying that Mathematica produces prettier print-quality graphics!
It might be worth mentioning for benefit of lurkers that in addition to Maxima, which is a general symbolic computation environment and which is available for free, there are quite a few specialized packages like GAP and Macaulay 2 which are free, easy to install, and extremely powerful. Noone would say that GAP syntax is particularly enchanting, but it is standard in computational algebra due to its power and the care with which it has been developed over so many years. Macaulay 2 has a syntax I like so much that I recommend it to CS students just to see an example of syntax which mathematicians like.
http://modular.math.washington.edu/sage/index.html is an open source initiative led by http://modular.math.washington.edu/ (Mathematics, University of Washington) and funded by various leading institutions in the mathematical sciences, but it is hugely ambitious so it always needs more developers! SAGE aims to ultimately provide a user interface comparable to Maple which enables users to run commands in Maple, Mathematica, MATLAB, MuPAD, Magma, Axiom, GAP, GP/PARI, Macaulay2, Maxima, Octave, and Singular, while freely using python scripts. See http://modular.math.washington.edu/sage/components.html for a more complete list. As I understand it, there is some hope that development of SAGE might revive development of Maxima, which currently lags far behind Maple by virtue of lacking such powerful commands as casesplit and such useful packages as Groebner. I think this initiative is extremely promising; if it succeeds it will fundamentally alter how mathematicians work and play (for the better, I think). To mention just one point, working mathematicians are probably well aware, for example, of the desirability of facile checking of Mathematica and Maple results against each other.
Anyone interested in making financial contributions or contributing to code can http://modular.math.washington.edu/sage/ack.html . I myself am unaffiliated with SAGE but I am seriously interested in trying to set up a "Sage Wiki" somewhat like
Dispersive Wiki, with the goals of
- providing a discussion forum for SAGE developers around the world,
- providing tutorials for anyone interested in learning to use components of SAGE such as Maple, GAP, etc.,
- promoting the project to the world at large.
Note that SAGE-2.8.12 is http://modular.math.washington.edu/sage/announce/sage-2.8.12.txt for installation and beta testing.
(Confusingly, there is a http://www.npl.washington.edu/npl/ar96/ch2_9.html also called SAGE and also run at UW, and there is a
well known grant program also called SAGE and also admininstered at UW. All three programs are distinct!)
BTW, a relevant conference ("camp meeting"?) which starts
tommorrow (!) is
here.