用虚数计算多项式
Evaluate polynomials with imaginary numbers
我正在尝试使用 Sage v = sqrt(-2)
.
在有限域 Z/67Z 上计算 19v^2 + 49v + 8
的 67 次方
这是我目前的情况(使用 t
而不是 v
):
R.<t> = PolynomialRing(GF(67))
poly = (19 * (t^2) + 49*t + 8)
poly^67
这很好用。
但是现在,我想用值 sqrt(-2)
.
来评估生成的多项式
我不确定如何进行。有什么想法吗?
用 -2 的平方根计算相当于工作模数
多项式 t^2 + 2.
函数 power_mod
可用于此。
不是先上电再减模t^2 + 2,
这会很浪费,它执行整个供电
处理模 t^2 + 2,效率更高。
这里有两种编写(相同)计算的方法。
sage: t = polygen(GF(67))
sage: p = 19 * t^2 + 49 * t + 8
sage: power_mod(p, 67, t^2 + 2)
sage: R.<t> = GF(67)[]
sage: p = R([8, 49, 19])
sage: power_mod(p, 67, R([2, 0, 1]))
我正在尝试使用 Sage v = sqrt(-2)
.
19v^2 + 49v + 8
的 67 次方
这是我目前的情况(使用 t
而不是 v
):
R.<t> = PolynomialRing(GF(67))
poly = (19 * (t^2) + 49*t + 8)
poly^67
这很好用。
但是现在,我想用值 sqrt(-2)
.
我不确定如何进行。有什么想法吗?
用 -2 的平方根计算相当于工作模数 多项式 t^2 + 2.
函数 power_mod
可用于此。
不是先上电再减模t^2 + 2, 这会很浪费,它执行整个供电 处理模 t^2 + 2,效率更高。
这里有两种编写(相同)计算的方法。
sage: t = polygen(GF(67))
sage: p = 19 * t^2 + 49 * t + 8
sage: power_mod(p, 67, t^2 + 2)
sage: R.<t> = GF(67)[]
sage: p = R([8, 49, 19])
sage: power_mod(p, 67, R([2, 0, 1]))