Sympy符号和cls参数

时间:2013-07-30 07:22:30

标签: sympy symbolic-computation finite-field

我见过f = sympy.symbols('f',cls = Function)但没有任何文档。 Python不喜欢x = sympy.symbols('x',cls = FF(8)),它抱怨

提高CoercionFailed(“预期一个整数,得到%s”%a)CoercionFailed:预期一个整数,得到x

Whan是cls参数的目的,我必须做什么才能使cls = FF(8)意味着完整?

使用x = sympy.symbols('x',cls = FF(8))我希望x成为FF(8)字段中的符号,即x ^(2 ^ 8-1)必须给我1

1 个答案:

答案 0 :(得分:2)

这里有一些问题:

  • FF对象不允许使用符号。它仅适用于精确的数字输入,例如FF(3)(2)

  • 因此,cls的{​​{1}}参数将无效。这只是改变了用于创建符号的对象,因此它必须将字符串作为输入(默认为symbols)。

  • SymPy目前不支持有限字段上的符号。您可以获得的最佳选择是使用带有Symbol标记的Poly对象。

  • modulus目前仅支持主要基数的有限字段。 FF实际上创建了环Z_8,而不是有8个元素的有限域。

  • 您可能知道这一点,但FF(8)不会在SymPy / Python中进行取幂。使用^