用于仿射k-代数计算的库?

gat*_*ado 6 haskell polynomial-math computer-algebra-systems

我正在寻找一个库或计算机代数系统,它将帮助计算环中多项式的运算

F_2[x_1, ..., x_n] / <f^2 - f>
Run Code Online (Sandbox Code Playgroud)

其中F_2是2-元素的有限域,并且<f^2 - f>是从元件所产生的理想f^2 - f对所有fF_2[...].(我认为/希望/我很确定这是使用xor作为+和*[ 维基百科 ] 的布尔代数环).

例如,

x_1 = poly_xn 1
x_2 = poly_xn 2
x_1 * x_2 * x_1 -- returns "x_1 * x_2"
x_1 + x_1 + x_2 -- returns "x_2"
Run Code Online (Sandbox Code Playgroud)

我已经在Haskell中为此编写了代码,但不幸的是性能不是很好.

注意:标题"仿射k-代数"来自艾森伯德的交换代数,其中包含代数几何的观点.35; 如果有更好的名字请编辑问题,谢谢!

ex0*_*du5 2

多年来我在这个领域做了很多工作,并发现自己使用 Sage 作为我的首选系统 [http://www.sagemath.org/]。它非常高效,并且具有用于方案和其他代数结构的自然语言。我使用过并喜欢的其他工具是 OpenAxiom 和 Magma。我倾向于避免使用 MathCad 和 Mathematica,因为它们的解析器往往会产生大量开销,并且会提供大量与其接口相关的臃肿内容,而这些接口与解决计算无关。

支持仿射方案的示例可以参见http://www.sagemath.org/doc/reference/sage/schemes/generic/affine_space.html?highlight=affine#sage.schemes.generic.affine_space