纯C中的符号计算库

是否存在编写纯C的符号计算库? 符号计算在象征forms的数学方程中的运用。

我知道有MathematicaSympy 。 但是,我有兴趣在一个符号计算库的高性能纯C实现中创建绑定到脚本语言,特别是Ruby启动。

似乎他们需要这样一个象征性的数学图书馆。 随着时间的推移,理想情况下,库可以构建为类似于libgit2的庄园,其中有一个项目的中央C实现,并且各种实现分支以创建与其他语言的绑定?

你看过GAP了吗? 从其网站:

GAP是计算离散代数的系统,特别强调计算组理论。 GAP提供了一种编程语言,一个包含数千种函数的库,这些函数实现了用GAP语言编写的代数算法以及代数对象的大型数据库。 另请参见概述和数学function的描述。 GAP用于研究和教学,用于研究群体及其表示,环,向量空间,代数,组合结构等。 系统(包括源)可以自由分发。 您可以研究并轻松修改或扩展它以供您特殊使用。

根据其Wikipedia页面 ,GAP以C语言实现,源代码可免费获得。

Mathomatic在C中实现,可能适合您的目的。

Mathomatic™是一种便携式命令行教育CAS和计算器软件,完全采用C编程语言编写。 它是免费的开源软件(FOSS),根据GNU宽通用公共许可证(LGPL版本2.1)发布,自1986年以来一直在不断发展。该软件可以同时象征性地解决,简化,组合和比较代数方程根据需要执行广义标准,复数,模数和多项式算术。 它做了一些微积分,很容易编译/安装,学习和使用。

从开发人员手册 :

Mathomatic源代码也可以编译为符号数学库,可以从任何C兼容程序调用,并且主要与操作系统无关。

请查看Axiom – 通用计算机代数系统。 你也可以使用Giac-Giac是一个免费的(GPL)C ++库,它是计算内核,它可以在其他C ++程序中使用。

http://www.axiom-developer.org/

http://www-fourier.ujf-grenoble.fr/~parisse/giac.html

您可以从Maxima开始并使用GCL将其从Common Lisp转换为C.

GCL是GNU项目的官方Common Lisp。 它的设计利用系统的C编译器编译为本机对象代码

肯定有保留中间C源文件的选项。

GCL目前在11个GNU / Linux架构(Windows,Sparc Solaris和FreeBSD)上编译自己和主要的免费软件Lisp应用程序,Maxima,ACL2和Axiom,以及11个GNU / Linux架构(x86 powerpc s390 sparc arm alpha ia64 hppa m68k mips mipsel)。