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.4.0 | 25 August 2022 | 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.5 | 21 June 2021 | $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.3.1 | 11 April 2023[9] | Free | GNU GPL | CAS designed mainly for particle physics |
FriCAS | Waldek Hebisch | 2007 | 2007 | 1.3.9 | 8 July 2023 | Free | modified BSD license | Full-featured general purpose CAS. Especially strong at symbolic integration. |
GAP | GAP Group | 1986 | 1986 | 4.12.2 | 18 December 2022 | Free | GNU GPL[10] | Specialized CAS for group theory and combinatorics. |
GeoGebra CAS | Markus Hohenwarter et al. | 2013 | 6.0.753.0 | 3 January 2023 | Free for non-commercial use[11] | Freeware[11] | Web-based or Desktop CAS Calculator | |
GiNaC | Christian Bauer, Alexander Frink, Richard B. Kreckel, et al. | 1999 | 1999 | 1.8.3 | 23 March 2022 | Free | GNU GPL | Integrate symbolic computation into C++ programs; no high-level interface, but emphasis on interoperability. |
GNU Octave | John W. Eaton | 1993 | 1994 | 7.3.0 | 2022 | Free | GPLv3+ | A high-level programming language for scientific computing and numerical computation mostly compatible with MATLAB |
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)[12] | 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.27-8 | 22 February 2023 | $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[13] | 1984 | 2023 (9 March 2023) [±][14] | 15 March 2022 | $2,390(Commercial), $2,265 (Government), $995 (Academic), $239 (Personal Edition), $99 (Student), $79 (Student, 12-Month term)[15] | Proprietary | One of the major general purpose CAS |
Mathcad | Parametric Technology Corporation | 1985 | 1985 | 15.0 M045 | 27 February 2021 | $1,600 (Commercial), $105 (Student), Free (Express Edition)[16] | Proprietary | Numerical software with some CAS capabilities |
Mathematica | Wolfram Research | 1986 | 1988 | 13.3.1 (August 16, 2023) [±][17] | 29 June 2022 | $2,495 (Professional), $1,095 (Education), $295 (Personal),[18] $140 (Student), $69.95 (Student annual license),[19] free on Raspberry Pi hardware[20] | Proprietary | One of the major general purpose CAS |
Mathics | Jan Pöschko | 2016 | 2016 | 6.0.1 | 5 March 2023 | Free | GPL3 | Uses Mathematica 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.46.0[21] | 13 April 2022 | Free | GNU GPL | General purpose CAS. Continuation of Macsyma; new releases occur approximately two times per 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 | |
SageMath | William A. Stein | 2005 | 2005 | 9.8 | 11 February 2023[22] | Free | GNU GPL | Mathematics software system combining a number of existing packages, including numerical computation, statistics and image processing |
Scilab | Scilab Enterprises | 1990 | 1990 | 2023.0 | 10 March 2023 | Free | CeCILL (GPL-compatible) until version 5.5.2 GPL v2.0 since version 6.0.2 | Matlab alternative. |
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. |
SINGULAR | University of Kaiserslautern | 1984 | 1997 | 4-3-0 | 14 January 2022 | 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 | 1.0.8348 | 9 November 2022 | Free | Proprietary | Mathematical notebook program similar to Mathcad. |
Symbolic Manipulation Program | Stephen Wolfram | 1979[23] | 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.[24] | |
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. |
Symbolics.jl | Shashi Gowda, Yingbo Ma, Chris Rackauckas | 2021 | 2021 | v5.3.1 | 25 April 2023 | Free | MIT License | A fast and modern Computer Algebra System for the Julia programming language.[25] |
SymPy | Ondřej Čertík | 2006 | 2007 | 1.12 | 10 May 2023 | 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[26] |
Yacas | Ayal Pinkus et al. | 1998[27] | 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 |
GAP | No | Yes | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | GAP |
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 | Yes | 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[28] | Yes | Yes | Yes | Mathematica |
Mathics | No | Yes[A] | Yes[A] | Yes[A] | Yes[A] | Yes[A] | Yes[A] | Yes[A] | Yes[A] | Yes[29] | Yes | No | Yes | Yes | Yes | No | Yes | Mathics |
Mathomatic | No | No | Yes | Yes | Yes | No | No | No | No | No | Yes | No | No | No | No | No | No | Mathomatic |
Maxima | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Maxima |
Reduce | No | Yes | Yes | ? | Yes | Yes | ? | Yes | ? | ? | Yes | Yes | Yes | Yes | ? | ? | ? | Reduce |
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 |
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) |
SymPy | No | Yes | Yes | Yes | Yes | Yes | Yes[30] | Yes | Yes | No | Yes | No | Yes | Yes | Yes | No | Yes | SymPy |
Wolfram Alpha | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | ? | ? | Yes | Wolfram Alpha |
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 |
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[20] |
Mathics | No | Yes | Yes | Yes | Yes | No | No | No | No | All POSIX platforms |
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 |
Symbolic Math Toolbox (MATLAB) | No | Yes | Yes | Yes | No | No | No | No | Yes | |
SymbolicC++ | ? | Yes | Yes | Yes | Yes | Yes | ? | ? | No | |
SymPy | ? | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[31] | 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 Algebra FX 2.0 Plus | 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 | 2021 v4.5.5.79 (For TI-Nspire CX CAS), 2022 v5.4.0.259 (For TI-Nspire CX II CAS) | |
Voyage 200 | Texas Instruments | 2001 | 2002 | 7/18/2005 v3.10 |
See also
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.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - Gerhard, Joachim von Zur Gathen; Jürgen (2003). Modern computer algebra (2. ed.). Cambridge: Cambridge Univ. Press. pp. 4. ISBN 9780521826464.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - 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". GitHub. Retrieved 2016-04-29.
- "GAP Copyright". 2012-06-14. Retrieved 2015-02-26.
- "GeoGebra License". Retrieved 15 July 2023.
- "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.
- "Maplesoft Media Releases". www.maplesoft.com. Retrieved 2023-05-16.
- "Maplesoft Web Store". Retrieved 2019-03-14.
- "PTC Web Store". Retrieved 2015-02-01.
- "Mathematica Quick Revision History". Retrieved 2023-08-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.
- Maxima, a Computer Algebra System
- "SageMath – Open-Source Mathematical Software System". Retrieved 2022-02-18.
- "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 (4): 390–394. doi:10.1145/3341.3347. S2CID 15577857.
- "JuliaSymbolics". Retrieved 2022-06-16.
- "Xcas ARM". Retrieved 2010-10-12.
- "Big changes ahead for Yacas". Retrieved 2011-04-19.
- "Symbolic Tensors". Mathematica Documentation. Retrieved 2014-07-03.
- "What makes up Mathics?". Mathics's Developer Reference. Retrieved 2021-07-08.
- "SymPy release notes for 0.7.4". GitHub. Retrieved 2014-07-03.
- Through SymPy Gamma