带余数的快速多项式除法

Fast polynomial division with remainder

提问人:Faby 提问时间:8/12/2023 最后编辑:Faby 更新时间:8/12/2023 访问量:67

问:

我需要一种快速的方法从 c++ 中两个多项式的除法中获取余数。在“现代计算机代数第 3 版”中,我在第 9 章中发现了使用牛顿迭代的除法伪代码:

if deg a < deg b then return q = 0 and r = a

m <− deg a − deg b
call Algorithm 9.3 to compute the inverse of rev(b) ∈ D[x] rem x^(m+1)
3. q∗ <− rev(a) · rev(b)^-1 mod x^(m+1)

4. return q = rev(q∗) and r = a − b*q

这很简单,但我无法理解的是算法 9.3:

g0 <− 1, r <− log2 l
for i = 1, . . . , r do gi <− (2(gi−1) − f*(gi−1)^2) rem x^2^i
return gr

在算法 9.3 中计算

rem x^2^i

我们需要将 (2(gi−1) − f*(gi−1)^2) 除以 x^2^i

并保留余数,但这又需要除法算法。现在我有两个问题:我怎样才能得到剩下的

在算法 9.3 中(f 是多项式)?在算法 9.3 中,它应该是 rem x^(m+1) 吗?

谢谢

伪码 多项式 代数

评论

0赞 drum 8/12/2023
使用模运算符%

答: 暂无答案