八十年以前,已知的乘法运算方式只有一种,就是在课本上所学到的常规竖式计算方法。
当进行位数少的数字相乘时,竖式计算方法是非常快捷、方便的,但若是计算数百万位数或数十亿位数的乘数之间的相乘时,竖式计算方法就显得无能为力了,例如,计算圆周率或者寻找更大的质数。
后来出现了‘karatsuba 算法’,将数字的乘数分解成更小的部分,并重新组合这些部分,这种方式可以用少量的加法和减法来代替大量的乘法。
这一算法完成计算,只需要需‘2 的n次方’次个位数的相乘,而不是之前的‘n的平方’次。
后来又有两位科学家一起,利用‘引入快速傅立叶变换’的方式,来对大数相乘算法进行改进,只需要‘nxlog nxlog(log n)’次个位数的相乘,就可以完成大数相乘计算,其中 log n是n的对数。
这一改进是跨越式的创新,后续大数相乘算法的持续改善,都是以这种方法为基础进行。
王浩的研究成果也同样是以‘引入快速傅立叶变换’的方式进行,才会用‘是改善、也是创新’来形容自己的成果,他的讲解也是从‘傅立叶变换算法’开始的。
以‘傅里叶变换算法’展开,辅助其他的计算手段,构建出一个包含‘结果’数字区域。
这就是创新的地方。
他的研究并不是正常进行一步步的计算,而是划定了‘可能成为结果的数值集合’,比如,25*25,就可以简单划定结果在400到900的区间,通过一些必要的筛选,比如‘尾数是5’,把集合里面的数字一个个划去,直到最后只剩下一个数字,就确定为最终结果。
当然,超大数相乘要复杂的多,引入‘快速傅里叶变换’并辅助其他计算方法,划定的范围会更加精准。
如果是计算
本网站为网友提供小说上传储存空间平台,为网友提供在线阅读交流、txt下载,平台上的所有文学作品均来源于网友的上传
用户上传的文学作品均由网站程序自动分割展现,无人工干预,本站自身不编辑或修改网友上传的内容(请上传有合法版权的作品)
如发现本站有侵犯权利人版权内容的,请向本站投诉,一经核实,本站将立即删除相关作品并对上传人ID账号作封号处理