In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation is a scientific area that refers to the study and development of algorithms and software for manipulating expression (mathematics)|mathematical expressions and other mathematical objects. Although, properly speaking, computer algebra should be a subfield of scientific computing, they are generally considered as a distinct field because scientific computing is usually based on numerical computation with approximate floating point numbers, while computer algebra emphasizes on exact computation with expressions containing variable (mathematics)|variables that have not any given value and are thus manipulated as symbols (therefore the name of symbolic computation).
Software applications that perform symbolic calculations are called computer algebra systems, with the term system alluding to the complexity of the main applications that include, at least, a method to represent mathematical data in a computer, a user programming language (usually different of the language used for the implementation), a dedicated memory manager, a user interface for the input/output of mathematical expressions, a large set of function (computer science)|routines to perform usual operations, like simplification of expressions, differentiation (mathematics)|differentiation using chain rule, polynomial factorization, indefinite integration, ...
At the beginning of computer algebra, circa 1970, when the long-known algorithms were first put on computers, they turned out to be highly inefficient. Therefore, a large part of the work of the searchers in the field consisted in revisiting classical algebra in order to make it Computable function|effective and to discover algorithmic efficiency|efficient algorithms to implement this effectiveness. A typical example of this kind of work is the computation of polynomial greatest common divisors, which is required to simplify fractions. Almost everything in that article, that is behind the classical Euclid's algorithm, has been introduced for the need of computer algebra.
Computer algebra is widely used to experiment in mathematics and to design the formulas that are used in numerical programs. It is also used for complete scientific computations, when purely numerical methods fail, like in public key cryptography or for some non-linear problems.

In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation is a scientific area that refers to the study and development of algorithms and software for manipulating expression (mathematics)|mathematical expressions and other mathematical objects. Although, properly speaking, computer algebra should be a subfield of scientific computing, they are generally considered as a distinct field because scientific computing is usually based on numerical computation with approximate floating point numbers, while computer algebra emphasizes on exact computation with expressions containing variable (mathematics)|variables that have not any given value and are thus manipulated as symbols (therefore the name of symbolic computation).
Software applications that perform symbolic calculations are called computer algebra systems, with the term system alluding to the complexity of the main applications that include, at least, a method to represent...