提问人:Faby 提问时间:8/12/2023 最后编辑:Faby 更新时间:8/12/2023 访问量:67
带余数的快速多项式除法
Fast polynomial division with remainder
问:
我需要一种快速的方法从 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) 吗?
谢谢
答: 暂无答案
评论
%