目前,我有一个函数x的多项式(伽罗瓦域),但我想用x^3来“求”它。
对怎么做有什么想法吗?
import galois
GF = galois.GF(31)
f = galois.Poly([1, 0, 0, 15], field=GF);
>> x^3 + 15现在f是x: f(x)的函数,但是我想要f(x^3)
发布于 2022-04-06 15:26:31
我是galois库的作者。将f(x)转换为g(x) = f(x^3)相当于将非零系数的f(x)的度数乘以3。在galois中,这是这样做的。
In [1]: import galois
In [2]: galois.__version__
Out[2]: '0.0.26'
In [3]: GF = galois.GF(31)
In [4]: f = galois.Poly([1, 0, 0, 15], field=GF); f
Out[4]: Poly(x^3 + 15, GF(31))
In [5]: f.nonzero_degrees
Out[5]: array([3, 0])
In [6]: f.nonzero_coeffs
Out[6]: GF([ 1, 15], order=31)
In [7]: g = galois.Poly.Degrees(3*f.nonzero_degrees, f.nonzero_coeffs); g
Out[7]: Poly(x^9 + 15, GF(31))编辑:从v0.0.31开始,支持多项式组合。现在可以在第二个多项式f(x)上计算多项式g(x)。
In [1]: import galois
In [2]: galois.__version__
Out[2]: '0.0.31'
In [3]: GF = galois.GF(31)
In [4]: f = galois.Poly([1, 0, 0, 15], field=GF); f
Out[4]: Poly(x^3 + 15, GF(31))
In [5]: g = galois.Poly.Degrees([3], field=GF); g
Out[5]: Poly(x^3, GF(31))
In [6]: f(g)
Out[6]: Poly(x^9 + 15, GF(31))https://stackoverflow.com/questions/71768917
复制相似问题