Computer Algebra System
A computer algebra system (CAS) is a computer program that helps people with mathematics and algebra. It manipulates mathematical equations and expressions containing numbers and symbols called variables, which stand for known or unknown values that can be solved for, or replaced with any value. A CAS might be used for symbolic integration or differentiation (and other calculus operations), simplification of an expression (making it smaller and/or simpler), optimizing and finding minimums and maximums, etc.
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 (like the free CAS Maxima, 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.
Modern computer algebra systems often include extensive numeric capabilities for convenience and which fit together with its symbolic abilities. Numeric domains supported typically 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.