39得票6回答
计算机代数系统介绍?

请问有没有任何与计算机代数系统的一般理论相关的资源(书籍,课程,讲义或任何东西),例如Mathematica,SymPy等? 我更喜欢“入门级”的材料,但我知道对于这样一个专业化的主题,任何东西都可能相当高级。

31得票3回答
有没有类似SymPy的Haskell库?

我需要操作像1 + sqrt(3)这样的表达式,并进行基本算术运算,如加法、减法和除法。我希望结果以某种规范形式呈现,以便可以将其用作映射中的键。将 1 + sqrt(3) 转换为 float 不可行,因为会出现舍入问题。 我在 Python 中使用了 SymPy 完成了这个任务。Haske...

19得票4回答
C#代数简化和求解库

网上有许多代数求解器和简化器(例如algebra.com上的不错的一个)。然而,我正在寻找可作为较大项目一部分插入到C#中的内容(我在制作自己的计算器,但显然我会征得允许等等)。 理想情况下,我将使用以下代码:String s = MathLib.Simplify("5x*(500/x^2*(...

18得票1回答
处理由sympy integrate返回的分段函数方程

在sympy中,我有一个积分公式,它返回一个Piecewise对象,例如:In [2]: from sympy.abc import x,y,z In [3]: test = exp(-x**2/z**2) In [4]: itest = integrate(test,(x,0,oo)) ...

18得票1回答
精确的大有限域线性代数库(例如GF(2 ^ 128)/ GF(2 ^ 256))

通用 我正在寻找一种能够在大的有限域(如GF(2128)/2128和GF(2256)/2256)上进行精确计算的库。下面列出了我需要的功能以及希望有的功能。显然,该库应尽可能快。由于我不是C++专家(而且可能大多数库都是C++的),因此需要示例代码,例如生成随机元素/常量并将其与它的乘法逆元...

15得票3回答
Clojure的计算机代数

简化版: 我想找一些Clojure代码,让我可以指定对x的变换(如排列、旋转),以使函数f(x)的值在变换下保持不变,这样我就可以高效地生成一系列满足r = f(x)的x序列。在Clojure中是否有计算机代数方面的进展? 以下是(一个微不足道的)示例。(defn #^{:domain #{3...

14得票3回答
构建一个计算机代数系统

我正在用PHP创建一个CAS(计算机代数系统),但现在遇到了困难。我正在使用这个网站。 我已经编写了一个分词器,它可以将这样的方程转换成:1+2x-3*(4-5*(3x)) 变成这样:NUMBER PLUS_OPERATOR NUMBER VAR[X] MINUS_OPERATOR NUMB...

12得票2回答
Maxima:将矩阵转换为列表

我在Maxima中通过以下方式将列表转换为矩阵:DataL : [ [1,2], [2,4], [3,6], [4,8] ]; DataM: apply('matrix,DataL); 如何以另一种方式实现? 如何将给定的矩阵DataM转换为列表DataL?

12得票3回答
在sympy中进行多元泰勒逼近

我打算使用 sympy 写一个多元泰勒级数近似,同时: 尽可能使用内置代码 计算给定两个变量函数的截断泰勒级数近似 返回结果不带大O余项,例如 sin(x)=x - x**3/6 + O(x**4)。 这是我迄今为止尝试过的方法: 方法1 朴素地,我们可以对每个变量分别使用seri...

11得票2回答
SymPy:多项式中高阶项的删除

使用Sympy,假设我们有一个表达式f,它是符号"x"(和其他可能的符号)的多项式。 我想知道是否有一种有效的方法可以删除f中高于某个整数n阶的所有项。 作为一个特例,我有一个非常复杂的函数,但我只想保留x的二次项。有什么更有效的方法吗? 显然,不太有效的方法是对于每个小于n的m,取m阶...