Definitions

# Symbolic computation

Symbolic computation, algebraic computation, or, less commonly, symbolic manipulation, symbolic processing, symbolic mathematics, or symbolic algebra, relates to the use of machines, such as computers, to manipulate mathematical equations and expressions in symbolic form, as opposed to manipulating the approximations of specific numerical quantities represented by those symbols. Such a system might be used for symbolic integration or differentiation, substitution of one expression into another, simplification of an expression, etc.

It has uses in software testing under the title of symbolic execution where it can be used to analyse if and when errors in the code may occur. It can be used to predict what code statements do to specified inputs and outputs. It is also important for considering path traversal. It struggles when dealing with statements which are not purely mathematical.

Symbolic computations have been treated as one synonym as computer algebra, but they are different domains. Stephen Watt gave the definitions as:

• By “symbolic computation,” we mean computation with expression trees, or “terms,” representing mathematical objects.
• By “computer algebra,” we mean computations using the arithmetic from particular algebraic constructions.

Although it is almost as old as the computer algebra, symbolic computation is not well-developed as computer algebra, and very limited applications are available. With the same reason, symbolic computations are generally provided as a part of computer algebra systems, instead of separated software packages.