Software: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 (United States dollar ) | License | Notes |
---|---|---|---|---|---|---|---|---|
Axiom | Richard Jenks | 1977 | 1993 and 2002[7] | 2014[8] | Free | modified BSD license | General purpose CAS. Continuous Release using Docker Containers | |
Cadabra | Kasper Peeters | 2001 | 2007 | 2.4.0 | 2022 | Free | GNU GPL | CAS for tensor field theory |
CoCoA | John Abbott, Anna M. Bigatti, Giovanni Lagorio | 1987 | 1995 | 5.2.0 | 2017 | Free | GNU GPL | Specialized CAS for commutative algebra |
Derive | Soft Warehouse | 1979 | 1988 | 6.1 | 2007 | Discontinued | Proprietary | CAS designed for DOS and Windows microcomputers; it was discontinued in 2007 |
Erable (aka ALGB) | Bernard Parisse (fr), Mika Heiskanen, Claude-Nicolas Fiechter | 1993 | 1993 | 4.20060919 | 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 | 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 | 2023[9] | Free | GNU GPL | CAS designed mainly for particle physics |
FriCAS | Waldek Hebisch | 2007 | 2007 | 1.3.10 | 2024 | Free | modified BSD license | Full-featured general purpose CAS. Especially strong at symbolic integration. |
GAP | GAP Group | 1986 | 1986 | 4.12.2 | 2022 | Free | GNU GPL[10] | Specialized CAS for group theory and combinatorics. |
GeoGebra CAS | Markus Hohenwarter et al. | 2013 | 6.0.753.0 | 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 | 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 | 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] | )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 | 2021 | $1,600 (Commercial), $105 (Student), Free (Express Edition)[16] | Proprietary | Numerical software with some CAS capabilities |
Mathematica | Wolfram Research | 1986 | 1988 | 14.0.0 (January 9, 2024[±][17] | )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 | 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] | 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 | 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 | 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 | 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 | 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 | 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 | 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 (https://symbolics.juliasymbolics.org/stable/) | Shashi Gowda, Yingbo Ma, Chris Rackauckas | 2021 | 2021 | v5.3.1 | 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 | 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 (fr) | 2000 | 2000 | 1.5.0-85 | 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 | 2020 | Free | GNU GPL | |
Creator | Development started | First public release | Latest stable version | Latest stable release date | Cost (United States dollar ) | 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 | 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
- 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 software
- Mathematical software
- Web-based simulation
References
- ↑ "Computer Algebra Software". Special Interest Group on Symbolic and Algebraic Manipulation. Association for Computing Machinery. 2008-07-11. http://www.sigsam.org/software/index.phtml.
- ↑ "Systems and Packages". Computer Algebra Information Network. 1998-05-07. http://www.computeralgebra.nl/systems_and_packages/systems_and_packages.html.
- ↑ "SAC Systems Listing". SymbolicNet. http://www.symbolicnet.org/systems/Systems.html.
- ↑ Aladjev, V.Z. (2004). Computer algebra systems : a new software toolbox for Maple. [S.l.]: Fultus Books. pp. 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. https://archive.org/details/algorithmsforcom0000gedd.
- ↑ Gerhard, Joachim von Zur Gathen; Jürgen (2003). Modern computer algebra (2. ed.). Cambridge: Cambridge Univ. Press. pp. 4. ISBN 9780521826464. https://archive.org/details/moderncomputeral00gath_990.
- ↑ 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". http://www.axiom-developer.org/axiom-website/download.html.
- ↑ "Releases - vermaseren/form - GitHub". https://github.com/vermaseren/form/releases.
- ↑ "GAP Copyright". 2012-06-14. http://www.gap-system.org/Download/copyright.html.
- ↑ 11.0 11.1 "GeoGebra License". https://www.geogebra.org/license.
- ↑ "LiveMath Store". https://www.livemath.com/store.
- ↑ MacCallum, Malcolm A. H. (2018). "Computer algebra in gravity research". Living Reviews in Relativity 21 (1): 6. doi:10.1007/s41114-018-0015-6. ISSN 2367-3613. PMID 30174551. Bibcode: 2018LRR....21....6M.
- ↑ "Maplesoft Media Releases". https://www.maplesoft.com/company/news/releases/2023/2023-03-09-maplesoft-mathematic-suite-helps-educators-do-more-for-their-students.aspx.
- ↑ "Maplesoft Web Store". https://webstore.maplesoft.com.
- ↑ "PTC Web Store". http://www.ptc.com/product/mathcad/how-to-buy.
- ↑ "The Story Continues: Announcing Version 14 of Wolfram Language and Mathematica". https://writings.stephenwolfram.com/2024/01/the-story-continues-announcing-version-14-of-wolfram-language-and-mathematica/.
- ↑ Cohen, Peter (2009-02-05). "Mathematica Home Edition Released". Macworld. http://www.macworld.com/article/138664/2009/02/mathematica.html.
- ↑ "Wolfram Worldwide Web Store". http://store.wolfram.com.
- ↑ 20.0 20.1 Kastrenakes, Jacob (2013-11-21). "Raspberry Pi now includes Mathematica and Wolfram Language for free". The Verge. https://www.theverge.com/2013/11/21/5130394/raspberry-pi-includes-mathematica-wolfram-language-free.
- ↑ Maxima, a Computer Algebra System
- ↑ "SageMath – Open-Source Mathematical Software System". https://www.sagemath.org/.
- ↑ "Wolfram Announcements Archive » Computer Algebra Pioneer Wins Nobel Prize". Wolfram Archive. 1999-10-15. https://announcements.wolfram.com/1999/computer-algebra-pioneer-wins-nobel-prize/.
- ↑ Wolfram, Stephen (April 1985). "Symbolic Mathematical Computation". Communications of the ACM 28 (4): 390–394. doi:10.1145/3341.3347. https://content.wolfram.com/uploads/sites/34/2020/07/symbolic-mathematical-computation.pdf.
- ↑ "JuliaSymbolics". https://juliasymbolics.org/.
- ↑ "Xcas ARM". http://www-fourier.ujf-grenoble.fr/~parisse/install_en#xcaswince.
- ↑ "Big changes ahead for Yacas". http://yacas.sourceforge.net/homepage.html?recent.html&newdesign.html.
- ↑ "Symbolic Tensors". Mathematica Documentation. http://reference.wolfram.com/mathematica/guide/SymbolicTensors.html.
- ↑ "What makes up Mathics?". https://mathics-development-guide.readthedocs.io/en/latest/installing/what-is-mathics.html.
- ↑ "SymPy release notes for 0.7.4". GitHub. https://github.com/sympy/sympy/wiki/release-notes-for-0.7.4.
- ↑ Through SymPy Gamma
External links
Original source: https://en.wikipedia.org/wiki/List of computer algebra systems.
Read more |