Symbolic Computation Library in pure C

c++language-bindingmath

Does there exist a symbolic computation library written pure C? Symbolic computation as in manipulating mathematical equations in symbolic form.

I know there is Mathematica, and Sympy. But, I am interested in creating in a high performance pure C implementation of a symbolic computation library to bind to a scripting language, specifically Ruby to start.

It would seem that their is a need for a symbolic mathematics library such this. Over time, ideally the library could be built out in a similar manor to libgit2 where there is a central C implementation of the project and various implementations branched off for the purpose of creating bindings to other languages?

Best Solution

Mathomatic is implemented in C, and may suit your purposes.

Mathomatic™ is a portable, command-line, educational CAS and calculator software, written entirely in the C programming language. It is free and open source software (FOSS), published under the GNU Lesser General Public License (LGPL version 2.1), and has been under continual development since 1986. The software can symbolically solve, simplify, combine, and compare algebraic equations, simultaneously performing generalized standard, complex number, modular, and polynomial arithmetic, as needed. It does some calculus and is very easy to compile/install, learn, and use.

From the developer's manual:

The Mathomatic source code can also be compiled as a symbolic math library that is callable from any C compatible program and is mostly operating system independent.


Unfortunately, the author of this package has passed away, and the software is no longer being maintained. The latest version was archived in GitHub, and the links above have been updated.

Related Question