Performance 什么时候开始;使用模运算的快速整数乘法;(2008)比Schö更快的算法;nhage-Strassen算法?

Performance 什么时候开始;使用模运算的快速整数乘法;(2008)比Schö更快的算法;nhage-Strassen算法?,performance,algorithm,biginteger,multiplication,modular,Performance,Algorithm,Biginteger,Multiplication,Modular,发件人: “Anindya De、Chandan Saha、Piyush Kurur和Ramprasad Saptharishi[11]在2008年给出了一个类似的算法,使用模块化算法实现了相同的运行时间。但是,对于不切实际的大输入,后一种算法只比Schönhage–Strassen更快。” 我对这种不切实际的大整数的大小非常感兴趣 也许有人确实以某种方式实现了这两种算法,并且可以做一些基准测试 感谢,它的模块化等价物(DSK)是非常深入的研究课题,目前仅作为学术兴趣。实际上,没有人知道交叉点有

发件人:

“Anindya De、Chandan Saha、Piyush Kurur和Ramprasad Saptharishi[11]在2008年给出了一个类似的算法,使用模块化算法实现了相同的运行时间。但是,对于不切实际的大输入,后一种算法只比Schönhage–Strassen更快。”

我对这种不切实际的大整数的大小非常感兴趣

也许有人确实以某种方式实现了这两种算法,并且可以做一些基准测试

感谢

,它的模块化等价物(DSK)是非常深入的研究课题,目前仅作为学术兴趣。实际上,没有人知道交叉点有多大。而且很可能这并不重要,因为这个交叉点可能远远超出64位计算限制

我以前实现过Schönhage-Strassen,我了解弗勒的算法是如何工作的。所以我对他们两个都很熟悉。我可以说,Schönhage Strassen和Fürer算法之间的交叉点非常高,以至于一台能够保存参数的计算机将比可观测宇宙的大小更大

当复杂度相差小于对数时,这就是问题所在即使是大O常数中的微小差异,也需要指数级大的输入大小来补偿。


在这种情况下,Fürer算法具有非常大的Big-O常数。

Fürer算法及其模等价物。。。非常深入的研究课题。实际上,没有人知道交叉点有多大。而且它可能对硬件和实现细节高度敏感。无论如何,这可能是完全不相关的,因为该交叉点可能远远超出64位计算限制。基本上,交叉点非常大,需要的内存将超过64位允许的内存。由于128位硬件实际上是不存在的,所以猜测交叉点的确切位置是毫无意义的,因为它对(目前不存在的)硬件的细节非常敏感。即使big-O常数中的因子为2,也可能意味着交叉点存在几个数量级的差异。您需要找到n,以便log(log n)>c2^(log*n),其中c是常数的商。假设c=100,则得到n>2^(2^100),这是一个不适合64位硬件的数字。我推测该常数将大于100。@TeaBee:这并不意味着Fürer的实现对于某些可测试输入来说实际上更快。也许你误解了O-符号的含义:这两种算法可能有几十亿甚至更大的常数因子不同。我对Schönhage-Strassen和Fürer的算法都很熟悉。我已经实现了Schönhage-Strassen,我了解弗勒的算法是如何工作的。很有可能,交叉点如此之高,以至于一台能够保存这些参数的计算机将比可观测宇宙的大小还要大。当复杂度相差小于对数时,这就是问题所在。它需要指数级的大输入大小来补偿大O常数中的微小差异。在这种情况下,Fürer算法具有非常大的Big-O常数。