我见过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
答案 0 :(得分:2)
这里有一些问题:
FF
对象不允许使用符号。它仅适用于精确的数字输入,例如FF(3)(2)
。
因此,cls
的{{1}}参数将无效。这只是改变了用于创建符号的对象,因此它必须将字符串作为输入(默认为symbols
)。
SymPy目前不支持有限字段上的符号。您可以获得的最佳选择是使用带有Symbol
标记的Poly
对象。
modulus
目前仅支持主要基数的有限字段。 FF
实际上创建了环Z_8,而不是有8个元素的有限域。
您可能知道这一点,但FF(8)
不会在SymPy / Python中进行取幂。使用^
。