C++ 库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)

有一些代码是使用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;
}
例如,
[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);