文档下载
网盘链接: https://pan.baidu.com/s/1kdF3_a9tIKkl7zkBDi7UXA
提取码: yiwc
部分内容展示
在数论中,只能被自身和整除的数称为素数。其关键问题就是给定一个大数,如何来判定这个大数是否为素数,根据定义,可以用比其小的素数去除,但是当这个数很大时,该方法不具有可操作性,所以判定一个大数是否为素数成为许多科学家所关注的问题。计算应用对计算的高精度和高速度的需求,让人们开始把目光投向了并行计算的研究.所谓并行计算,直观地讲就是利用多个具有计算能力的计算机共同完成一项计算工作,从并行算法的设计上也能在一定程度上提高并行系统的效率,现代工程技术中需要解决的大型并行问题种类有很多,也牵涉到各个领域,但是最终都要划归到数学问题的处理上.本文选取的实际问题是古老而经典的素数问题,就是在并行算法在素数分布拟合中的应用,主要是利用并行算法的速度优势进行素性检验,以及大素数生成方法的设计。
关键词
:并行算法;素数分布;大素数生成;
更多范文
早期计算机的研究方向之一就是为了数学问题求解提供解决方案,就是现在,许多计算机被应用在处理大量的科学计算上,而这些计算用人工去求解,可能用一生的精力去计算也没结果。判定某自然数是否为质数,小的自然数还可以用人工去计算,大的质数只能去计算机去都求解了,对应的多种求解质数的计算机算法,主要是用了质数的一些规则:一是利用其定义:只能被1或者自身整除的自然数(不包括1),称为质数。二是利用一个定理:如果一个数是合数,那么它的最小质因数肯定小于等于他的平方根。第二定理是说如果一个数能被它的最小质因数整除的话,那它肯定是合数,即不是质数。因此看一个数是不是质数,只要比较它能被否小于它开方根后的所有数整除,这样计算量就会大幅减少,效率比第一种高许多。现在的计算机还是冯·诺依曼结构的计算机,它每次只能执行一个指令,可以称为串行计算,这样的运算在一台计算机上是线性执行的,当要判定的素数巨大时,运算时间几何级增长,以至科学计算都需要高性能高运算速度的计算机去处理。是否可以多台计算机并行运算呢?计算机网络的出现为这种算法提供了物质基础。计算机网络技术的发展,使得现在单台的计算机通过网络互联在一起,各台计算机之间通过网络快速进行数据通信,我们可以将同一网络中的计算机作为一整体看待。是否可以将这一整体用于科学计算呢?答案是肯定的。