首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伽罗瓦场计算器GF(2^4) GF(2^8)

伽罗瓦场计算器GF(2^4) GF(2^8)
EN

Stack Overflow用户
提问于 2022-04-15 02:04:15
回答 1查看 527关注 0票数 1

我对python相当陌生,我有这个挑战要完成,但我不知道如何处理这个问题,以下是一些问题:

用GF(2^4)编写一个简单的四功能计算器.您可以对乘法逆使用表查找。

在GF(28)中编写一个简单的四功能计算器.你应该在飞行中计算乘法逆。

我需要技巧,如果可能的话,这个挑战的解决方案,谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-04-15 02:26:19

我是伽罗瓦 Python3包的作者。它将NumPy数组扩展到在Galois字段上操作。可以同时使用查找表和显式计算。

如果你只是想完成任务,下面的例子就可以了。但是,如果您想了解如何自己实现算法,那么代码在GitHub上是开源的,所以您可以查看确切的实现。例如,这里是用于代码GF(2^m)中的Galois字段算法。

此外,我还有两个关于Galois字段工作方式的教程--一个是关于素域的,一个是关于扩展字段的。你可能会发现它们很有帮助。

代码语言:javascript
复制
>>> 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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71879317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档