C++ 库NTL中的扩展多项式
有一些代码是使用NTL库编写的:C++ 库NTL中的扩展多项式,c++,gmp,number-theory,ntl,C++,Gmp,Number Theory,Ntl,有一些代码是使用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)
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;
}
例如,[1 2 3]
是指3x²+2x+1
在这种情况下,GF上多项式的表示形式是什么?你的问题有点难理解。如果我没弄错的话,问题是如何解释有限域上5的多项式的NTL表示⁴ 元素 第一:有限域中的5元⁴ 元素(称为
GF(5⁴)
)表示为多项式GF(5)[X]mod f
,其中f
是四次不可约多项式
这意味着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);
<代码>有点误导。<代码>随机(f,3)< /> >将代码< F>代码>设置为小于3的随机多项式。<代码> SetCoeff(f,3)< /> >将< <代码> y > <代码>系数> <代码> 1 > /代码>之后,它是一个3度的多项式。< /P>这是C++,而不是CYES,如何解释NTL表示:)谢谢!
random(f, 3); // f is a random, monic polynomial of degree 3
SetCoeff(f, 3);