List of computer algebra systems

Last updated

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]

Contents

General

SystemCreatorDevelopment startedFirst public releaseLatest stable versionLatest stable release dateCost (USD)LicenseNotes
Axiom Richard Jenks19771993 and 2002 [7] August 2014 [8] Freemodified BSD license General purpose CAS. Continuous Release using Docker Containers
Cadabra Kasper Peeters200120072.4.025 August 2022Free GNU GPL CAS for tensor field theory
CoCoA John Abbott, Anna M. Bigatti, Giovanni Lagorio198719955.2.02 May 2017Free GNU GPL Specialized CAS for commutative algebra
Derive Soft Warehouse197919886.1November 2007Discontinued Proprietary CAS designed for DOS and Windows microcomputers; it was discontinued in 2007
Erable (aka ALGB) Bernard Parisse  [ fr ], Mika Heiskanen, Claude-Nicolas Fiechter199319934.2006091921 April 2009Free LGPL CAS designed for Hewlett-Packard scientific graphing calculators of the HP 48/49/40/50 series; discontinued in 2009
Fermat Robert H. Lewis198619936.521 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. Vermaseren198419894.3.111 April 2023 [9] Free GNU GPL CAS designed mainly for particle physics
FriCAS Waldek Hebisch200720071.3.109 January 2024Freemodified BSD license Full-featured general purpose CAS. Especially strong at symbolic integration.
GAP GAP Group198619864.12.218 December 2022Free GNU GPL [10] Specialized CAS for group theory and combinatorics.
GeoGebra CAS Markus Hohenwarter et al.20136.0.753.03 January 2023Free for non-commercial use [11] Freeware [11] Web-based or Desktop CAS Calculator
GiNaC Christian Bauer, Alexander Frink, Richard B. Kreckel, et al.199919991.8.323 March 2022Free GNU GPL Integrate symbolic computation into C++ programs; no high-level interface, but emphasis on interoperability.
GNU Octave John W. Eaton199319947.3.02022Free GPLv3+ A high-level programming language for scientific computing and numerical computation mostly compatible with MATLAB
KANT/KASH KANT Group??32005/2008Free for non-commercial useown licenseSpecialized CAS for algebraic number theory
LiveMathMathMonkeys, LLC199119933.62018$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 199219941.142019Free GNU GPL Specialized CAS for algebraic geometry and commutative algebra
Macsyma MIT Project MAC and Symbolics 196819782.41999$500 Proprietary The oldest general purpose CAS. Still alive as Maxima.
Magma University of Sydney ~199019932.27-822 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 Cooperative199419972005Free 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] 19842023 (9 March 2023;10 months ago (2023-03-09)) [±] [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 1985198515.0 M04527 February 2021$1,600 (Commercial), $105 (Student), Free (Express Edition) [16] Proprietary Numerical software with some CAS capabilities
Mathematica Wolfram Research 1986198814.0.0 (January 9, 2024;3 days ago (2024-01-09)) [±] [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
MathicsJan Pöschko201620166.0.15 March 2023Free GPL3 Uses Mathematica syntax.
Mathomatic George Gesslein II1986198716.0.52012Discontinued LGPL Elementary algebra, calculus, complex number and polynomial manipulations.
Maxima MIT Project MAC and Bill Schelter et al.196719985.46.0 [21] 13 April 2022Free GNU GPL General purpose CAS. Continuation of Macsyma; new releases occur approximately two times per year.
MuMATH Soft Warehouse1970s1980MuMATH-83Discontinued Proprietary Predecessor of Derive
MuPAD SciFace Software198920085.12008Discontinued Proprietary MathWorks has incorporated MuPAD technology into Symbolic Math Toolbox
OpenAxiom Gabriel Dos Reis200720071.4.22013Freemodified BSD license General purpose CAS. A fork of Axiom.
PARI/GP Henri Cohen, Karim Belabas, Bill Allombert et al.198519902.11.417 April 2020Free GNU GPL Specialized CAS for number theory.
Reduce Anthony C. Hearn 1960s19682018Freemodified BSD license Historically important general purpose CAS. Still alive, as open-sourced and freed in December 2008
SageMath William A. Stein 200520059.811 February 2023 [22] Free GNU GPL Mathematics software system combining a number of existing packages, including numerical computation, statistics and image processing
Scilab Scilab Enterprises199019902023.010 March 2023Free CeCILL (GPL-compatible) until version 5.5.2 GPL v2.0 since version 6.0.2Matlab alternative.
SICMUtils Colin Smith, Sam Ritchie201420160.13.09 November 2020Free GNU GPL Clojure and Clojurescript computer algebra system optimized for classical mechanics and differential geometry investigations.
SINGULAR University of Kaiserslautern 198419974-3-014 January 2022Free 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 Ivashov200420061.0.83489 November 2022Free Proprietary Mathematical notebook program similar to Mathcad.
Symbolic Manipulation Program Stephen Wolfram 1979 [23] 19811988Discontinued 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 198920089.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 Rackauckas20212021v5.3.125 April 2023Free MIT License A fast and modern Computer Algebra System for the Julia programming language. [25]
SymPy Ondřej Čertík200620071.1210 May 2023Freemodified BSD license Python-based
TI-Nspire CAS (Computer Software) Texas Instruments 200620095.1.32020 Proprietary Successor to Derive. Based on Derive's engine used in TI-89/Voyage 200 and TI-Nspire handheld
Wolfram Alpha Wolfram Research 20092013Pro 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 ]200020001.5.0-8512 December 2019Free 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] 19991.9.14 July 2020Free GNU GPL
CreatorDevelopment startedFirst public releaseLatest stable versionLatest stable release dateCost (USD)LicenseNotes

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 NoYesYesYesYesYesYesYesYesNoYesYesYesYesYesNoYes Axiom
Cadabra NoYesYesYesYesYesNoYesNoNoNoNoNoYesNoNoYes Cadabra
FriCAS YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesNoYes FriCAS
GAP NoYesNoNoYesYesYesNoYesYesYesYesYesYesNoNoYes GAP
Magma NoYesNoNoYesNoYesNoNoYesYesNoNoNo??Yes Magma
Magnus NoYesNoNoNoNoNoNoNo??No?NoNoNoYes Magnus
Maple YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes Maple
Mathcad YesNoYesNoYesNoNoNoNoNoNoNoNoNoNoNoNo Mathcad
Mathematica YesYesYesYesYesYesYesYesYesYesYesYesYesYes [28] YesYesYes Mathematica
MathicsNoYes [A] Yes [A] Yes [A] Yes [A] Yes [A] Yes [A] Yes [A] Yes [A] Yes [29] YesNoYesYesYesNoYesMathics
Mathomatic NoNoYesYesYesNoNoNoNoNoYesNoNoNoNoNoNo Mathomatic
Maxima NoYesYesYesYesYesNoYesYesYesYesNoYesYesYesYesYes Maxima
Reduce NoYesYes?YesYes?Yes??YesYesYesYes??? Reduce
SageMath NoYesYesYesYesYesYes [A] YesYesYesYesYes [B] YesYesYesNoYes SageMath
SICMUtils NoYesYesNoYesNoNoYesNoNoNoNoYesYesNoNoNo SICMUtils
SMath Studio YesNoYesNoYesNoNoNoNoNoNoNoNoNoNoNoNo SMath Studio
Symbolic Math Toolbox (MATLAB)YesYesYesYesYesYesYesYesNoYesYesNoYesNoYesYesNoSymbolic Math Toolbox (MATLAB)
SymPy NoYesYesYesYesYesYes [30] YesYesNoYesNoYesYesYesNoYes SymPy
Wolfram Alpha YesYesYesYesYesYesYesYesYesYesYesYesYesNo??Yes Wolfram Alpha
Xcas/Giac YesYesYesNoYesYesNoYesYesNoYesNoNoNoYes?? Xcas/Giac
Yacas NoYesYesNoYesNoNoNoNoNoNoNoNoNo??No Yacas
  1. ^ via SymPy
  2. ^ via qepcad optional package

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 ?EmulatorYesYesNoNo??No
Cadabra NoYesYesYesYesNoNoNoNo
CoCoA NoYesYesYesYesYes??No Tru64 UNIX, HP-UX, IRIX
Derive YesYesNoNoNoNo??No
Erable NoEmulatorEmulatorEmulatorNoNoNoNoNo System RPL on HP 48/49/50/40 series
Euler ?YesNoYesNoNo??No
Fermat ? Cygwin YesYesNoNo??No
FORM ? Cygwin YesYesYesYes??No
FriCAS ? Cygwin+nativeYesYesYesYesYes?No
GAP ?YesYesYesYesYes??No
KANT/KASH ?YesYesYesNoNo??No
Macaulay2 ? Cygwin YesYesYesYes??No
Magma ?YesYesYesYesYes??No
Magnus NoYes?Yes?YesNoNoNo SunOs
Maple NoYesYesYesNoNoNoNoNo
Mathcad YesYesNoNoNoNoNoNoNo
Mathematica YesYesYesYesNoNoNoNoYes Raspberry Pi [20]
MathicsNoYesYesYesYesNoNoNoNoAll POSIX platforms
Mathomatic YesYesYesYesYesYesNoYesNoAll POSIX platforms
Maxima ?YesYesYesYesYesYes?NoAll POSIX platforms with Common Lisp
MuMATH YesNoNoNoNoNo??No
OpenAxiom ?YesYesYesYesYes??No
PARI/GP ?YesYesYesYesYesYes?No
Reduce ?YesYesYesYesYesYesYesNo
SageMath NoYesYesYesNoYesNoYesYes
SICMUtils NoYesYesYesYesYesYesYesYesAny system that supports Clojure or Clojurescript
SINGULAR ?YesYesYesYesYes??No
SMath Studio NoYes Mono Mono Mono Mono YesYesYes Universal Windows Platform
Symbolic Math Toolbox (MATLAB)NoYesYesYesNoNoNoNoYes
SymbolicC++ ?YesYesYesYesYes??No
SymPy ?YesYesYesYesYesYesYesYes [31] Any system that supports Python
TI-Nspire (desktop software)NoYesYesNoNoNoNoYesNo
Xcas/Giac NoYesYesYesYesYesYesYesNo HP Prime CAS, KhiCAS for TI Nspire
Yacas NoYesYesYesYesYes??No

