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 | 2.3.5 | 17 November 2020 | Free | GNU GPL | CAS for tensor field theory |
CoCoA | John Abbott, Anna M. Bigatti, Giovanni Lagorio | 1987 | 1995 | 5.2.0 | 2 May 2017 | 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 |
Erable (aka ALGB) | Bernard Parisse, Mika Heiskanen, Claude-Nicolas Fiechter | 1993 | 1993 | 4.20060919 | 21 April 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 | 6.37 | 20 May 2020 | $70 if grant money available, otherwise $0 | GNU GPL | Specialized CAS for resultant computation and linear algebra with polynomial entries |
FORM | J.A.M. Vermaseren | 1984 | 1989 | 4.2 | 6 July 2017[9] | Free | GNU GPL | CAS designed mainly for particle physics |
FriCAS | Waldek Hebisch | 2007 | 2007 | 1.3.5 | 3 February 2019 | Free | modified BSD license | Full-featured general purpose CAS. Especially strong at symbolic integration. |
GAP | GAP Group | 1986 | 1986 | 4.11.0 | 6 March 2020 | 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.10 | 28 June 2020 | 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 |
LiveMath | MathMonkeys,LLC | 1991 | 1993 | 3.6 | 2018 | $399 (Commercial), $299 (Academic), $199 (Personal Edition), $69 (Student), $29 (Student, 3-Month term)[11] | Proprietary | More interface than computing power |
Macaulay2 | Daniel Grayson and Michael Stillman | 1992 | 1994 | 1.14 | 2019 | 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.25-5 | 29 April 2020 | $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[12] | 1984 | 2020.1 (10 June 2020) [±][13] | 28 May 2019 | $2,390(Commercial), $2,265 (Government), $995 (Academic), $239 (Personal Edition), $99 (Student), $79 (Student, 12-Month term)[14] | 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)[15] | Proprietary | Numerical software with some CAS capabilities |
Mathematica | Wolfram Research | 1986 | 1988 | 12.2 (December 16, 2020) [±][16] | 16 April 2019 | $2,495 (Professional), $1095 (Education), $295 (Personal),[17] $140 (Student), $69.95 (Student annual license),[18] free on Raspberry Pi hardware[19] | Proprietary | One of the major general purpose CAS |
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.44.0[20] | 8 June 2020 | 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.11.4 | 17 April 2020 | Free | GNU GPL | Specialized CAS for number theory. |
Reduce | Anthony C. Hearn | 1960s | 1968 | 2018 | Free | modified BSD license | Historically important general purpose CAS. Still alive, as open-sourced and freed in December 2008 | |
Scilab | Scilab Enterprises | 1990 | 1990 | 6.0.2 | 14 February 2019 | Free | CeCILL (GPL-compatible) | Matlab alternative. |
SageMath | William A. Stein | 2005 | 2005 | 9.2 | 24 October 2020[21] | 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-3 | 25 May 2020 | 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 | Andrey Ivashov | 2004 | 2006 | 0.99.7610 | 1 November 2020 | Free | Proprietary | Mathematical notebook program similar to Mathcad. |
Symbolic Manipulation Program | Stephen Wolfram | 1979[22] | 1981 | 1988 | Discontinued | Proprietary | This software was eventually replaced by Mathematica, and the newer program still retains much of the syntax and functionality of the earlier SMP.[23] | |
Symbolic Math Toolbox (MATLAB) | MathWorks | 1989 | 2008 | 9.4(2018a) | 2018 | $3,150 (Commercial), $99 (Student Suite), $700 (Academic), $194 (Home) including required Matlab | Proprietary | Provides tools for solving and manipulating symbolic math expressions and performing variable-precision arithmetic. |
SICMUtils | Colin Smith, Sam Ritchie | 2014 | 2016 | 0.13.0 | 9 November 2020 | Free | GNU GPL | Clojure and Clojurescript computer algebra system optimized for classical mechanics and differential geometry investigations. |
SymPy | Ondřej Čertík | 2006 | 2007 | 1.6.1 | 2 July 2020 | Free | modified BSD license | Python-based |
TI-Nspire CAS (Computer Software) | Texas Instruments | 2006 | 2009 | 5.1.3 | 2020 | 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, ioRegular version: free | Proprietary | Online computer algebra system with step-by step solutions. | ||
Xcas/Giac | Bernard Parisse | 2000 | 2000 | 1.5.0-85 | 12 December 2019 | 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[24] |
Yacas | Ayal Pinkus et al. | 1998[25] | 1999 | 1.9.1 | 4 July 2020 | 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 better 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 | 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 | Yes | Axiom |
Cadabra | No | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | No | No | No | Yes | No | No | Yes | Cadabra |
FriCAS | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | FriCAS |
Magma | No | Yes | No | No | Yes | No | Yes | No | No | Yes | Yes | No | No | No | ? | ? | Yes | Magma |
Magnus | No | Yes | 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 | Yes | Maple |
Mathcad | Yes | No | Yes | No | Yes | 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[26] | Yes | Yes | Yes | Mathematica |
Mathomatic | No | No | Yes | Yes | Yes | No | No | No | No | No | Yes | No | No | No | No | No | No | Mathomatic |
Symbolic Math Toolbox (MATLAB) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | Yes | No | Yes | Yes | No | Symbolic Math Toolbox (MATLAB) |
Maxima | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Maxima |
SageMath | No | Yes | Yes | Yes | Yes | Yes | Yes[A] | Yes | Yes | Yes | Yes | Yes[B] | Yes | Yes | Yes | No | Yes | SageMath |
SICMUtils | No | Yes | Yes | No | Yes | No | No | Yes | No | No | No | No | Yes | Yes | No | No | No | SICMUtils |
SMath Studio | Yes | No | Yes | No | Yes | No | No | No | No | No | No | No | No | No | No | No | No | SMath Studio |
SymPy | No | Yes | Yes | Yes | Yes | Yes | Yes[27] | Yes | Yes | No | Yes | No | Yes | Yes | Yes | No | Yes | SymPy |
Wolfram Alpha | Pro version only | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? | ? | Yes | Wolfram Alpha |
GAP | No | Yes | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | GAP |
Xcas/Giac | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | No | Yes | No | No | No | Yes | ? | ? | Xcas/Giac |
Yacas | No | Yes | Yes | No | Yes | No | No | No | No | No | No | No | No | No | ? | ? | No | Yacas |
Reduce | No | Yes | Yes | ? | Yes | Yes | ? | Yes | ? | ? | Yes | Yes | Yes | Yes | ? | ? | ? | Reduce |
Those which do not "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 | SaaS | Other |
---|---|---|---|---|---|---|---|---|---|---|
Axiom | ? | Emulator | Yes | Yes | No | No | ? | ? | No | |
Cadabra | No | Yes | Yes | Yes | Yes | No | No | No | No | |
CoCoA | No | Yes | Yes | Yes | Yes | Yes | ? | ? | No | Tru64 UNIX, HP-UX, IRIX |
Derive | Yes | Yes | No | No | No | No | ? | ? | No | |
Erable | No | Emulator | Emulator | Emulator | No | No | No | No | No | System RPL on HP 48/49/50/40 series |
Euler | ? | Yes | No | Yes | No | No | ? | ? | No | |
Fermat | ? | Cygwin | Yes | Yes | No | No | ? | ? | No | |
FORM | ? | Cygwin | Yes | Yes | Yes | Yes | ? | ? | No | |
FriCAS | ? | Cygwin+native | Yes | Yes | Yes | Yes | ? | ? | No | |
GAP | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | No | |
KANT/KASH | ? | Yes | Yes | Yes | No | No | ? | ? | No | |
Macaulay2 | ? | Cygwin | Yes | Yes | Yes | Yes | ? | ? | No | |
Magma | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | No | |
Magnus | No | Yes | ? | Yes | ? | Yes | No | No | No | SunOs |
Maple | No | Yes | Yes | Yes | No | No | No | No | No | |
Mathcad | Yes | Yes | No | No | No | No | No | No | No | |
Mathematica | Yes | Yes | Yes | Yes | No | No | No | No | Yes | Raspberry Pi[19] |
Mathomatic | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | All POSIX platforms |
Maxima | ? | Yes | Yes | Yes | Yes | Yes | Yes | ? | No | All POSIX platforms with Common Lisp |
MuMATH | Yes | No | No | No | No | No | ? | ? | No | |
OpenAxiom | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | No | |
PARI/GP | ? | Yes | Yes | Yes | Yes | Yes | Yes | ? | No | |
Reduce | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
SageMath | No | Yes | Yes | Yes | No | Yes | No | Yes | Yes | |
SICMUtils | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Any system that supports Clojure or Clojurescript |
SINGULAR | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | No | |
SMath Studio | No | Yes | Mono | Mono | Mono | Mono | Yes | Yes | Yes | Universal Windows Platform |
SymbolicC++ | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | No | |
Symbolic Math Toolbox (MATLAB) | No | Yes | Yes | Yes | No | No | No | No | Yes | |
SymPy | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[28] | Any system that supports Python |
TI-Nspire (desktop software) | No | Yes | Yes | No | No | No | No | Yes | No | |
Xcas/Giac | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | HP Prime CAS, KhiCAS for TI Nspire |
Yacas | No | Yes | Yes | Yes | Yes | Yes | ? | ? | No |
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 fx-CG500 Casio ClassPad Manager |
CASIO Computer Co. | 2002 | 2003 | 3.10.7000 (ClassPad I)
2.01.7000 (ClassPad II, fx-CG500) |
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 | 2.1.14433 (2020 01 21) CAS ver. 1.5.0 | 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, TI-Nspire CX II CAS | Texas Instruments | 2006 | 2008 | 2019 v4.5.1.12 (For TI-Nspire CX CAS), 2019 v5.1.3 (For TI-Nspire CX II CAS) | |
Voyage 200 | Texas Instruments | 2001 | 2002 | 7/18/2005 v3.10 |
See also
- Category:Computer algebra systems
- Comparison of numerical analysis software
- Comparison of statistical packages
- List of information graphics software
- List of numerical analysis software
- List of numerical libraries
- List of statistical packages
- Mathematical software
- 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. Archived from the original on 2012-04-15. 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. pp. 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.
- "LiveMath Store". Retrieved 2020-02-25.
- MacCallum, Malcolm A. H. (2018). "Computer algebra in gravity research". Living Reviews in Relativity. 21 (1): 6. Bibcode:2018LRR....21....6M. doi:10.1007/s41114-018-0015-6. ISSN 2367-3613. PMC 6105178. PMID 30174551.
- "Maple Product History". Retrieved 2020-03-20.
- "Maplesoft Web Store". Retrieved 2019-03-14.
- "PTC Web Store". Retrieved 2015-02-01.
- "Mathematica Quick Revision History". Retrieved 2020-12-16.
- Cohen, Peter (2009-02-05). "Mathematica Home Edition Released". Macworld. Retrieved 2014-07-03.
- "Wolfram Worldwide Web Store". Retrieved 2008-11-20.
- Kastrenakes, Jacob (2013-11-21). "Raspberry Pi now includes Mathematica and Wolfram Language for free". The Verge. Retrieved 2014-07-03.
- http://maxima.sourceforge.net/
- "SageMath – Open-Source Mathematical Software System". Retrieved 2020-10-27.
- "Wolfram Announcements Archive » Computer Algebra Pioneer Wins Nobel Prize". Wolfram Archive. 1999-10-15. Retrieved 2021-01-19.
- Wolfram, Stephen (April 1985). "Symbolic Mathematical Computation" (PDF). Communications of the ACM. 28: 390–394.
- "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.
- Through SymPy Gamma