Computer algebra system

Short description: Mathematical software

"Symbolic algebra" redirects here. For the algebra of logic, see Symbolical algebra.

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.

Computer algebra systems may be divided into two classes: specialized and general-purpose. The specialized ones are devoted to a specific part of mathematics, such as number theory, group theory, or teaching of elementary mathematics.

General-purpose computer algebra systems aim to be useful to a user working in any scientific field that requires manipulation of mathematical expressions. To be useful, a general-purpose computer algebra system must include various features such as:

* a user interface allowing a user to enter and display mathematical formulas, typically from a keyboard, menu selections, mouse or stylus.
* a programming language and an interpreter (the result of a computation commonly has an unpredictable form and an unpredictable size; therefore user intervention is frequently needed),
* a simplifier, which is a rewrite system for simplifying mathematics formulas,
* a memory manager, including a garbage collector, needed by the huge size of the intermediate data, which may appear during a computation,
* an arbitrary-precision arithmetic implementation, needed by the huge size of the integers that may occur,
* a large library of mathematical algorithms and special functions.

The library must not only provide for the needs of the users, but also the needs of the simplifier. For example, the computation of polynomial greatest common divisors is systematically used for the simplification of expressions involving fractions.

This large amount of required computer capabilities explains the small number of general-purpose computer algebra systems. Significant systems include Axiom, GAP, Maxima, Magma, Maple, Mathematica, SageMath, and SymPy.

## Contents

* 1 History
* 2 Symbolic manipulations
* 3 Additional capabilities
* 4 Types of expressions
* 5 Use in education
* 6 Mathematics used in computer algebra systems
* 7 See also
* 8 References
* 9 External links

## History

A Texas Instruments TI-Nspire calculator that contains a computer algebra system

In the 1950s, while computers were mainly used for numerical computations, there were some research projects into using them for symbolic manipulation. Computer algebra systems began to appear in the 1960s and evolved out of two quite different sources—the requirements of theoretical physicists and research into artificial intelligence.[1]

A prime example of the first development was the pioneering work conducted by the later Nobel Prize laureate in physics Martinus Veltman, who designed a program for symbolic mathematics, especially high-energy physics, called Schoonschip (Dutch for "clean ship") in 1963. Other early systems include FORMAC.[2]

Using Lisp as the programming basis, Carl Engelman created MATHLAB in 1964 at MITRE within an artificial-intelligence research environment.[3] MATHLAB was later made available to users on PDP-6 and PDP-10 systems running TOPS-10 or TENEX in universities. Today it can still be used on SIMH emulations of the PDP-10. MATHLAB ("mathematical laboratory") should not be confused with MATLAB ("matrix laboratory"), which is a system for numerical computation built 15 years later at the University of New Mexico.[4]

In 1987, Hewlett-Packard introduced the first hand-held calculator CAS with the HP-28 series.[5] Other early handheld calculators with symbolic algebra capabilities included the Texas Instruments TI-89 series and TI-92 calculator, and the Casio CFX-9970G.[6]

The first popular computer algebra systems were muMATH, Reduce, Derive (based on muMATH), and Macsyma; a copyleft version of Macsyma is called Maxima. Reduce became free software in 2008.[7] Commercial systems include Mathematica[8] and Maple, which are commonly used by research mathematicians, scientists, and engineers. Freely available alternatives include SageMath (which can act as a front-end to several other free and nonfree CAS). Other significant systems include Axiom, GAP, Maxima and Magma.

The movement to web-based applications in the early 2000s saw the release of WolframAlpha, an online search engine and CAS which includes the capabilities of Mathematica.[9]

More recently, computer algebra systems have been implemented using artificial neural networks.[10]

## Symbolic manipulations

This section is in list format, but may read better as prose. You can help by converting this section, if appropriate. Editing help is available. (July 2026)

|

The symbolic manipulations supported typically include:

