List of computer algebra systems
The following tables provide a comparison of computer algebra systems (CAS).[1][2][3] A CAS is a package comprising a set of algorithms for performing symbolic manipulations on algebraic objects, a language to implement them, and an environment in which to use the language.[4][5] A CAS may include a user interface and graphics capability; and to be effective may require a large library of algorithms, efficient data structures and a fast kernel.[6]
General
System | Creator | Development started | First public release | Latest stable version | Latest stable release date | Cost (USD) | License | Notes |
---|---|---|---|---|---|---|---|---|
Axiom | Richard Jenks | 1977 | 1993 and 2002[7] | August 2014[8] | Free | modified BSD license | General purpose CAS. Continuous Release using Docker Containers | |
Cadabra | Kasper Peeters | 2001 | 2007 | 1.45 | September 6, 2016 | Free | GNU GPL | CAS for tensor field theory |
Calcinator | George J. Paulos | 2013 | 2016 | 2.0 | February 2015 | Free | Proprietary | Browser-based CAS for desktop and mobile devices |
CoCoA-4 | The CoCoA Team | 1987 | 1995 | 4.7.5 | 2009 | Free for non-commercial use | own license | Specialized CAS for commutative algebra |
CoCoA-5 | Abbott, Bigatti, Lagorio | 2000 | 2011 | 5.1.1 | 2014 | Free | GNU GPL | Specialized CAS for commutative algebra |
Derive | Soft Warehouse | 1979 | 1988 | 6.1 | November 2007 | Discontinued | Proprietary | CAS designed for pocket calculators; it was discontinued in 2007 |
DataMelt (DMelt) | jWork.ORG (Sergei Chekanov) | 2005 | 2015 | 1.5 | May 14, 2016 | $0 for academic usage, commercial license unknown | Proprietary | Java-based. Runs on the Java platform. Supports Python, Ruby, Groovy, Java and Octave. |
Erable (aka ALGB) | Bernard Parisse, Mika Heiskanen, Claude-Nicolas Fiechter | 1993 | 1993 | 4.20060919 | April 21, 2009 | Free | LGPL | CAS designed for Hewlett-Packard scientific graphing calculators of the HP 48/49/40/50 series; discontinued in 2009 |
Fermat | Robert H. Lewis | 1986 | 1993 | 5.25 | July 5, 2016 | $70 if grant money available, otherwise $0 | Proprietary | Specialized CAS for resultant computation and linear algebra with polynomial entries |
FORM | J.A.M. Vermaseren | 1984 | 1989 | 4.1 | October 25, 2013[9] | Free | GNU GPL | CAS designed mainly for particle physics |
FriCAS | Waldek Hebisch | 2007 | 2007 | 1.3.0 | August 31, 2016 | Free | modified BSD license | Full-featured general purpose CAS. Especially strong at symbolic integration. |
FxSolver | Equanalysis UG | 2010 | 2014 | 2016 | Free | Proprietary | General online computer algebra system | |
GAP | GAP Group | 1986 | 1986 | 4.8.6 | November 12, 2016 | Free | GNU GPL[10] | Specialized CAS for group theory and combinatorics. |
GiNaC | Christian Bauer, Alexander Frink, Richard B. Kreckel, et al. | 1999 | 1999 | 1.7.1 | October 2, 2016 | Free | GNU GPL | Integrate symbolic computation into C++ programs; no high-level interface, but emphasis on interoperability. |
KANT/KASH | KANT Group | ? | ? | 3 | 2005/2008 | Free for non-commercial use | own license | Specialized CAS for algebraic number theory |
Macaulay2 | Daniel Grayson and Michael Stillman | 1992 | 1994 | 1.8 | 2015 | Free | GNU GPL | Specialized CAS for algebraic geometry and commutative algebra |
Macsyma | MIT Project MAC and Symbolics | 1968 | 1978 | 2.4 | 1999 | $500 | Proprietary | The oldest general purpose CAS. Still alive as Maxima. |
Magma | University of Sydney | ~1990 | 1993 | 2.22-3 | July 20, 2016 | $1,440 | Proprietary | General purpose CAS, originally specialized in group theory. Works with elements of algebraic structures rather than with non typed mathematical expressions |
Magnus | The New York Group Theory Cooperative | 1994 | 1997 | 2005 | Free | GNU GPL | Specialized CAS for group theory providing facilities for doing calculations in and about infinite groups. Discontinued in 2005. | |
Maple | Symbolic Computation Group, University of Waterloo | 1980 | 1984 | 2016 | March 2, 2016 | $2,275 (Commercial), $2,155 (Government), $1245 (Academic), $239 (Personal Edition), $99 (Student), $79 (Student, 12-Month term)[11] | Proprietary | One of the major general purpose CAS |
Mathcad | Parametric Technology Corporation | 1985 | 1985 | 15.0 M045 | November 2015 | $1,600 (Commercial), $105 (Student), Free (Express Edition)[12] | Proprietary | Numerical software with some CAS capabilities |
Mathematica | Wolfram Research | 1986 | 1988 | 11.0.1 (September 28, 2016 ) [±][13] | April 18, 2016 | $2,495 (Professional), $1095 (Education), $295 (Personal),[14] $140 (Student), $69.95 (Student annual license),[15] free on Raspberry Pi hardware[16] | Proprietary | One of the major general purpose CAS |
MathHandbook | DrHuang.com | 1986 | 1987 | 2016 | Free | GPL | former SymbMath, online computer algebra system to calculate fractional calculus and fractional differential equation and more | |
Mathics | Jan Pöschko | 2011 | 2011 | 0.9 | March 1, 2016 | Free | GPL | Mathematica-like syntax |
Mathomatic | George Gesslein II | 1986 | 1987 | 16.0.5 | 2012 | Discontinued | LGPL | Elementary algebra, calculus, complex number and polynomial manipulations. |
Maxima | MIT Project MAC and Bill Schelter et al. | 1967 | 1998 | 5.38.1 | May 12, 2016 | Free | GNU GPL | General purpose CAS. Continuation of Macsyma; New releases occur two times a year. |
MuMATH | Soft Warehouse | 1970s | 1980 | MuMATH-83 | Discontinued | Proprietary | Predecessor of Derive | |
MuPAD | SciFace Software | 1989 | 2008 | 5.1 | 2008 | Discontinued | Proprietary | MathWorks has incorporated MuPAD technology into Symbolic Math Toolbox |
OpenAxiom | Gabriel Dos Reis | 2007 | 2007 | 1.4.2 | 2013 | Free | modified BSD license | General purpose CAS. A fork of Axiom. |
PARI/GP | Henri Cohen, Karim Belabas, Bill Allombert et al. | 1985 | 1990 | 2.9.1 | November 22, 2016 | Free | GNU GPL | Specialized CAS for number theory. |
Reduce | Anthony C. Hearn | 1960s | 1968 | 2009 | Free | modified BSD license | Historically important general purpose CAS. Still alive, as open-sourced and freed in December 2008 | |
Scilab | Scilab Enterprises | 1990 | 1990 | 5.5.2 | April 1, 2015 | Free | CeCILL (GPL-compatible) | Matlab alternative. |
SageMath | William A. Stein | 2005 | 2005 | 7.2 | May 15, 2016[17] | Free | GNU GPL | Mathematics software system combining a number of existing packages, including numerical computation, statistics and image processing |
SINGULAR | University of Kaiserslautern | 1984 | 1997 | 4-1-0 | November 21, 2016 | Free | GNU GPL | Computer algebra system for polynomial computations, with special emphasis on commutative and non-commutative algebra, algebraic geometry, and singularity theory. |
SMath Studio | A. Ivashov | 2005 | 2005 | 0.97.5346 | August 21, 2014 | Free | Proprietary (CC-BY-ND) | Mathematical notebook program similar to Mathcad. |
Symbolic Math Toolbox (MATLAB) | MathWorks | 1989 | 2008 | 8.5(2015a) | 2015 | $3150 including required Simulink | Proprietary | Provides tools for solving and manipulating symbolic math expressions and performing variable-precision arithmetic. |
SyMAT | Netsyms Technologies | 2014 | 2015 | 2.1 | December 28, 2015 | Free for personal use | modified BSD license | Written in Java and runs JavaScript and Python scripts. |
SymbolicC++ | W.-H. Steeb | 1997 | 1997 | 3.35 | September 15, 2010 | Free | GNU GPL | C++ -based |
Symbolism | E. Cavazos | 2012 | 2013 | 2013 | Free | modified BSD license | C# library for automatic simplification of algebraic expressions | |
Symja | A. Kramer | 2007 | 2011 | 2016 | Free | LGPL | Java library for symbolic mathematics | |
Symengine (CSymPy) | Ondřej Čertík | 2012 | Free | modified BSD license | C++ port of selected SymPy functionality | |||
SymPy | Ondřej Čertík | 2006 | 2007 | 1.0 | March 8, 2016 | Free | modified BSD license | Python-based |
TI-Nspire CAS (Computer Software) | Texas Instruments | 2006 | 2009 | 3.1.0.392 | Proprietary | Successor to Derive. Based on Derive's engine used in TI-89/Voyage 200 and TI-Nspire handheld | ||
Wolfram Alpha | Wolfram Research | 2009 | 2013 | Pro version: $4.99 / month, Pro version for students: $2.99 / month, Regular version: free | Proprietary | Online computer algebra system with step-by step solutions. | ||
Xcas/Giac | Bernard Parisse | 2000 | 2000 | 1.2.2-81 | September 2016 | Free | GPL | General CAS, also adapted for the HP Prime. Compatible modes for Maple, MuPAD and TI89 syntax. Symbolic spreadsheets, Giac library for use with other programs. ARM ports for some PDAs with Linux or WinCE[18] |
Yacas | Ayal Pinkus et al. | 1998[19] | 1999 | 1.5.0 | May 9, 2016 | Free | GNU GPL | |
Creator | Development started | First public release | Latest stable version | Latest stable release date | Cost (USD) | License | Notes |
These computer algebra systems are sometimes combined with "front end" programs that provide a nice user interface, such as the general-purpose GNU TeXmacs.
Functionality
Below is a summary of significantly developed symbolic functionality in each of the systems.
System | Formula editor | Arbitrary precision | Calculus | Solvers | Graph theory | Number theory | Quantifier elimination | Boolean algebra | Tensors | Probability | Control theory | Coding theory | Group theory | System | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Integration | Integral transforms | Equations | Inequalities | Diophantine equations | Differential equations | Recurrence relations | |||||||||||||
Axiom | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Axiom |
Calcinator | Yes | No | Yes | Yes | Yes | No | Yes | No | No | No | No | No | No | No | No | No | No | No | Calcinator |
Magma | No | Yes | No | No | Yes | No | Yes | No | No | Yes | Yes | No | No | No | ? | ? | Yes | Yes | Magma |
Magnus | No | Yes | No | No | No | No | No | No | No | ? | ? | No | ? | No | No | No | No | Yes | Magnus |
Maple | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Maple |
Mathcad | Yes | No | Yes | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | Mathcad |
Mathematica | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[20] | Yes | Yes | No | Yes | Mathematica |
MathHandbook | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | Yes | No | Yes | No | Yes | No | No | No | MathHandbook |
Mathomatic | No | No | Yes | Yes | Yes | No | No | No | No | No | Yes | No | No | No | No | No | No | No | Mathomatic |
Symbolic Math Toolbox (MATLAB) | No | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | No | No | No | No | No | No | No | Symbolic Math Toolbox (MATLAB) |
Maxima | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Maxima |
SageMath | No | Yes | Yes | Yes | Yes | Yes | Yes[A] | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | No | Yes | Yes | SageMath |
SymPy | No | Yes | Yes | Yes | Yes | Yes | Yes[21] | Yes | Yes | No | Yes | No | Yes | Yes | Yes | No | No | Yes | SymPy |
Wolfram Alpha | Pro version only | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? | ? | No | Yes | Wolfram Alpha |
GAP | No | Yes | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | GAP |
Xcas/Giac | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | No | Yes | No | No | No | Yes | ? | No | ? | Xcas/Giac |
Yacas | No | Yes | Yes | No | Yes | No | No | No | No | No | No | No | No | No | ? | ? | No | No | Yacas |
- ^ via SymPy
Those which don't "edit equations" may have a GUI, plotting, ASCII graphic formulae and math font printing. The ability to generate plaintext files is also a sought-after feature because it allows a work to be understood by people who do not have a computer algebra system installed.
Operating system support
The software can run under their respective operating systems natively without emulation. Some systems must be compiled first using an appropriate compiler for the source language and target platform. For some platforms, only older releases of the software may be available.
System | DOS | Windows | macOS | Linux | BSD | Solaris | Android | iOS | Other |
---|---|---|---|---|---|---|---|---|---|
Axiom | ? | Yes | Yes | Yes | No | No | ? | ? | ? |
Calcinator | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? |
CoCoA | No | Yes | Yes | Yes | Yes | Yes | ? | ? | Tru64 UNIX, HP-UX, IRIX |
Derive | Yes | Yes | No | No | No | No | ? | ? | ? |
Erable | No | Emulator | Emulator | Emulator | No | No | No | No | System RPL on HP 48/49/50/40 series |
Euler | ? | Yes | No | Yes | No | No | ? | ? | ? |
Fermat | ? | Cygwin | Yes | Yes | No | No | ? | ? | ? |
FORM | ? | Cygwin | Yes | Yes | Yes | Yes | ? | ? | ? |
GAP | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
KANT/KASH | ? | Yes | Yes | Yes | No | No | ? | ? | No |
Macaulay2 | ? | Cygwin | Yes | Yes | Yes | Yes | ? | ? | ? |
Magma | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
Magnus | No | Yes | ? | Yes | ? | Yes | No | No | SunOs |
Maple | No | Yes | Yes | Yes | No | No | No | No | No |
Mathcad | Yes | Yes | No | No | No | No | ? | ? | No |
Mathematica | No | Yes | Yes | Yes | No | No | No | No | SaaS, Raspberry Pi[16] |
MathHandbook | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | All platforms that run web page |
Mathomatic | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ? | All POSIX platforms |
Maxima | ? | Yes | Yes | Yes | Yes | Yes | Yes | ? | All POSIX platforms with Common Lisp |
MuMATH | Yes | No | No | No | No | No | ? | ? | ? |
OpenAxiom | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
PARI/GP | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
Reduce | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
SageMath | No | Virtual Machine | Yes | Yes | No | Yes | ? | ? | VMware image for MS-Windows users |
SINGULAR | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
SMath Studio | ? | Yes | ? | Yes | ? | ? | ? | ? | ? |
SyMAT | ? | Yes | Yes | Yes | Yes | Yes | No | No | All platforms that run Java |
SymbolicC++ | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
Symbolic Math Toolbox (MATLAB) | No | Yes | Yes | Yes | No | No | No | No | No |
SymPy | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | Any system that supports Python |
TI-Nspire (desktop software) | No | Yes | Yes | No | No | No | No | Yes | ? |
Xcas/Giac | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | HP Prime CAS, KhiCAS for TI Nspire |
Yacas | No | Yes | Yes | Yes | Yes | Yes | ? | ? | ? |
Graphing calculators
Some graphing calculators have CAS features.
System | Creator | Development started | First public release / OS version | Latest stable version / OS version | Notes |
---|---|---|---|---|---|
Casio CFX-9970G | CASIO Computer Co. | ? | 1998 | ||
Casio Algebra FX 2.0 | CASIO Computer Co. | ? | 1999 | ||
Casio ClassPad 300, Casio ClassPad 300 Plus, Casio ClassPad 330, Casio ClassPad 330 Plus, Casio ClassPad fx-CP400 Casio ClassPad Manager |
CASIO Computer Co. | 2002 | 2003 | 3.06.4000 | ClassPad Manager is an emulator which runs on a PC. |
HP 49G, HP 49g+, HP 48gII, HP 50g, HP 40G, HP 40gs | Hewlett-Packard | 1993 | 1.??(1999) / 4 | 2.15 (2006-09-19, 2009-04-21) / 4 | Based on Erable, which is also available as an add-on for the HP 48S, HP 48SX, HP 48G, HP 48G+, HP 48GX. Intended for problems which occur in engineering applications. Source code openly available. |
HP Prime | Hewlett-Packard | 2000 | 2013 | 6975 (2014-12-03) / v1.1.0-46 (2014-03-31) | Based on Xcas/Giac. Source code openly available. |
TI-89 | Texas Instruments | 1995 | 1996 | 2.09 | |
TI-89 Titanium | Texas Instruments | 2003 | 2004 | 7/18/2005 v3.10 | |
TI-92 | Texas Instruments | 1994 | 1995 | ? | |
TI-92 Plus | Texas Instruments | 1997 | 1998 | 3/27/2003 v2.09 | |
TI-Nspire CAS, TI-Nspire CX CAS | Texas Instruments | 2006 | 2008 | 2014 v3.6.0.550 | |
Voyage 200 | Texas Instruments | 2001 | 2002 | 7/18/2005 v3.10 | |
Zoom Math | IQ Joe | ? | ? | 1.03 | TI-83 and TI-84 application that adds CAS capabilities. Proprietary |
See also
- Mathematical software
- List of information graphics software
- List of numerical analysis software
- List of numerical libraries
- List of statistical packages
- Comparison of numerical analysis software
- Comparison of statistical packages
- Category:Computer algebra systems
- Web-based simulation
References
- ↑ "Computer Algebra Software". Special Interest Group on Symbolic and Algebraic Manipulation. Association for Computing Machinery. 2008-07-11. Retrieved 2012-11-16.
- ↑ "Systems and Packages". Computer Algebra Information Network. 1998-05-07. Retrieved 2012-11-17.
- ↑ "SAC Systems Listing". SymbolicNet. Retrieved 2012-11-17.
- ↑ Aladjev, V.Z. (2004). Computer algebra systems : a new software toolbox for Maple. [S.l.]: Fultus Books. p. 9. ISBN 9781596820005.
- ↑ Labahn, K.O. Geddes ; S.R. Czapor ; G. (1999). Algorithms for computer algebra (6. pr. ed.). Boston: Kluwer. pp. xv. ISBN 9780792392590.
- ↑ Gerhard, Joachim von Zur Gathen ; Jürgen (2003). Modern computer algebra (2. ed.). Cambridge: Cambridge Univ. Press. p. 4. ISBN 9780521826464.
- ↑ The first date is that of the first commercial release (to be checked), the second one is that of the first free license
- ↑ "Axiom Computer Algebra System". Retrieved 2016-04-29.
- ↑ "Releases - vermaseren/form - GitHub". Retrieved 2016-04-29.
- ↑ "GAP Copyright". 2012-06-14. Retrieved 2015-02-26.
- ↑ "Maplesoft Web Store". Retrieved 2011-10-21.
- ↑ "PTC Web Store". Retrieved 2015-02-01.
- ↑ "Mathematica Quick Revision History". Retrieved 2016-08-08.
- ↑ Cohen, Peter (2009-02-05). "Mathematica Home Edition Released". Macworld. Retrieved 2014-07-03.
- ↑ "Wolfram Worldwide Web Store". Retrieved 2008-11-20.
- 1 2 Kastrenakes, Jacob (2013-11-21). "Raspberry Pi now includes Mathematica and Wolfram Language for free". The Verge. Retrieved 2014-07-03.
- ↑ "SageMath - Open-Source Mathematical Software System". Retrieved 2016-05-16.
- ↑ "Xcas ARM". Retrieved 2010-10-12.
- ↑ "Big changes ahead for Yacas". Retrieved 2011-04-19.
- ↑ "Symbolic Tensors". Mathematica Documentation. Retrieved 2014-07-03.
- ↑ "SymPy release notes for 0.7.4". GitHub. Retrieved 2014-07-03.
External links
Lists of computer algebra systems:
- Google Directory - Science > Math > Algebra > Software at the Wayback Machine (archived July 18, 2011)
- Math Software at DMOZ
- Alphabetically sorted list compiled by Freed Wiedijk
- Combinatorial Software and Databases (Séminaire Lotharingien de Combinatoire)
- ORMS (Oberwolfach References on Mathematical Software)
Other:
- Use Maxima in a web browser without downloading any software
- Use XCAS in a web browser
- Rosetta Translations: a collection of synonyms for various operations in the computer algebra systems