arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 0801.1416cs.SCcs.DS
收藏

用模运算实现快速乘法

Fast Integer Multiplication using Modular Arithmetic

Anindya De, Piyush P Kurur, Chandan Saha, Ramprasad Saptharishi

摘要:

本文给出了一个用于两个$N$位整数相乘的$O(N\cdot \log N\cdot 2^{O(\log^*N)})$算法,它改进了Schönhage-Strassen的$O(N\cdot \log N\cdot \log\log N)$算法.这两种算法都使用模运算。最近,傅勒给出了一个$O(N\cdot \log N\cdot 2^{O(\log^*N)})$算法,但使用算术复数,而不是模块化的算术。在本文中,我们使用多元多项式乘法以及从Fürer算法的想法,以实现这种改进的模块化设置。我们的算法也可以被看作是一个$p$ -adic版本的Fürer的算法。因此,我们表明,这两个看似不同的方法,整数乘法,模和复杂的算术,是相似的。

英文摘要:

We give an $O(N\cdot \log N\cdot 2^{O(\log^*N)})$ algorithm for multiplying two $N$-bit integers that improves the $O(N\cdot \log N\cdot \log\log N)$ algorithm by Schönhage-Strassen. Both these algorithms use modular arithmetic. Recently, Fürer gave an $O(N\cdot \log N\cdot 2^{O(\log^*N)})$ algorithm which however uses arithmetic over complex numbers as opposed to modular arithmetic. In this paper, we use multivariate polynomial multiplication along with ideas from Fürer's algorithm to achieve this improvement in the modular setting. Our algorithm can also be viewed as a $p$-adic version of Fürer's algorithm. Thus, we show that the two seemingly different approaches to integer multiplication, modular and complex arithmetic, are similar.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