首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用多项式代替x写x**3中的多项式

如何用多项式代替x写x**3中的多项式
EN

Stack Overflow用户
提问于 2022-04-06 14:47:58
回答 1查看 61关注 0票数 1

目前,我有一个函数x的多项式(伽罗瓦域),但我想用x^3来“求”它。

对怎么做有什么想法吗?

代码语言:javascript
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-06 15:26:31

我是galois库的作者。将f(x)转换为g(x) = f(x^3)相当于将非零系数的f(x)的度数乘以3。在galois中,这是这样做的。

代码语言:javascript
复制
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)

代码语言:javascript
复制
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))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71768917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档