澳大利亚新南威尔士悉尼大学的一名助理教授提出了一种将大数相乘的新方法,据报道,这种方法比冗长的乘法运算效率更高。
副教授David Harvey说,“从技术上讲,我们已经证明了1971年Schönhage和Strassen关于整数乘法复杂度的猜想。“Schönhage-Strassen算法是由两位德国数学家开发的。从1971年到2007年,这是最快的乘法方法。早在2007年就有了一种更快的方法,但现在很少使用。
Harvey说,Schönhage和Strassen确实预测到,应该存在一种通过使用n* log(n)个基本操作来乘以n位数字的算法。他的论文是证明它确实存在的第一个证据。哈维选择了314乘以150的例子。大多数人的回答是将每个单独的数字相乘,然后相加;9乘以4 1 3;然后5乘以4 1 3,以此类推。结果是9位数字的乘积。
这种方法被称为n2或n的平方,因为一个人必须将n乘以n多次。它会得到正确的答案,但是Schönhage和Strassen想出了一个更快的方法。它能够远离n2,进入更小的物质。然而,n*log(n)的形式确实存在一个问题。尽管如此,根据大卫·哈维教授的说法,Schönhage-Strassen方法非常快。一台使用平方法将两个数字相乘的计算机,每个数字都有10亿位数,需要几个月的时间才能完成计算。另一方面,使用Schönhage-Strassen方法,计算机可以在30秒内完成。
然而,如果数字持续上升到万亿甚至更多,哈维和他的合作者乔里斯·范德胡芬在法国École Polytechnique开发的算法;可以比1971年的Schönhage-Strassen算法更快地解决问题。哈维说:“这意味着你可以更高效地做各种算术,比如除法和平方根。你也可以比以前更有效地计算圆周率的数字。它甚至可以应用于涉及巨大质数的问题。人们已经寻找这种算法近50年了。”