gpt4 book ai didi

c++ - NTL 库中的扩展多项式

转载 作者:行者123 更新时间:2023-11-30 05:29:18 26 4
gpt4 key购买 nike

有代码是用NTL库写的:

int main()
{
ZZ_p::init(ZZ(5)); // define GF(5)

ZZ_pX P;
BuildIrred(P, 4); // generate an irreducible polynomial P
// of degree 4 over GF(5)

ZZ_pE::init(P); // define GF(5^4)

ZZ_pEX f, g, h; // declare polynomials over GF(5^4)

random(f, 3); // f is a random, monic polynomial of degree 3
SetCoeff(f, 3);
cout << f << endl<< endl;
}

输出是:

[[3 1 1 4] [2 1 3 2] [1 0 3 1] [1]]

例如,[1 2 3] 表示 3x² + 2x + 1
在这种情况下,GF 上的符号多项式的形式是什么?

最佳答案

你的问题有点难理解。如果我理解正确,问题是如何解释多项式的 NTL 表示 [[3 1 1 4] [2 1 3 2] [1 0 3 1] [1]]具有 5⁴ 个元素的有限域。

首先:具有 5⁴ 个元素的有限域中的元素(称为 GF(5⁴))表示为多项式 GF(5)[X] mod f,其中 f 是 4 次不可约多项式。

这意味着 GF(5⁴) 上的多项式是一个多项式,其中系数是 GF(5)[X] mod f 中的多项式。

所以 [[3 1 1 4] [2 1 3 2] [1 0 3 1] [1]] 可以解释为

Y³ + (X³ + 3X² + 1)⋅Y² + (2X³ + 3X² + X + 2)⋅Y + (4X³ + X² + X + 3)

注意:评论在

random(f, 3);  // f is a random, monic polynomial of degree 3
SetCoeff(f, 3);

有点误导。 random(f,3)f 设置为小于 3 的随机多项式。SetCoeff(f, 3) 的系数设置为 1,然后它是 3 次多项式。

关于c++ - NTL 库中的扩展多项式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36475757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com