# Computer algebra system

A **computer algebra system (CAS)** is a software that facilitates symbolic mathematics. Typically, these systems include

- arbitrary precision (bignum) arithmetic, allowing for instance to evaluate pi to 10,000 digits.
- symbolic manipulation engine, to simplify algebraic expressions, differentiate and integrate functions and solve equations
- graphing facility, to produce graphs of functions, typically in two and three dimensions
- linear algebra subsystem, to allow matrix computations and solving of systems of linear equations
- high level programming language, allowing users to implement their own algorithms

The study of

algorithms useful for computer algebra systems is known as

**computer algebra**.

The run-time of *numerical* programs implemented in computer algebra systems is normally longer than that of equivalent programs implemented in systems such as MATLAB, GNU Octave or directly in C, because the computer algebra languages are often interpreted and the bignum system may cause overhead. (Note that MATLAB and Octave are interpreted also.)

Computer algebra systems began to appear in the early 1970s, and evolved out of research into

artificial intelligence (the fields are now regarded as largely separate). The first popular systems were Reduce, Derive and Macsyma which are still commercially available; a

copyleft version of Macsyma called

GNU Maxima is actively being maintained. The current market leaders are

Maple and

Mathematica; both are commonly used by research mathematicians. MuPAD is a commercial system which provides a free version (with slightly restricted user interface) for non-commercial research and educational usage. Some computer algebra systems focus on a specific area of application; these are typically developed in academia and free. Examples include:

## Mathematics relevant for CAS

Symbolic Integration, Gröbner Basis, Greatest common divisor, Polynomial Factorization

**See Also:** A sharp, 20-GATE

**External links:**