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]
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 DOS and Windows microcomputers; 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.11 | 1 July 2024 | Free | modified BSD license | Full-featured general purpose CAS. Especially strong at symbolic integration. |
GAP | GAP Group | 1986 | 1986 | 4.13.1 | 13 June 2024 [10] | Free | GNU GPL [11] | 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 [12] | Freeware [12] | 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 |
Macaulay2 | Daniel Grayson and Michael Stillman | 1992 | 1994 | 1.24.05 | 15 May 2024 | Free | GNU GPL | Specialized CAS for algebraic geometry and commutative algebra |
Macsyma | MIT Project MAC and Symbolics | 1968 | 1978 | 2.4 | 1999 | $500 | Proprietary | One of 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 | 2024 (6 March 2024) [±] [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 | 14.1.0 (July 31, 2024) [±] [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 |
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 | 1963 | 1968 | 6860 (August 2024) [±] [22] | See "Latest stable version". | Free | modified BSD license | One of the oldest and 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 [23] | 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. |
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 [24] | 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. [25] | |
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. |
SymPy | Ondřej Čertík | 2006 | 2007 | 1.13.2 | 11 August 2024 | 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.9.0-99 | May 2024 | 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.
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 |
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 | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | No | No | REDUCE |
SageMath | No | Yes | Yes | Yes | Yes | Yes | Yes [A] | Yes | Yes | Yes | Yes | Yes [B] | Yes | Yes | Yes | No | Yes | SageMath |
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 [29] | 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.
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] |
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 | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
SageMath | No | Yes | Yes | Yes | No | Yes | No | Yes | Yes | |
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 [30] | 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 |
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 |
Numerical analysis is the study of algorithms that use numerical approximation for the problems of mathematical analysis. It is the study of numerical methods that attempt to find approximate solutions of problems rather than the exact ones. Numerical analysis finds application in all fields of engineering and the physical sciences, and in the 21st century also the life and social sciences like economics, medicine, business and even the arts. Current growth in computing power has enabled the use of more complex numerical analysis, providing detailed and realistic mathematical models in science and engineering. Examples of numerical analysis include: ordinary differential equations as found in celestial mechanics, numerical linear algebra in data analysis, and stochastic differential equations and Markov chains for simulating living cells in medicine and biology.
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allows machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimization, plotting functions and various types of data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other programming languages. It was conceived by Stephen Wolfram, and is developed by Wolfram Research of Champaign, Illinois. The Wolfram Language is the programming language used in Mathematica. Mathematica 1.0 was released on June 23, 1988 in Champaign, Illinois and Santa Clara, California.
A computer algebra system (CAS) or symbolic algebra system (SAS) is any mathematical software with the ability to manipulate mathematical expressions in a way similar to the traditional manual computations of mathematicians and scientists. The development of the computer algebra systems in the second half of the 20th century is part of the discipline of "computer algebra" or "symbolic computation", which has spurred work in algorithms over mathematical objects such as polynomials.
Maple is a symbolic and numeric computing environment as well as a multi-paradigm programming language. It covers several areas of technical computing, such as symbolic mathematics, numerical analysis, data processing, visualization, and others. A toolbox, MapleSim, adds functionality for multidomain physical modeling and code generation.
In symbolic computation, the Risch algorithm is a method of indefinite integration used in some computer algebra systems to find antiderivatives. It is named after the American mathematician Robert Henry Risch, a specialist in computer algebra who developed it in 1968.
Yacas is a general-purpose computer algebra system. The name is an acronym for Yet Another Computer Algebra System.
Computational science, also known as scientific computing, technical computing or scientific computation (SC), is a division of science, and more specifically the Computer Sciences, which uses advanced computing capabilities to understand and solve complex physical problems. While this discussion typically extenuates into Visual Computation, this research field of study will typically include the following research categorizations.
SageMath is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, group theory, differentiable manifolds, numerical analysis, number theory, calculus and statistics.
The following tables compare general and technical information for a number of statistical analysis packages.
The following tables provide a comparison of numerical analysis software.
Xcas is a user interface to Giac, which is an open source computer algebra system (CAS) for Windows, macOS and Linux among many other platforms. Xcas is written in C++. Giac can be used directly inside software written in C++.
SymPy is an open-source Python library for symbolic computation. It provides computer algebra capabilities either as a standalone application, as a library to other applications, or live on the web as SymPy Live or SymPy Gamma. SymPy is simple to install and to inspect because it is written entirely in Python with few dependencies. This ease of access combined with a simple and extensible code base in a well known language make SymPy a computer algebra system with a relatively low barrier to entry.
Tensor software is a class of mathematical software designed for manipulation and calculation with tensors.
The Wolfram Language is a proprietary, general-purpose, very high-level multi-paradigm programming language developed by Wolfram Research. It emphasizes symbolic computation, functional programming, and rule-based programming and can employ arbitrary structures and data. It is the programming language of the mathematical symbolic computation program Mathematica.
The following tables compare notable software frameworks, libraries, and computer programs for deep learning applications.
{{cite book}}
: CS1 maint: multiple names: authors list (link){{cite book}}
: CS1 maint: multiple names: authors list (link)