Yacas

http://yacas.sourceforge.net/

YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions.

It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations.

The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library.

YACAS comes with extensive documentation (320+ pages) covering the scripting language, the functionality that is already implemented in the system, and the algorithms we used.