我对python相当陌生,我有这个挑战要完成,但我不知道如何处理这个问题,以下是一些问题:
用GF(2^4)编写一个简单的四功能计算器.您可以对乘法逆使用表查找。
和
在GF(28)中编写一个简单的四功能计算器.你应该在飞行中计算乘法逆。
我需要技巧,如果可能的话,这个挑战的解决方案,谢谢。
发布于 2022-04-15 02:26:19
我是伽罗瓦 Python3包的作者。它将NumPy数组扩展到在Galois字段上操作。可以同时使用查找表和显式计算。
如果你只是想完成任务,下面的例子就可以了。但是,如果您想了解如何自己实现算法,那么代码在GitHub上是开源的,所以您可以查看确切的实现。例如,这里是用于代码的GF(2^m)中的Galois字段算法。
此外,我还有两个关于Galois字段工作方式的教程--一个是关于素域的,一个是关于扩展字段的。你可能会发现它们很有帮助。
>>> import galois
>>> galois.__version__
'0.0.26'
>>> GF = galois.GF(2**4)
>>> print(GF)
Galois Field:
name: GF(2^4)
characteristic: 2
degree: 4
order: 16
irreducible_poly: x^4 + x + 1
is_primitive_poly: True
primitive_element: x
>>> x = GF.Random(10); x
GF([ 1, 12, 13, 12, 11, 10, 11, 2, 3, 1], order=2^4)
>>> y = GF.Random(10, low=1); y
GF([14, 5, 2, 2, 8, 4, 14, 7, 5, 13], order=2^4)
>>> x + y
GF([15, 9, 15, 14, 3, 14, 5, 5, 6, 12], order=2^4)
>>> x - y
GF([15, 9, 15, 14, 3, 14, 5, 5, 6, 12], order=2^4)
>>> x * y
GF([14, 9, 9, 11, 7, 14, 8, 14, 15, 13], order=2^4)
>>> x / y
GF([ 3, 13, 15, 6, 3, 11, 14, 12, 14, 4], order=2^4)https://stackoverflow.com/questions/71879317
复制相似问题