【问题标题】:Find a root of a polynomial modulo 2^r [closed]找到多项式模2 ^ r的根[关闭]
【发布时间】:2010-08-28 07:41:42
【问题描述】:

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

我已经尝试过类似 Hensel 提升的方法,但我不知道这是否可行,因为通常情况 f'(y mod 2) != 0 mod 2 这通常不是真的。

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

提前致谢

【问题讨论】:

标签: algorithm math algebra polynomial-math


【解决方案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 时,您在x=a 处评估f(x)f'(x),而不是x=a mod 2

【讨论】:

    猜你喜欢
    • 2013-10-18
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多