Computer Programs for Pure Mathematicians

I found Sage pretty useful for number theory and algebraic geometry. But it can do lots of other stuff, too.


Mathematica is the de-facto standard for symbolic computation. I would argue that there is no other CAS that matches the sheer amount of stuff that Mathematica can do (this is not to say that there aren't other systems out there that do certain things better - like graphing/plotting). Part of the power of Mathematica's strength is the ability to write and evaluate expressions just like you would in your notebook (hence the "notebook" UI paradigm) , however, its reliance on symbolic computation also is its greatest weakness (in terms of strength as a programming language, portability, and speed). Just because of its ubiquity, if there is one thing you should learn, it is this.

Matlab is the de-facto standard for numerical computations, under the broad category of numerical analysis. It is less designed for symbolic analysis, but its numerical analysis tools are industry standard. With countless additional packages it can seamlessly (well almost seamlessly, and for several thousand dollars) incorporate data capture from everything from webcams to particle physics experiments. Its usefulness as a pure mathematics tool might not be as as obvious as Mathematica, but if you ever plan on collaborating with applied mathematicians, physicists, or engineers, working knowledge of Matlab is a must.

Python + Scipy + numpy . By combining the free programming/scripting language with powerful (C-based) packages for scientific computation, this suite can rival the numerical analysis tools of Matlab. If you extend this combination with Matlplotlib (numpy based package for plotting) you can get publication quality plots and graphs with a familiar syntax (matlab) for $0.

GnuPlot. With the ability to graph/plot pretty much anything you want and a very powerful text based input, this software allows you to create publication quality plots with ease (after learning the syntax of course). Plus it is free and open source.


If you do any commutative algebra or algebraic geometry, Macaulay2 is amazing. It requires minimal system resources and is free. There is a springer book about computations in Macaulay2.

http://www.math.uiuc.edu/Macaulay2/Book/

Also, here is a comparison of computer algebra systems on wikipedia.

http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems