问题 纯C中的符号计算库


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

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

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


11974
2017-07-30 03:44


起源

我不知道任何基于C的符号数学库。但是,在C ++中有很多它们,所以你总是可以在它们周围创建一个薄的C层。 - ipapadop
@ipapadop需要一个 纯粹的C. 实现...那说,你能指导我推广符号计算算法的资源吗? - rudolph9
“概括符号计算”呵呵 - 抓住任何更大的东西 数学教科书 并尝试提取数学规则并将它们放入数学表达式分析器中。 - Agnius Vasiliauskas


答案:


你看过了吗? 间隙?从其网站:

GAP是计算离散代数的系统,具体而言   强调计算群论。 GAP提供编程   语言,实现代数的数千个函数库   用GAP语言编写的算法以及大数据库   代数对象。另请参阅概述和说明   数学能力。 GAP用于研究和教学   学习小组及其代表,戒指,矢量空间,   代数,组合结构等。该系统包括   来源,自由发行。你可以学习并轻松修改或   扩展它以供您特殊使用。

根据它 维基百科页面,GAP是用C实现的,源代码是免费提供的。


5
2017-08-11 15:12



这里 是我发现的与GAP网站链接的计算机代数系统列表。 - rudolph9
Gap甚至有并行实现(ParGap建立MPI。 - rudolph9
该 包 GAP太棒了!这正是我一直在寻找的感谢!! - rudolph9
别客气! - Rod Carvalho


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

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

来自 开发人员手册

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


5
2017-08-10 09:57





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

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

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


4
2017-07-30 03:59



我投票给你了,这绝对是个好消息,但我正在寻找一个 纯粹的C. 实施,我不能接受你的答案...那么说,你能指导我推广符号计算算法的资源吗? - rudolph9


你可以先开始 千里马 并使用 保利协鑫 将它从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)。


2
2017-08-09 19:59