Graphing calculators

Some graphing calculators have CAS features.

SystemCreatorDevelopment startedFirst public release / OS versionLatest stable version / OS versionNotes
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. 200220033.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 19931.??(1999) / 42.15 (2006-09-19, 2009-04-21) / 4Based 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 200020132.1.14433 (2020 01 21) CAS ver. 1.5.0Based on Xcas/Giac. Source code openly available.
TI-89 Texas Instruments 199519962.09
TI-89 Titanium Texas Instruments 200320047/18/2005 v3.10
TI-92 Texas Instruments 19941995?
TI-92 Plus Texas Instruments 199719983/27/2003 v2.09
TI-Nspire CAS, TI-Nspire CX CAS, TI-Nspire CX II CAS Texas Instruments 200620082021 v4.5.5.79 (For TI-Nspire CX CAS), 2022 v5.4.0.259 (For TI-Nspire CX II CAS)
Voyage 200 Texas Instruments 200120027/18/2005 v3.10

    See also

    Related Research Articles

    <span class="mw-page-title-main">Wolfram Mathematica</span> Computational software program

    Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow 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.

    <span class="mw-page-title-main">Maple (software)</span> Mathematical computing environment

    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.

    <span class="mw-page-title-main">Yacas</span> Computer algebra system

    Yacas is a general-purpose computer algebra system. The name is an acronym for Yet Another Computer Algebra System.

    <span class="mw-page-title-main">LAPACK</span> Software library for numerical linear algebra

    LAPACK is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition. LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in version 3.2 (2008). The routines handle both real and complex matrices in both single and double precision. LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines.

    <span class="mw-page-title-main">SageMath</span> Computer algebra system

    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.

    <span class="mw-page-title-main">SymPy</span> Python library for symbolic computation

    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.

    <span class="mw-page-title-main">Wolfram Language</span> Programming language and environment developed by Wolfram Research

    The Wolfram Language is a proprietary, general 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 table compares notable software frameworks, libraries and computer programs for deep learning.

    <span class="mw-page-title-main">Notebook interface</span> Programming tool blending code and documents

    A notebook interface or computational notebook is a virtual notebook environment used for literate programming, a method of writing computer programs. Some notebooks are WYSIWYG environments including executable calculations embedded in formatted documents; others separate calculations and text into separate sections. Notebooks share some goals and features with spreadsheets and word processors but go beyond their limited data models.

    References

    1. "Computer Algebra Software". Special Interest Group on Symbolic and Algebraic Manipulation. Association for Computing Machinery. 2008-07-11. Retrieved 2012-11-16.
    2. "Systems and Packages". Computer Algebra Information Network. 1998-05-07. Retrieved 2012-11-17.
    3. "SAC Systems Listing". SymbolicNet. Archived from the original on 2012-04-15. Retrieved 2012-11-17.
    4. Aladjev, V.Z. (2004). Computer algebra systems : a new software toolbox for Maple. [S.l.]: Fultus Books. p. 9. ISBN   9781596820005.
    5. 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)
    6. 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)
    7. The first date is that of the first commercial release (to be checked), the second one is that of the first free license
    8. "Axiom Computer Algebra System" . Retrieved 2016-04-29.
    9. "Releases - vermaseren/form - GitHub". GitHub . Retrieved 2016-04-29.
    10. "GAP Copyright". 2012-06-14. Retrieved 2015-02-26.
    11. 1 2 "GeoGebra License" . Retrieved 15 July 2023.
    12. "LiveMath Store" . Retrieved 2020-02-25.
    13. 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.
    14. "Maplesoft Media Releases". www.maplesoft.com. Retrieved 2023-05-16.
    15. "Maplesoft Web Store" . Retrieved 2019-03-14.
    16. "PTC Web Store" . Retrieved 2015-02-01.
    17. "The Story Continues: Announcing Version 14 of Wolfram Language and Mathematica" . Retrieved 2024-01-09.
    18. Cohen, Peter (2009-02-05). "Mathematica Home Edition Released". Macworld . Retrieved 2014-07-03.
    19. "Wolfram Worldwide Web Store" . Retrieved 2008-11-20.
    20. 1 2 Kastrenakes, Jacob (2013-11-21). "Raspberry Pi now includes Mathematica and Wolfram Language for free". The Verge . Retrieved 2014-07-03.
    21. Maxima, a Computer Algebra System
    22. "SageMath – Open-Source Mathematical Software System" . Retrieved 2022-02-18.
    23. "Wolfram Announcements Archive » Computer Algebra Pioneer Wins Nobel Prize". Wolfram Archive. 1999-10-15. Retrieved 2021-01-19.
    24. Wolfram, Stephen (April 1985). "Symbolic Mathematical Computation" (PDF). Communications of the ACM. 28 (4): 390–394. doi:10.1145/3341.3347. S2CID   15577857.
    25. "JuliaSymbolics" . Retrieved 2022-06-16.
    26. "Xcas ARM" . Retrieved 2010-10-12.
    27. "Big changes ahead for Yacas" . Retrieved 2011-04-19.
    28. "Symbolic Tensors". Mathematica Documentation. Retrieved 2014-07-03.
    29. "What makes up Mathics?". Mathics's Developer Reference. Retrieved 2021-07-08.
    30. "SymPy release notes for 0.7.4". GitHub . Retrieved 2014-07-03.
    31. Through SymPy Gamma