网络上有很多代数求解器和简化器(例如,algebra.com 上的一个不错的)。但是,我正在寻找可以作为更大项目的一部分插入 C# 的东西(我正在制作自己的计算器,但显然我会请求许可等)。
理想情况下,我会使用如下代码:
String s = MathLib.Simplify("5x*(500/x^2*(sqrt(3)/4)+1)+2x^2+(sqrt(3)/2)*x^2");
's' 将简化为:"1082.532/x+5*x+2.866*x^2"
(那里有 3dp 精度,但如果需要可以更改)。
求解特定变量也很好。我需要一些轻量级的东西,而且速度也很快(上面的计算最好在 5ms 左右,包括启动延迟)。
经过一些研究,像 Sage、Octave 或 Mathematica 这样的程序可能是矫枉过正(我的应用程序可能只是一个小于 200k 的小型 exe)。Dotnumerics.com 或 Mathdotnet.com 可能是合适的,但前者似乎没有提到代数简化,而后者缺乏文档和示例是一种关闭。我想知道是否还有任何合适的替代方案。可以在这里找到一个大列表: http ://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems