Computer algebra system
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, 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. The main ones are Axiom, Maxima, Magma, Maple, Mathematica and SageMath.
Q1639024
mathematical software
Concept
Q6498784
mathematical expressions
Concept
Q170790
mathematician
Concept
Q901
scientist
Concept
Q175515
computer algebra
Concept
Q175515
symbolic computation
Concept
Q8366
algorithm
Concept
Q246672
mathematical objects
Concept
Q43260
polynomial
Concept
Q12479
number theory
Concept
Q874429
group theory
Concept
Q3284266
elementary mathematics
Concept
Q47146
user interface
Concept
Q9143
programming language
Concept
Q183065
interpreter
Concept
None
simplifier
UNK
Q1668499
rewrite system
Concept
Q2308807
memory manager
Concept
Q322202
garbage collector
Concept
Q527381
arbitrary-precision arithmetic
Concept
Q8366
algorithm
Concept
Q867707
special functions
Concept
Q7226640
polynomial greatest common divisor
UNK
Q509474
Axiom
MEDIA
Q938304
Maxima
MEDIA
Q3032255
Magma
MEDIA
Q139380
Maple
MEDIA
Q81294
Mathematica
MEDIA
Q1165184
SageMath
MISC
Q830340
Computer algebra system
Concept
+20^^http://www.w3.org/2001/XMLSchema#decimal
20
NUMBER
subclass of
use
use
subclass of
subclass of