Algebra Packages

Commercial/ Proprietary

  • MatLab - from MathWorks
  • Mathematica - from Wolfram Research

Free/ Open Source

I think I was supposed to provide pointers to free alternatives to Mathematica (and Maple?) after yesterday. Here are the major general purpose ones, I think (apart from `M-x calc' within the one true editor, obviously):

  • Axiom - a general purpose Computer Algebra system for research and development of mathematical algorithms. (né Scratchpad, formerly a NAG product) and derivatives: and . Axiom is packaged in Debian. Not for RedHat as far as I can tell. Gentoo lAvailable versions: ~200711!s ~200803!s ~200805!s

  • Maxima - System for the manipulation of symbolic and numerical expressions. (free version of Macsyma): Installed on Packaged for Debian and RedHat. Available Gentoo versions: 5.14.0 ~5.17.1-r1 5.18.1 ~5.19.2 {X clisp cmucl ecl emacs gcl latex linguas_es linguas_pt linguas_pt_BR nls sbcl tk unicode xemacs} Homepage:

  • wxmaxima Available versions: 0.7.4 0.8.2 ~0.8.3a {unicode} Homepage: Description: Graphical frontend to Maxima, using the wxWidgets toolkit.

  • mathomatic Available versions: 12.8.8 ~12.9.1 ~14.5.3 {doc} Homepage: Description: Fast and easy-to-use console mode Computer Algebra System

  • PARI/GP Designed for fast computations in number theory

  • Sage Integrates an included distribution of specialized mathematics software

  • Reduce (only recently freed, but long available semi-free): No rpms or debs yet, as far as I can tell.

  • FreeMat - Rapid engineering and scientific prototyping and data processing

  • K3DSurf - Visualize and manipulate multi-dimensional surfaces

  • octave Available versions: 2.1.57-r1 2.1.69 ~2.1.72 2.1.73 ~2.1.73-r1 ~2.1.73-r2 3.0.3 ~3.2.0 ~3.2.3 {blas curl debug doc emacs fftw hdf5 latex mpi readline sparse static xemacs zlib} Homepage: Description: High-level interactive language for numerical computations

  • octave-forge Available versions: ~2006.01.28 2006.03.17 2006.03.17-r1 {X ginac qhull} Homepage: Description: A collection of custom scripts, functions and extensions for GNU Octave

  • scilab Available versions: ~4.0 4.1.2-r1 ~4.1.2-r2 {Xaw3d debug elibc_FreeBSD examples gtk java ocaml tk} Homepage: Description: Scientific software package for numerical computations (Matlab lookalike)

There are various other less-capable general purpose ones (e.g. Jacal), and more special-purpose ones (e.g. PARI, GAP) that might be useful to mathematicians, for instance. I don't know how useful the lists at and are.

As far as I know, much criticism of Mathematica in one of the most penetrating reviews I've ever seen is still relevant, but I don't know which:

I should also have said that I'm not aware that any of these have been parallelized, though you can probably get Maxima to use the Common Lisp MPI package fairly easily. Also, they may not be suitable for serious numerical array work; the Axiom link to the NAG library hasn't yet been replaced, and the LAPACK in Maxima is done by translation of SLATEC to Lisp, not an interface to a system library.

Other Notes

Maxima is a GPL-licensed computer algebra system that is similar to commercial products such as Mathematica and Maple. It can be used to do integration, differentiation, matrix mathematics, solve differential and linear equations, factor and expand polynomial expressions, and plot the results of functions and data in both two and three dimensions. It is available in source format and as a Windows executable or RPM package for Fedora Core 2, and can also be accessed online. Documentation can be found on Maxima's Web site.

Octave complements symbolic algebra programs like Maxima by performing numerical calculations. Octave is both an environment for performing numerical calculations and an interpreted programming language. In Linux systems, running octave from the command line opens up an Octave shell where Octave commands can be entered and evaluated. The default Octave package is able to perform matrix and vector mathematics, numerically solve differential equations, and plot data utilizing Gnuplot. Its language is mostly compatible with the language used in the commercial product Matlab and therefore can be used interchangeably with Matlab in most situations. Octave should be able to run most Matlab add-on packages. Additionally, users can create there own add-on packages to add functionality to Octave. Among the packages in The GNU Octave Repository are a variety of add-ons for specialized fields.

Octave is available in the base packages of many Linux distributions, including Fedora Core and Red Hat Enterprise Linux, and for Windows.

Information on Octave commands can be found in Octave's manual online or purchased for $30.

General Maths

  • cgal Available versions: ~3.3.1 {X examples gmp lapack opengl qt3 taucs zlib} Homepage: Description: C++ library for geometric algorithms and data structures

  • coq Available versions: 8.1_p4!s!i 8.2_p1-r1 {debug doc gtk norealanalysis ocamlopt} Homepage: Description: Coq is a proof assistant written in O'Caml

  • fann Available versions: ~2.0.0 ~2.1.0_beta {doc python} Homepage: Description: Fast Artificial Neural Network Library

  • freemat Available versions: ~3.6 {arpack ffcall fftw ncurses portaudio test umfpack} Homepage: Description: Environment for rapid engineering and scientific processing

  • geomview Available versions: ~1.9.2 ~1.9.4 {avg bzip2 debug emacs netpbm pdf zlib} Homepage: Description: Interactive Geometry Viewer

  • gimps Available versions: 24.14 24.14-r1 ~25.6 ~25.7 ~25.8 ~25.9 Homepage: Description: GIMPS - The Great Internet Mersenne Prime Search

  • ginac Available versions: 1.5.1 1.5.3 ~1.5.5 {doc} Homepage: Description: C++ library and tools for symbolic calculations

  • glpk Available versions: 4.8 4.35 ~4.37 ~4.38 ~4.39 {doc examples gmp mysql odbc} Homepage: Description: GNU Linear Programming Kit

  • gretl Available versions: ~1.8.1 ~1.8.2 ~1.8.4 {accessibility debug emacs gmp gnome gtk nls odbc readline sourceview} Homepage: Description: Regression, econometrics and time-series library

  • nusmv Available versions: ~2.3.1 {examples minisat} Homepage: Description: NuSMV? : new symbolic model checker

  • pari Available versions: 2.1.6 2.1.7-r1 2.3.2 ~2.3.2-r1 ~2.3.4 2.3.4-r1 {X data doc elliptic emacs fltk galois gmp qt3 static} Homepage: Description: A software package for computer-aided number theory

  • singular Available versions: * ~ ~ {boost doc emacs} Homepage: Description: Computer algebra system for polynomial computations

  • xmds Available versions: 1.6.5 1.6.6 {doc examples mpi threads} Homepage: Description: XMDS - The eXtensible Multi-Dimensional Simulator

  • yacas Available versions: 1.2.2 {doc elibc_FreeBSD java server} Homepage: Description: Powerful general purpose computer algebra system

-- DaveLove? and RobAllan - 07 Dec 2009

Topic revision: r2 - 08 Dec 2009 - 10:47:26 - RobAllan
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback