There are many kinds of mathematical software available to a working
mathematician. A brief summary of the the main packages and types of packages,
and their relative merits, appears below.
- Symbolic Math Packages - This amorphous set of packages can be used
to perform symbolic analyses. These packages typically can solve algebraic
and differential equations, can integrate and differentiate symbolic
expressions, and can simplify and manipulate algebraic expressions.
- Maple - Produced by Waterloo Maple Inc., in Canada. It is somewhat
smaller than its competitors, but is as powerful as any package
available. The syntax for this package is relatively intuitive for
mathematicians. It has relatively powerful typesetting capabilities.
- Mathematica - Produced by Wolfram Inc., in the U.S.. The syntax
for this package is less intuitive than that for some, but is arguably
more consistent. The package is as powerful as any available, but
tends to require more memory than some of its competitors. It also
has powerful typesetting abilities.
- Macsyma - This was the first symbolic mathematics package, dating
from the early 1980s, and produced at MIT. It is now free, and is
available for many platforms. Unfortunately, it suffers from perhaps
the most obscure syntax of any package of its kind, and has relatively
- Sympy, Sage, etc. - There are several packages for use
in python that can do symbolic mathematics.
- Numerical Linear Algebra Packages - packages in this class excel at
solving numerical problems. While some have limited symbolic capabilities,
they are best when programmed to run complicated algorithms. They can
handle all problems involving numerical matrices and vectors.
- Matlab - produced by the Mathworks in the U.S., this is the gold
standard of the class of packages. It is probably the most-used
mathematical package for both mathematicians and engineers. For
a price, it can have some symbolic capability.
- Octave - this package is free, and does most of what Matlab does.
While it lacks the symbolic toolbox and several other add-on features
of Matlab, and its graphics are not of the same standard, in the
end it is an excellent and powerful free alternative, available
for most platforms.
- Numpy, Scipy, Matplotlib, Pylab etc .-
There are several related packages
for python that can mimic the numerical and plotting capabilities
- Mathematical spreadsheets - we are aware of only one program in this
class, used more by scientists and engineers than by mathematicians.
It is called Mathcad. It is not really a spreadsheet, but we refer to
it that way because the position of expressions on a page determines
their order of execution. It has some symbolic capability, but it is
best at doing analyses that involve changing a parameter and running
a sequence of calculations anew.
- Differential equation plotters - these programs are designed specifically
for visualizing phase portraits of differential equations. They solve
the equations numerically and plot the results in two or three dimensions.