# Computer Algebra System

A computer algebra system (CAS) is a large computer program that helps people with mathematics and algebra. It changes and moves around (manipulates) mathematical equations and expressions containing numbers and symbols called variables. Variables can stand for known or unknown values that can be solved for, or can be replaced with any value. It always keeps the formula exactly the same mathematically as the original equation or expression, unless it is being transformed, by a transformation algorithm.

A CAS might be used for integration or differentiation (and other calculus transformations), simplification of an expression (making it smaller and/or simpler), optimizing and finding the minimum and maximum values of results or variables, etc. Most have the ability to plot functions and expressions for visualization, which can be helpful and educational too.

## Symbolic capabilities

Computer algebra systems can be special purpose, focusing on only a few types of symbolic math, to very large, general purpose programs that do almost everything (for example, the free CAS Maxima,[1] which is the oldest CAS that is still under development). The results output by a good computer algebra system are often exact, simple, and generalized to work in all possible cases. Computer programs do have bugs, so important results should always be verified for correctness.

## Numeric capabilities

Modern computer algebra systems often include extensive numeric capabilities for convenience and which fit together with its symbolic abilities. Numeric domains supported often include real, complex, interval, rational, and algebraic numbers.

Usually floating point arithmetic is available to use if desired, because the arithmetic is done by most computer hardware very quickly. The down-side of floating point arithmetic is that it is not always exact, and is mostly useless for rocket science, because of only 14 decimal digits of accuracy (with double precision floats), and because of a growing round-off error with each calculation, sometimes even less digits are accurate.[2] Rational number arithmetic is exact if all numbers are rational. Interval arithmetic can be used to easily calculate the total possible error of an inexact arithmetic system. Complex number arithmetic is generally supported by allowing the imaginary unit (${\displaystyle i}$) in expressions and following all of its algebraic rules.