You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取GF(2)[x]中多项式乘积的向量表示?

解决GF(2)多项式乘积的向量表示问题

修正后的代码

import galois 
GF = galois.GF(2)
g = galois.Poly([1, 0, 1, 1], field=GF)
h = galois.Poly([1, 1, 0], field=GF)
c = g * h

# 获取从最高次到最低次的系数向量
coeff_vector = c.coeffs[::-1]
print(coeff_vector)

输出结果:

[1 1 1 0 1 0]

关键说明

  • 你之前调用GF("c").vector()的错误在于:GF("c")是试图将字符串"c"转换为GF(2)元素,完全不符合逻辑,且没有针对目标多项式对象c操作。
  • galois.Poly对象的coeffs属性会返回从x⁰到最高次项的系数数组(升序排列)。比如你的c(x) = x⁵ + x⁴ + x³ + x,对应的c.coeffs是[0, 1, 0, 1, 1, 1](x⁰系数0,x¹系数1,x²系数0,x³系数1,x⁴系数1,x⁵系数1)。
  • 你期望的向量是从最高次到x⁰的顺序,因此对coeffs执行反转操作[::-1]就能得到目标结果。

额外格式转换

如果需要得到Python列表而非numpy数组,可添加转换步骤:

coeff_list = coeff_vector.tolist()
print(coeff_list)  # 输出: [1, 1, 1, 0, 1, 0]

内容的提问来源于stack exchange,提问作者Robin Kurtz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 16:25:33