数学实验之五--素数课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数学实验之五--素数课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 实验 素数 课件
- 资源描述:
-
1、数学实验之五数学实验之五 -素数素数中国科学技术大学数学系陈发来1213466917实验内容实验内容l素数的个数l素数表的构造l素数的判别l最大的素数l求解素数的公式l素数的分布1 1、素数的个数、素数的个数 算术基本定理:任何整数都可以分解为 设 为所有的素数。考察nppp,21121npppNkdkddpppn2121 如果N为合数,则N必以某些 为因子。这是不可能的!虽然素数有无穷多个,但随着整数范围越来越大,素数似乎越来越稀少。1,100-25 1000,1100-16 100000,100100-6 10000000,10000100-2ip2 2、素数表的构造、素数表的构造 Era
2、tosthenesEratosthenes筛法筛法 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 经过众多学者的艰辛努力,D.N.Lehmer 于 1914年编织出了10000000以内的素数表。试除法试除法 假设我们已经找到了前n个素数p_1=2,p_2=3,.,p_n,为了寻找下一个素数我们从p_n+2开始依次检验每一个整数N,看N是否能被某个p_i,i=1,2,.,n整除.如果N能被前面的某个素数整除,则N为合数.否则N即为下 一个素数p_n+1.为提高算法的
3、效率,只需用不超过 的素数去除N。N3 3、素数的判别、素数的判别威尔逊判别法威尔逊判别法 n是素数的充要条件是 这里 是指 a-b 被p整除。不过该算法的运算量为O(nlogn2),计算量太大。pbamod)(mod01)!1(nn FermatFermat判别法判别法 如果p是素数,a与p互素,那么实际上,大约2500年前,中国古代数学家就发现了上述结论。他们由此得出:如果 ,则n为素数。该判别法的运算量为O(log3n).papmod11)2(mod22 n 通过编程计算发现,反过来结论并不成立。例如,但是341=11x34为合数!称使得成立的p为伪素数。341mod12340ppmod
4、121注意同余的计算:进一步,伪素数有多少个?341mod1)13413(1024)2(234343410340 答案是无穷多个。实际上,数学家迈罗在1903年证明,如果n为伪素数,那么2n-1也是伪素数。不过,同素数个数相比,伪素数的个数非常少。例如,在2x1010之内,伪素数不到素数的百万分之三。因此,可以认为 Fermat定理的逆定理几乎成立。利用伪素数表,可以给出判别素数的新方法:如果p不整除2n-1,则p为合数;如果p整除2n-1,且在伪素数表中,则p为合数,否则,p是素数。伪素数可以推广到a-伪素数。令人惊奇的是,存在这样的数p,它对任何a都是伪素数。例如,561=3x11x17就
5、是这样一个伪素数,即)561(mod1560a 这样的数称为绝对伪素数,也称迈克尔数。如果迈克尔数只有有限个,则对nM,素数的判别变得比较容易。但迈克尔可能有无限个,这使得直接用Fermat 定理判别素性变得困难。n-1检验法检验法 假设n-1=FR,FR,gcd(F,R)=1.如果对F的每一个素因子q都存在一个整数a1满足 则n是素数。1),1gcd(),(mod1/)1(1nanaqnn 基于广义黎曼猜想的判别基于广义黎曼猜想的判别 1976年,缪内发现了素性判别与黎曼猜想之间的一个深刻联系。他的结论是:在广义黎曼假设下,存在常数C,对任何整数n,若n为合数,则存在aC(logn)2 使得
6、)(mod21nnaan 维路于1978年指出,上述常数C=70.由此可以设计如下多项式算法:对任意n,依次对a=1,2,70(logn)2检验上式是否成立。若对每一个a都不成立,则n为素数。否则,n 为合数。上述算法的运算量为O(logn)5.年数学家Adleman,Rumely,Cohen和Lenstra研究出一种非常复杂、具有高度技巧的素数判别方法,检验一个位数的素性只需秒,对一个位数,只要秒,而一个位数只用秒。如果用试除法,判别一个位数的素性要一百亿年!概率判别法概率判别法 Lehmann:给定p,判断它是否为素数:()选择一个小于p的随机数a;()如果a与p不互素,则p为合数;()计
7、算 J=a(p-1)mod p;()如果 J1或-1,那么p为合数;()如果 J=1或-1,那么p不是素数的可能性最多是50%.重复k次实验,那么p不是素数的可能性不超过1/2k.利用上述算法可以产生大的随机素数:(1)产生随机数p;(2)确保p不被较小的素数整除。(3)产生随机数a,利用上述算法检测p的素性。直到经过多次测试为止。素性判别的多项式算法素性判别的多项式算法给定一个n位的整数,假设某一算法能在f(n)步内判断出该整数是否素数。如果f(n)是一个多项式的话,则称该算法具有多项式复杂性,称该问题是“多项式可解的”。如果不存在一个算法其具有多项式的计算复杂性,则称该问题属于NP问题。2
8、002年8月,印度理工大学计算机系的三位学者提出了整数素性判别的多项式算法!即素性判别问题是P类问题。他们指出算法复杂性一般为O(n12)。如果提供某些启发线索的话,算法的复杂性可以降到O(n6)甚至O(n3).一个令人关注的问题是,该算法是否会威胁现有的RSA公钥密码体系的安全?4、最大的素数 MersenneMersenne数数 形如 的数称为Mersenne数。利用Mersenne数可以构造出非常大的素数。很显然,如果n是合数,则M_n也为合数,但n为素数时,M_n不一定为素数。例如,M_11=2047=23x89是合数。12 nnM 1644年Mersenne宣称,对n=2,3,5,1
9、3,17,19,31,67,127,257,M_n都是素数,而且对其它n257,M_n都是合数。然而,后人证明M_67,M_257不是素数,而M_61,M_89,M_107都是素数。8776183825721937077211267 截止2002年2月,数学家仅发现了39个 Mersenne素数.n 位数 时间86143259621982110503332651983132049397511983216091650501985 n 位数 时间756839 2278321992859433258716199412577873786321996139826942092119962976221895
10、9321997302137790952619986972593209896019991346691740539452002 MersenneMersenne数素性的判别方法数素性的判别方法 定义数列u_0=4,u_k+1=u_k2-2(mod M_n),k=1,2,.,n.如果u_n-1 =0(mod M_n),则M_n为素数.否则,M_n 为合数.关于关于MersenneMersenne素数的进一步问题素数的进一步问题:(1)Mersenne素数是否有无穷多个?(2)对什么样的n,M_n是素数?是否存在求n的公式?至少使M_n为素数的n应该具有什么性质?(3)如果M_n是合数,如果分解M_n
11、?5、生成素数的公式 是否存在单变量整系数的多项式,它只生成素数并且生成所有的素数?更一般地,是否存在一个生成素数的多变量函数公式?如果这样的公式不存在,能否找到一个虽不能给出全部但能给出无穷多个素数(且只给出素数)的公式?FermatFermat数数 形如F_n=22n+1的数被称为 Fermat数。Fermat宣称,对所有的整数n,F_n永远是素数。的确,F_0=3,F_1=5,F_2=17,F_3=257,F_4=65537都是素数。但Euler指出F_5=4294967297=6416700417 是合数。后人验证出F_n(n4)都是合数。Fermat数F_n与正多边形做图有紧密的联系
12、.古代数学家认为,当n为大于6的素数时,正n边形不能用圆规与直尺做出。但是,在1796年,19岁的德国数学家Gauss找到了用直尺与圆规做正17边形的方法。这一辉煌的成果轰动了整个数学界。五年后他进一步证明了:一个正n边行可用直尺与园规作图的充要条件是,n=2k或者n=2k p_1 p_2.p_r,其中p_1,p_2,.,p_r为不同的Fermat数.特别地,正17边形可以用直尺与园规做出.此后,数学家梨西罗与盖尔美斯给出了正257边形与正65537边形的做图法!关于Fermat数主要研究的问题是:(1)如何分解Fermat数?(2)Fermat素数是否只有有限个?(3)Fermat合数是否有
13、无穷多个?(4)Fermat数有没有平方因子?EulerEuler素数生成公式素数生成公式 Euler曾研究过公式:f(n)=n2+n+41.可以验证,当n=0,1,39时,f(n)都是 素数,但f(40)是合数。有趣的是,公式能给出相当多的素数。公式n2+n+41有一个非常奇特的性质.为揭示这一特性,我们考察它的二次求根公式的判别式d=12-4141=-163.163有什么特别的地方?有!请看 0000000000040768744.02625374126163e 作为Hilbert第十问题的一个推论,马蒂雅舍维奇证明了:存在一个多元多项式P(x_1,x_2,.,x_n),其正值构成的集合恰
展开阅读全文