问题标签 [finite-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 回答
514 浏览

matlab - 在 MATLAB 中计算多项式 f(x) 模不可约多项式 h(x) 的幂

假设我有一个多项式 f(x)= a_0 + a_1*x + a_2*x^2 +...+ a_(n-1)*x^(n-1) 具有 F_q 的 a_i 个元素,q 素数。我如何计算幂 f(x)^0, f(x)^1, f(x)^2, ..., f(x)^k 模另一个 n 次多项式 h(x) 对于任何正数Matlab中的整数k?我正在使用函数 deconv(conv (f(x)), h(x)) 但我没有获得所有个人权力。谢谢!

0 投票
1 回答
778 浏览

linear-algebra - 在 GF(q) 上求解稀疏系统

我有兴趣在有限域(可能是接近 1000n或所以)。从文献来看,块 Lanczos 方法可能是最合适的。Ax = bGF(q)q

我有 Linbox,它应该有这样的方法,但无法让 BlockLanczos 求解器在那里工作,一份报告说自 2003 年以来这已经被打破。该SparseElimination方法确实有效,但似乎这不会很好因为矩阵的填充很大n

那么,有什么方法可以解决这些问题呢?

0 投票
2 回答
1420 浏览

python - 创建和反转大型伽罗瓦场矩阵

我有一个大小为 128x128 的矩阵。每个条目都是一个二进制字段元素(在我的用例中,只有 0 和 1)。我尝试在 matlab 中反转这个矩阵。我在 matlab 中找到了一些在http://www.mathworks.com/help/comm/galois-field-computations.html进行有限域矩阵求逆的函数。

但是,这些内置函数仅支持最大 16x16 的矩阵大小。还有其他方法可以克服这个限制吗?我对 Python 或 C/C++ 等其他工具持开放态度。

如果您想尝试您的方法,这里是测试矩阵及其逆矩阵。

矩阵 A [0,0,0,1,0,0,1,0;1,1,1,0,1,0,1,1;1,1,1,0,1,1,0,1 ;0,1,0,0,0,0,1,0;0,1,1,1,1,1,1,0;1,0,1,1,0,0,1,0;0 ,0,1,0,0,0,1,0;0,0,0,0,0,1,0,0]

矩阵 A^-1 [1,1,1,0,0,1,1,1;0,1,1,1,0,0,0,1;0,1,1,0,0,0, 1,1;1,1,1,0,0,0,0,1;1,0,0,1,1,0,1,1;0,0,0,0,0,0,0, 1;0,1,1,0,0,0,0,1;0,1,0,0,1,1,1,1]

0 投票
1 回答
1196 浏览

python - 使用 SAGE 进行二进制场反演

我对有限现场操作的 SAGE 文档感到非常沮丧。我想要做的是以下内容:

在具有不可约多项式 x^8+x^4+x^3+x+1 的 GF(2^8) 中,我想找到元素 x^8+1 的逆。我怎样才能在 SAGE 中做到这一点?

0 投票
1 回答
1121 浏览

element - 如何使用 ntl 计算有限域中元素的阶数?

我正在尝试使用 ntl 计算有限域(组)中元素的顺序。但我没有找到任何功能来做到这一点!有人可以指导我吗?

0 投票
1 回答
756 浏览

ntl - 在 NTL 中的 $GF(2^x)$ 中生成随机元素

我正在尝试研究与有限域算术相关的部分 NTL 功能,但发生了一些奇怪的事情。我正在尝试在 $GF(2^8)$ 字段中生成 2 个随机元素,并对它们进行加法和减法。但似乎我获得的两个“随机”元素在测试程序的每次执行中都是相等的。你有什么想法吗?

我的测试代码:

多次运行测试程序的输出:

0 投票
1 回答
555 浏览

c++ - 最终域库上的多项式

我试图找到一个 C++ 库来处理一些有限域 GF(2^n) 上的多项式,并支持矩阵表示,支持秩查找/逆,甚至解决 A=X*B。我正在尝试使用 Linbox,但文档很少。在对库的 Givaro 部分做了一些讨厌的事情后,我能够将整数转换为多项式表示,但我无法使用 Linbox 的排名/求解部分,因为它们似乎不处理多项式, 只有指数为 1 的素数基数 (GF(2))。

这是代码的一部分

调试时,该rank函数始终将元素视为 GF(2) 上的元素并返回不正确的值。

关于如何使用这个库的任何想法?有一个 GF(2^n) 的 MxM 元素的矩阵并将其求逆或求其秩或求解线性方程组?或者我应该使用另一个库?

0 投票
1 回答
1481 浏览

matlab - 多项式的 Gcd 模 k

我想请 Matlab 告诉我,例如,x^4+x^3+2x+2 和 x^3+x^2+x+1 的多项式在 Z_3[x] 等字段上的最大公约数(其中答案是 x+1) 和 Z_5[x] (答案是 x^2-x+2)。

任何想法我将如何实现这一点?

0 投票
1 回答
1786 浏览

python - 有限域上的 SymPy 多项式

当我打电话时,f = S.poly(y ** 2 - x ** 3 - x - 1,F)我收到以下错误:

'FiniteField' 对象没有属性 'is_commutative'

但是根据定义,有限域是可交换的!所以我不太确定这个错误应该是什么意思!

有没有人遇到过这个?如何在有限域上声明多项式?

0 投票
1 回答
66 浏览

c - 在 C 中,为什么只改变循环边界后结果不同?

我在验证有限域 GF(13) 中的点是否在椭圆曲线 y^2 = x^3 + x + 1 上时遇到了这个问题:首先我将循环边界设置为 i<2,结果是正确的。

结果是链接1

在我更改i<2为之后i<13

前 4 点已更改:链接 2