当乘非常大的数字时,使用基于FFT的乘法(请参阅Sch nhage-Strassen算法出于性能原因,我正在缓存旋转因素。问题是对于庞大的数字(千兆字节大小),我需要2^30或更大的FFT表,它们占用了太多的内存(16 GB及以上)。所以我应该用另一种算法。
有一个叫做y-cruncher的软件,用来计算PI和其他常量,它可以乘以TB大小的数字。它使用了一个名为混合NTT,另一种算法叫做VST(见a峰值到y-cruncher v0.6.1在部分VST乘法算法)。
有谁能对这些算法或任何其他可用于乘法兆字节数?
发布于 2018-01-31 17:15:42
FFT可以在相同的数组上执行,并具有恒定的附加内存(可能需要巧妙地交换这个数字)。因此,它也可以在硬盘上完成。在最坏的情况下,它是一个日志(N)*n次磁盘访问。它看起来比在RAM上做慢得多,但总体的复杂性仍然相同。
https://stackoverflow.com/questions/-100007279
复制相似问题