* simplification to a smaller expression or some standard form, including automatic simplification with assumptions and simplification with constraints
* substitution of symbols or numeric values for certain expressions
* change of form of expressions: expanding products and powers, partial and full factorization, rewriting as partial fractions, constraint satisfaction, rewriting trigonometric functions as exponentials, transforming logic expressions, etc.
* partial and total differentiation
* some indefinite and definite integration (see symbolic integration), including multidimensional integrals
* symbolic constrained and unconstrained global optimization
* solution of linear and some non-linear equations over various domains
* solution of some differential and difference equations
* taking some limits
* integral transforms
* series operations such as expansion, summation and products
* matrix operations including products, inverses, etc.
* statistical computation
* theorem proving and verification which is very useful in the area of experimental mathematics
* optimized code generation

In the above, the word some indicates that the operation cannot always be performed.

## Additional capabilities

Many also include:

* a programming language, allowing users to implement their own algorithms
* arbitrary-precision numeric operations
* exact integer arithmetic and number theory functionality
* Editing of mathematical expressions in two-dimensional form
* plotting graphs and parametric plots of functions in two and three dimensions, and animating them
* drawing charts and diagrams
* APIs for linking it on an external program such as a database, or using in a programming language to use the computer algebra system
* string manipulation such as matching and searching
* add-ons for use in applied mathematics such as physics, bioinformatics, computational chemistry and packages for physical computation[11]
* solvers for differential equations[12][13][14][15]
* pretty-printing output to conform to standard mathematical notation conventions

Some include:

* graphic production and editing such as computer-generated imagery and signal processing as image processing
* sound synthesis

Some computer algebra systems focus on specialized disciplines; these are typically developed in academia and are free. They can be inefficient for numeric operations as compared to numeric systems.

## Types of expressions

The expressions manipulated by a CAS typically include multivariable polynomials; standard functions of expressions (sine, exponential, etc.); various special functions (Γ, ζ, erf, Bessel functions, etc.); arbitrary functions of expressions; optimization; derivatives, integrals, simplifications, sums, and products of expressions; truncated series with expressions as coefficients, matrices of expressions, and so on.[16][17] Numeric domains supported typically include floating-point representation of real numbers, integers (of unbounded size), complex (floating-point representation), interval representation of reals, rational number (exact representation) and algebraic numbers.

## Use in education

There have been many advocates for increasing the use of computer algebra systems in primary and secondary-school classrooms. The primary reason for such advocacy is that computer algebra systems represent real-world math more than do paper-and-pencil or hand calculator based mathematics.[18] This push for increasing computer usage in mathematics classrooms has been supported by some boards of education. It has even been mandated in the curriculum of some regions.[19]

Computer algebra systems have been extensively used in higher education.[20][21] Many universities offer either specific courses on developing their use, or they implicitly expect students to use them for their course work. The companies that develop computer algebra systems have pushed to increase their prevalence among university and college programs.[22][23]

CAS-equipped calculators are not permitted on the ACT, the PLAN, the SAT, and in some classrooms[24][25] though it may be permitted on College Board's calculator-permitted AP tests, including the AP Calculus, Chemistry, Physics, and Statistics exams.[25]

## Mathematics used in computer algebra systems

* Knuth–Bendix completion algorithm[26]
* Root-finding algorithms[26]
* Symbolic integration via e.g. Risch algorithm or Risch–Norman algorithm
* Hypergeometric summation via e.g. Gosper's algorithm
* Limit computation via e.g. Gruntz's algorithm
* Polynomial factorization via e.g., over finite fields,[27] Berlekamp's algorithm or Cantor–Zassenhaus algorithm.
* Greatest common divisor via e.g. Euclidean algorithm
* Gaussian elimination[28]
* Gröbner basis via e.g. Buchberger's algorithm; generalization of Euclidean algorithm and Gaussian elimination
* Padé approximant
* Schwartz–Zippel lemma and testing polynomial identities
* Chinese remainder theorem
* Diophantine equations
* Landau's algorithm (nested radicals)
* Derivatives of elementary functions and special functions. (e.g. See derivatives of the incomplete gamma function.)
* Cylindrical algebraic decomposition
* Quantifier elimination over real numbers via cylindrical algebraic decomposition

