# About ViennaMath

ViennaMath is a free open-source implementation of a symbolic math kernel in C++. The library provides a unified interface for both run time and compile time 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.

A non-exhaustive list of features is as follows:

- Unified user API for runtime and compile time manipulations and evaluations
- Symbolic differentiation of arbitrary expressions
- Symbolic integration of polynomials
- LaTeX converter: Directly generates LaTeX code from ViennaMath expressions
- Multi-Platform support
- Header-Only library
- Permissive MIT/X11 license