2

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

raise CoercionFailed("期望一个整数,得到 %s" % a) CoercionFailed: 期望一个整数,得到 x

cls 参数的目的是什么?我必须做什么才能使 cls=FF(8) 表示完整?

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

4

1 回答 1

2

这里有几个问题:

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

  • 因此,cls参数 ofsymbols将不起作用。这只是改变了用于创建符号的对象,因此它必须将字符串作为输入(默认为Symbol)。

  • SymPy 目前不支持有限域上的符号。你能得到的最好的选择是使用Poly带有modulus标志的对象。

  • FF目前仅支持素数的有限域。FF(8)实际上已经创建了环 Z_8,而不是具有 8 个元素的有限域。

  • 您可能知道这一点,但^不会在 SymPy/Python 中进行求幂。使用**.

于 2013-07-30T21:29:32.467 回答