## See also

* List of computer algebra systems
* Scientific computation
* Statistical package
* Automated theorem proving
* Algebraic modeling language
* Constraint-logic programming
* Satisfiability modulo theories

## References

1. ↑ van Hulzen, J. A.; Calmet, J. (1983). "Computer Algebra Applications". in Buchberger, B.; Collins, G. E.; Loos, R.. Computer Algebra: Symbolic and Algebraic Computation (2nd ed.). Springer-Verlag. pp. 221–243. ISBN 978-3-7091-3406-1. "The roots of computer algebra systems go back to the 1960s, emerging primarily from three groups: theoretical physicists (developing systems like SCHOONSCHIP for high-energy physics), artificial intelligence researchers (creating systems like MATHLAB and MACSYMA at MIT), and mathematicians."
2. ↑ Sammet, Jean E. (August 1983). "The-early history of FORTRAN FORMAC". ACM SIGPLAN Notices 18 (8): 151–161. doi:10.1145/948176.948190. "FORMAC was designed and implemented by IBM in the early 1960s as an extension of FORTRAN, becoming one of the first significant and widely used systems for performing symbolic algebraic manipulation.".
3. ↑ Petrick, Stanley R., ed (23–25 March 1971). "SYMSAC '71: Proceedings of the Second ACM Symposium on Symbolic and Algebraic Manipulation". Los Angeles, California, United States of America: Association for Computing Machinery. pp. 29-41. doi:10.1145/800181.810339. ISBN 9781450377867.
4. ↑ Chonacky, N.; Winch, D. (2005). "Reviews of Maple, Mathematica, and Matlab: Coming Soon to a Publication Near You". Computing in Science & Engineering. 7 (2). Institute of Electrical and Electronics Engineers (IEEE): 9–10. Bibcode:2005CSE.....7b...9C. doi:10.1109/mcse.2005.39. ISSN 1521-9615. S2CID 29660034.
5. ↑ Nelson, Richard. "Hewlett-Packard Calculator Firsts". Hewlett-Packard. http://h20331.www2.hp.com/Hpsub/cache/392617-0-0-225-121.html.
6. ↑ Coons, Albert (1999). "Getting Started with Symbolic Mathematics Systems: A Productivity Tool". The Mathematics Teacher 92 (7): 620–622. doi:10.5951/mt.92.7.0620.
7. ↑ "REDUCE Computer Algebra System at SourceForge". http://reduce-algebra.sourceforge.net.
8. ↑ Interview with Gaston Gonnet, co-creator of Maple , SIAM History of Numerical Analysis and Computing, 16 March 2005.
9. ↑ Bhattacharya, Jyotirmoy (12 May 2022). "Wolfram|Alpha: a free online computer algebra system" (in en-IN). The Hindu. ISSN 0971-751X. https://www.thehindu.com/sci-tech/technology/wolframalpha-a-free-online-computer-algebra-system/article65401003.ece.
10. ↑ Ornes, Stephen (20 May 2020). "Symbolic Mathematics Finally Yields to Neural Networks" (in en). https://www.quantamagazine.org/symbolic-mathematics-finally-yields-to-neural-networks-20200520/.
11. ↑ Dana-Picard, Thierry Noah (2023). "Computer Assisted Proofs and Automated Methods in Mathematics Education". Electronic Proceedings in Theoretical Computer Science 375: 2–23. doi:10.4204/EPTCS.375.2.
12. ↑ "dsolve - Maple Programming Help". https://www.maplesoft.com/support/help/Maple/view.aspx?path=dsolve.
13. ↑ "DSolve – Wolfram Language Documentation". https://reference.wolfram.com/language/ref/DSolve.html.
14. ↑ "Basic Algebra and Calculus — Sage Tutorial v9.0". http://doc.sagemath.org/html/en/tutorial/tour_algebra.html.
15. ↑ "Symbolic algebra and Mathematics with Xcas". http://www-fourier.ujf-grenoble.fr/~parisse/giac/cascmd_en.pdf.
16. ↑ "Computer Algebra System - MATLAB & Simulink". MathWorks. https://www.mathworks.com/discovery/computer-algebra-system.html.
17. ↑ "Computer Algebra Systems - Comparative Analyses: Wolfram Mathematica". Wolfram. https://www.wolfram.com/mathematica/analysis/content/ComputerAlgebraSystems.html.
18. ↑ "Teaching kids real math with computers". 15 November 2010. https://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers?language=en.
19. ↑ "Mathematics – Manitoba Education". http://www.edu.gov.mb.ca/k12/cur/math/outcomes/.
20. ↑ "Mathematica for Faculty, Staff, and Students : Information Technology – Northwestern University". http://www.it.northwestern.edu/software/mathematica-fac/.
21. ↑ "Mathematica for Students – Columbia University Information Technology". https://cuit.columbia.edu/mathematica-students.
22. ↑ "Mathematica for Higher Education: Uses for University & College Courses". https://www.wolfram.com/solutions/education/higher-education/uses-for-education.html.
23. ↑ "MathWorks – Academia – MATLAB & Simulink". http://www.mathworks.com/academia/.
24. ↑ "ACT CAAP | Use of Calculators on the CAAP Mathematics Test | ACT". Archived from the original on 31 August 2009. https://web.archive.org/web/20090831032437/http://www.act.org/caap/sample/calc.html. Retrieved 1 December 2025.
25. ↑ 25.0 25.1 "AP Exams Calculator Policy". College Board. https://apstudents.collegeboard.org/exam-policies-guidelines/calculator-policies.
26. ↑ 26.0 26.1 B. Buchberger; G.E. Collins; R. Loos (29 June 2013). Computer Algebra: Symbolic and Algebraic Computation. Springer Science & Business Media. ISBN 978-3-7091-3406-1. https://books.google.com/books?id=yUmqCAAAQBAJ&q="algorithm".
27. ↑ Joachim von zur Gathen; Jürgen Gerhard (25 April 2013). Modern Computer Algebra. Cambridge University Press. ISBN 978-1-107-03903-2. https://books.google.com/books?id=7fE9baKyqSEC&q="polynomial+factorization"+"finite+field".
28. ↑ Keith O. Geddes; Stephen R. Czapor; George Labahn (30 June 2007). Algorithms for Computer Algebra. Springer Science & Business Media. ISBN 978-0-585-33247-5. https://books.google.com/books?id=9fOUwkkRxT4C.

## External links

* Curriculum and Assessment in an Age of Computer Algebra Systems – From the Education Resources Information Center Clearinghouse for Science, Mathematics, and Environmental Education, Columbus, Ohio.
* Richard J. Fateman. "Essays in algebraic simplification." Technical report MIT-LCS-TR-095, 1972. (Of historical interest in showing the direction of research in computer algebra. At the MIT LCS website: [1])

* v
* t
* e

Computer algebra systems

Open-source|

* Axiom
* Cadabra
* CoCoA
* Erable
* Fermat
* FriCAS
* FORM
* GAP
* GiNaC
* Macaulay2
* Maxima
* Normaliz
* PARI/GP
* Reduce
* SageMath
* Singular
* SymPy
* Xcas/Giac
* Yacas

Proprietary|

* ClassPad Manager
* KANT
* Magma
* Maple
* Mathcad
* Mathematica
* muPAD (MATLAB symbolic math toolbox)
* SMath Studio
* TI InterActive!

Discontinued|

* CAMAL
* Derive
* LiveMath
* Macsyma
* Mathomatic
* muMATH

* Category
* List

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Computer algebra system. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Computer_algebra_system&oldid=4561788"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template