A computer algebra system (CAS) is a software program that allows computation over mathematical expressions in a way which is 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 in two classes: the specialized ones and the general purpose ones. 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.