sage: R17.<x> = PolynomialRing(GF(17))
sage: f1 = R17(x + 10)
sage: f1 = x + 10
sage: f1
sage: x + 10
所以现在
f1
是一个多项式。
但是我然后给
x
一个值
sage: x = 25
然后我尝试以与定义
f2
相同的方式定义另一个多项式
f1
sage: f2 = R17(x + 15)
sage: f2
6
但是因为我给了
x
一个值25,Sage似乎并没有将该语句视为多项式定义。
当我尝试在
x = 1
处评估 f2 时,它不会这样做。
sage: f2(1)
6
我必须重新定义戒指才能走得更远
sage: R17.<x> = PolynomialRing(GF(17))
sage: f2 = R17(x + 15)
sage: f2
x + 15
sage: f2(1)
16
是否有更简单的方法来“重置”
x
- 即删除所给出的值,以便再次将其视为变量?
您应该能够使用inject_variables:
sage: R17.inject_variables()
这应该将
x
重置为环的生成器。作为替代方案,您还应该能够使用
sage: x = R17.gens()[0]
显式重置变量
x
以引用环的第一个生成器。