python - 从符号多项式获取向量空间坐标

标签 python sage

我正在尝试从以下代码中的多项式 p 获取矢量坐标,假设 xy z 属于 GF(2) 但我得到错误

TypeError: can't initialize vector from nonzero non-list.

我将如何解决这个问题?

reset()
var("x")
var("y")
var("z")
pp = 2
k.<t>=GF(2^pp)
VS = k.vector_space()
p = z*x*t^2 + t*y + 1
print VS.coordinates(p)

最佳答案

也许你可以使用多项式的系数列表作为它的向量坐标,然后你可以将这个列表转换为向量。但在那种情况下,最好将 GF(2^2) 定义为 GF(4,'a')={0,1,a,a+1}。

例如你可以这样做:

sage
K = GF(4,'a')
R = PolynomialRing(GF(4,'a'),"x")
x = R.gen()
a = K.gen()
p = (a+1)*x^3 + x^2 + a
p.list()

如果你需要将维度n固定为比p的次数更大的值,那么你可以执行以下操作;

n = 6
L = p.list(); l=len(L); i = n-l; L_ = [0]*i; L.extend(L_)
L

为您提供 p 的 6 维坐标。 如果以后需要将这个系数列表用作向量,则可以使用 vector(L) 而不是 L。

关于python - 从符号多项式获取向量空间坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25371880/

相关文章:

python - Django filter_horizo​​ntal 用于多对一关系

python - 如何让 Sphinx 理解 Sage doctests?

python - Sage/Python 中 fork 后出现 SIGILL

python - 多对多使用 Flask-SQLAlchemy 返回原始 sql 而不是执行

找不到来自 firebug 的 Python Selenium Xpath

python - 单击取消按钮时 odoo-10 序列增量

Python - 删除(转换为白色)图像的非黑色像素

python - 类型错误 : unsupported operand type(s) for &: 'sage.rings.rational.Rational' and 'int'

python - 使用 SAGE 进行二进制字段反转

python - jupyter 笔记本 vs jupyter 控制台 : display of markdown (and latex, html 等)对象