感谢您抽出时间阅读此文,非常感谢。你知道吗
我的问题是如何确保商环中的多项式具有以下性质:
(x^2)k = 0
其中x是商环中的任意变量,k是正整数。你知道吗
这就是我试图处理这种情况的方法:我创建了一个多项式环
P.<x,y,z,w> = PolynomialRing(GF(2), 4, order = 'degrevlex')
因为我不是在商环中工作,所以x^2(或其他三个变量中的任何一个)不会“变成”0。因为我想要x^2=0的属性,我决定用一些场方程创建一个商环:
Q = P.quotient_ring(ideal([var**q - var for var in P.gens()]))
其中q = P.base_ring.order()
。
但是,当我创建下面的多项式时,它的父项仍然是P,所以我更改了它的环:
f1 = y*z + y*w + w^2
f1 = f1.change_ring(Q)
但是,当我打印f1时,它的w^2仍然是w^2,并且没有减少到0。我在想我是不是遗漏了什么?这让人恼火,因为我将要与麦考利矩阵,因此,这是至关重要的,我在一个商环工作。也许我错过了一些数学,因为这对我来说是非常新的。。。你知道吗
这是我的建议:
sage: P.<x,y,z,w> = PolynomialRing(GF(2), 4, order = 'degrevlex')
sage: q = P.base_ring().order()
sage: Q = P.quotient_ring(ideal([var**q - var for var in P.gens()]))
sage: f1 = y*z + y*w + w^2
sage: f1
y*z + y*w + w^2
sage: f1 = f1.change_ring(Q)
sage: f1
y*z + y*w + w^2
如何确保w^2=0?我已经尝试过在创建商环时将原始多项式添加到场方程中,然后更改其环,如下所示:
sage: P.<x,y,z,w> = PolynomialRing(GF(2), 4, order = 'degrevlex')
sage: q = P.base_ring().order()
sage: f1 = y*z + y*w + w^2
sage: Q = P.quotient_ring(ideal([f1] + [var**q - var for var in P.gens()]))
sage: f1 = f1.change_ring(Q)
sage: f1
y*z + y*w + w^2
但正如你所见,什么都没发生。。。 谢谢您!你知道吗
与其
f1 = change_ring(Q)
,不如做f1 = Q(f1)
。change_ring
只影响系数,而不影响索引,而Q(f1)
强制多项式f1
在Q
中生存,将每个变量转换为它在Q
中的图像。例如:附加了
bar
的变量是Q
中的图像。你知道吗在定义
Q
之后的另一个选项是:顺便说一下,如果你想
w^2
为零,你不应该强加关系w**2
而不是w**2 - w
?你知道吗相关问题 更多 >
编程相关推荐