A Computer Algebra System
A computer algebra system (CAS) is a software package with the ability to manipulate mathematical expressions in a way similar to the way a scientist would do calculations on paper.
A list of the most important Computer Algebra Systems and their features can be found in the Wikipedia: List of computer algebra systems. Here we are concerned only with Free systems, such as Maxima, where the algorithms used can be found in the source code, allowing other people to study them, adapt them, modify them and reuse them.
“Axiom is a general purpose q Computer Algebra system. It is useful for doing mathematics by computer and for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.”
There is also an interesting Rosetta Stone which offers translations of many basic operations for several computer algebra systems, including Maxima.
“FriCAS is an advanced computer algebra system. FriCAS is a fork (2007) of the Axiom computer algebra system.”
“GAP is a system for computational discrete algebra, with particular emphasis on Computational Group Theory.”
“REDUCE is an interactive system for general algebraic computations of interest to mathematicians, scientists and engineers.”
“YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations.”
“PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions.”
“SINGULAR is a Computer Algebra System for polynomial computations with special emphasis on the needs of commutative algebra, algebraic geometry, and singularity theory.”
“Jasymca is a symbolic calculator written for mobile phones and PDAs. It solves and manipulates equations, handles basic calculus problems, and provides a few more typical functions of computer algebra systems. The syntax is loosely related to Maxima.”
Extensive lists of packages can be found in Oberwolfach References on Mathematical Software and the Free mathematical and computational software directory
Here we highlight the ones that we consider more relevant to Maxima:
“Scilab is a free and open source software for engineers & scientists, with a long history (first release in 1994) and a growing community (100 000 downloads every months worldwide).”
“GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.”
“R is a free software environment for statistical computing and graphics. It compiles and runs on a wide variety of UNIX platforms, Windows and MacOS.”
“The fundamental package needed for scientific computing with Python is called NumPy. This package contains a powerful N-dimensional array object, sophisticated (broadcasting) functions, tools for integrating C/C++ and Fortran code, and useful linear algebra, Fourier transform, and random number capabilities.”
“ARIBAS is an interactive interpreter for big integer arithmetic and multi-precision floating point arithmetic with a Pascal/Modula like syntax. It has several builtin functions for algorithmic number theory like gcd, Jacobi symbol, Rabin probabilistic prime test, factorization algorithms (Pollard rho, elliptic curve, continued fraction, quadratic sieve), etc.”
“Macaulay2 is a software system devoted to supporting research in algebraic geometry and commutative algebra, whose creation has been funded by the National Science Foundation since 1992. Macaulay2 includes core algorithms for computing Gröbner bases and graded or multi-graded free resolutions of modules over quotient rings of graded or multi-graded polynomial rings with a monomial ordering.”