Grz*_*cki 6 c++ math open-source discrete-mathematics computer-algebra-systems
我正在寻找C++开源库(或者只是开源的Unix工具):方程式上的等式测试.
方程式可以在运行时期间构建为AST树,字符串或其他格式.
方程式主要是简单的代数方程式,对未知函数有一些假设.域,将是整数算术(没有浮点问题,因为相关问题是众所周知的 - 感谢@hardmath强调它,我认为它是已知的).
示例:输入可能包含函数phi,有关于它的假设(大多数情况)phi(x,y)=phi(y,x)并尝试解决:
equality_test( phi( (a+1)*(a+1) , a+b ) = phi( b+a, a*a + 2a + 1 )
它可以是模糊的或任何相等的测试 - 我的意思是,它不必总是成功(即使方程式相等,它也可能返回"假").
如果支持关于phi函数的上述假设存在问题,我可以处理这个,所以也欢迎简单的线性代数方程等式测试器.
PS如果这样的equality_test可以(在成功的情况下)返回同构 - (我的意思是,一种"映射") - 在两个给定的方程之间,将非常受欢迎.但是,没有这种功能的工具也非常受欢迎.
PS通过"模糊测试器"我的意思是内部方程求解器在寻找两个函数的"同构"方面将是"模糊的",而不是在对随机输入的测试方面 - 我可以实现这一点,当然,但我尝试找到更精确的东西.
PPS还有另一个问题,为什么我需要更好的性能解决方案,而不是暴力"所有输入测试".上面的公式是我的内部问题的simplyfied形式,在这里我没有在方程的变量之间的映射.也就是说,我有eq1=phi( (a+1)*(a+1) , a+b )和eq2=phi( l+k, k*k + 2k + 1 ),和我必须找出a==k和b==l.但是这个子问题我可以用"暴力"方法处理(甚至这种方法的渐近复杂性),只有几个变量,让它为8.所以我需要为每个可能的映射做这个equation_test.如果有一个工具可以完成整个工作,我会非常感激,并且可以为这样的项目做出贡献.但我不需要这样的功能,只需通过equation_test()即可,我可以轻松处理休息.
把它们加起来:
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |