找到多项式模2 ^ r的根

时间:2010-08-28 07:41:42

标签: algorithm math algebra polynomial-math

我有一个多项式P,我想找到y,使P(y)= 0 modulo 2 ^ r。

我尝试了Hensel提升的方法,但我不知道这是否可行,因为通常情况f'(y mod 2)!= 0 mod 2,这通常不是真的。< / p>

是否有不同的算法可用?或者Hensel提升的变化可以起作用吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

假设您有一个a解决方案f(a) = 0 mod 2^p。要进行Hensel提升以获得解决方案mod 2^(p+1),您最终需要解决

f'(a)*t = -f(a)/2^(p+1) mod 2

代表t

如果f'(a) = 0 mod 2,有两种可能性:

如果2没有划分f(a)/2^(p+1),那么就没有解决方案mod 2^(p+1)(或任何解决方案) 由a的这个值产生的2的更高功率。

如果2除以f(a)/2^(p+1),则0和1都作为t的可接受值,如果您希望找到所有解mod 2^r,您将需要为每个值单独提升

请注意,a在每个步骤的[0,2^p)范围内,因此当您解决t时,您正在评估f(x)f'(x) at x=a,而非x=a mod 2

相关问题