A symbolic math library written in C++
ViennaMath is a free open-source implementation of a symbolic math kernel in C++. The library provides a unified interface for both runtime and compiletime expression manipulation and evaluation. Unlike other symbolic math libraries, which aim at algebraic investigations such as the computation of Groebner bases, the primary focus of ViennaMath is to raise the level of abstraction in numerical algorithms such as implementations of the finite element method.
More information can be found at http://viennamath.sourceforge.net/