问题标签 [galois-field]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
120 浏览

python - Python——在类实例上使用正则表达式

我有一个类正在接收 1 和 0 的列表并执行 GF(2) 有限域算术运算。在我试图让它以多项式格式输入之前,它一直有效。至于在修复正则表达式问题后如何完成有限算术,我正在考虑重载运算符。

parsePolyToListInput(input)在课堂外时,实际的代码可以工作。问题似乎出在正则表达式中,它只会在字符串中出现错误(这是有道理的),但似乎没有使用 self.expr 作为参数进行初始化(这是一个问题)。初始化之前的@staticmethod 试图挽救未绑定的错误,因为它传入了多项式,但这显然是完全错误的。如果您决定查看任何算术运算,只是为了节省您的时间,模逆不起作用(似乎是由于函数中除法的 while 循环的每次迭代后的格式问题以及返回类型是什么) :

我通常用这个输入来测试它:

关于我的代码,您可能会注意到的第一件事是它不是很好。有两个原因:

1) 我写它是为了让第一个版本可以在有限域 GF(2) 中工作,并以多项式格式输出。然后下一个版本应该能够接受多项式输入,并且还执行关键的“模逆”功能,该功能没有按计划工作(这意味着它实际上根本没有工作)。

2) 我正在自学 Python(我实际上是在自学整体编程),因此欢迎来自专业 Python 程序员的任何建设性批评,因为我正试图尽快打破自己的初学者习惯。

编辑:

也许我一直在测试的更多代码将有助于阐明哪些有效,哪些无效:

0 投票
1 回答
5011 浏览

python - GF(2)有限域中的Python乘法逆

这两个函数执行扩展欧几里得算法,然后找到乘法逆。这个顺序似乎是正确的,但它并没有得到我所期望的结果,正如悉尼大学http://magma.maths.usyd.edu.au/calc/提供的这个工具一样,因为这是在 GF(2 ) 有限域,我想我错过了一些从基数 10 转换为该域的关键步骤。

这是在以 10 为底的情况下测试和工作的,但在这里可能无法采用具有二进制系数的多项式。所以我的问题是我错误地将 Python 的哪些部分应用于该算法,例如 // floor,这可能无法从函数在 base 10 中能够在 GF(2) 中执行此操作的能力中携带。

上面的工具可以这样测试:

功能:

我一直在用这样的多项式进行测试,但当然是二进制形式:

0 投票
2 回答
585 浏览

r - 带有 R 的伽罗瓦场 (GF)

R中是否有任何用于伽罗瓦域(GF)的包?我想用 GF 定义以下矩阵运算。

  • 1+1=0
  • 1+0=1
  • 0+1=1
  • 0+0=0

1+1显然,如果没有指定,R 就无法理解:

0 投票
3 回答
1361 浏览

c++ - 伽罗瓦域中不正确的乘法/除法 (2^8)

我正在尝试使用对数和指数表在 GF(2^8) 中实现乘法和除法。我使用 3 的指数作为生成器,使用来自此处的说明。

但是我失败了一些琐碎的测试用例。

例子:

前四行通过,但在第 5 行和第 6 行均失败。
经过进一步调查,我发现这些错误发生在“换行”时,即log3(a) + log3(b) > 255(乘法情况)或log3(a) - log3(b) < 0. 然而,该值是“修改”的,因此它们使用真实模数保持在 0~255 之间。

运算符/是使用/=上面的覆盖实现的,所以那里没有什么特别的事情发生。

我检查了生成的日志/exp 表是否正确。

我在这里想念什么?谢谢!

0 投票
1 回答
877 浏览

haskell - 在 GF(2) 中计算 rref 的算法?

我有一个matrix :: [[Int]]元素都是零或一。

如何rrefGF(2)中有效实施?

如果可以使用 LU 分解来计算GF(2) 中的rref(matrix),那么任何关于该算法的示例或详细说明都将不胜感激。

0 投票
0 回答
70 浏览

matlab - 关于创建伽罗瓦域

当我这样做时:

在 Workspace 中,它创建一个变量为:msg=<1x493 gf>

当我在变量编辑器中打开它时,它显示gf object: 1-by-65为 (1,1) 位置的第一个条目。

这是什么来头1-by-65?这是什么意思 ?

0 投票
1 回答
1129 浏览

matlab - 如何在 Matlab 中可视化伽罗瓦向量数组

我有这个数据(255x1 gf)。它是 FFT 处理的信号数据。我想形象化它。我没有找到任何转换回整数或双精度的函数,也没有找到任何用于伽罗瓦向量数组的绘图函数。

我发现您可以对提供数组的数据运行fftshift ,可能是数据。我跑

我明白了

如何将数组元素放入整数列表?我现在将值视为整数,但它们仍以gf格式保存在变量sami中。

如何在 Matlab 中绘制或可视化伽罗瓦向量?

0 投票
1 回答
695 浏览

matlab - Shifting indexes similar to fftshift in Matlab for own range

In this discussion, the result of fft is indices (0:N-1). fftshift simply converts that to [(N/2:N-1) (0:(N/2-1))].

I want to convert original range (O:N-1) to (t/N: t/N + 1), where t is time and assume integer and divisibel by N. I am using the Galois vectors as my datatype. Is this possible with built-in functions in Matlab? How can you achieve it in Matlab?

0 投票
1 回答
343 浏览

matlab - gfdiv 与 Matlab 中 Galois 字段的“\”有何不同?

我有两个变量YDataVectordiff,它们是(255 x 1 gf),它们是伽罗瓦向量。我需要在两个变量之间进行除法,例如实数

我发现还有命令gfdiv,它划分了伽罗瓦域的元素。

Matlab的伽罗瓦域中的\是哪种运算符?

那么我应该使用哪个除法运算符gfdiv\在我的情况下?

0 投票
1 回答
294 浏览

matlab - 在 Matlab 中与伽罗瓦场的离散积分有什么问题

我想在时间步长不恒定的 Matlab 中实现与 Galois 场的离散集成。假设它是这样的:

在此处输入图像描述

我的尝试

然后是函数 xtk

我对tk的数学级数方程x(tk)感到困惑。我知道我现在做错了。写作x(tk)只是让我感到困惑,因为我认为它是系列中的一个函数。我知道它在某个时间点是一个信号,这里是YDataVector,但是我忘记了如何实现它。我可能应该先迭代这个系列:

这似乎没有帮助,因为tk不是迭代定义的。

实施系列 x(tk) 时我在想什么?