素性测试是一种用于确定给定数字是否为素数的测试,而不是实际将数字分解为其组成素因子(这被称为素因数分解)。
素性测试分为两种类型:确定性测试和概率性测试。确定性测试绝对确定地判断一个数字是否为素数。确定性测试的例子包括卢卡斯-莱默测试和椭圆曲线素性证明。概率性测试可能(尽管概率非常小)错误地将合数识别为素数(但反之则不然)。然而,它们通常远快于确定性测试。因此,通过了概率性素数测试的数字被恰当地称为可能素数,直到它们的素性可以被确定性地证明。
一个通过了概率性测试但实际上是合数的数字被称为伪素数。有许多特定类型的伪素数,最常见的是费马伪素数,它们是尽管是合数但仍满足费马小定理的数。
拉宾-米勒强伪素数测试是一种特别有效的测试。Wolfram 语言实现了基于基数 2 和 3 的多重拉宾-米勒测试,并结合卢卡斯伪素数测试作为函数使用的素性测试PrimeQ[n]。与许多此类算法一样,它是一种使用伪素数的概率性测试。为了保证素性,必须使用速度慢得多的确定性算法。然而,实际上没有已知数字通过了高级概率性测试(如拉宾-米勒测试)但实际上是合数。
任意数字的确定性素性测试的最新技术是椭圆曲线素性证明。截至 2009 年 2 月,程序认证的最大数字PRIMO(7993 位十进制数字)在 2-GHz 处理器上花费了八个月。
与素因数分解不同,长期以来人们认为素性测试是一个P 问题 (Wagon 1991)。然而,直到 Agrawal等人 (2002) 意外地发现了一种多项式时间素性测试算法,其渐近复杂度为 (Bernstein 2002, Clark 2002, Indian Institute of Technology 2002, Pomerance 2002ab, Robinson 2002)。他们的算法后来被称为AKS 素性测试。
另请参阅
阿德leman-波梅兰斯-鲁梅利素性测试、
AKS 素性测试、
椭圆曲线素性证明、
费马小定理、
费马伪素数、
费马小定理逆定理、
费马定理、
卢卡斯-莱默测试、
米勒素性测试、
佩潘测试、
波克林顿定理、
素因数分解算法、
可能素数、
普罗斯定理、
伪素数、
拉宾-米勒强伪素数测试、
沃德素性测试、
威尔逊定理
使用 Wolfram|Alpha 探索
参考文献
Agrawal, M.; Kayal, N.; and Saxena, N. "Primes in P." 预印本,2002 年 8 月 6 日。 http://www.cse.iitk.ac.in/primality.pdf。Bernstein, D. J. "An Exposition of the Agrawal-Kayal-Saxena Primality-Proving Theorem." 2002. http://cr.yp.to/papers/aks.ps。Beauchemin, P.; Brassard, G.; Crépeau, C.; Goutier, C.; and Pomerance, C. "The Generation of Random Numbers that are Probably Prime." J. Crypt. 1, 53-64, 1988.Brillhart, J.; Lehmer, D. H.; Selfridge, J.; Wagstaff, S. S. Jr.; and Tuckerman, B. b-n+/-1, b=2, 3, 5, 6, 7, 10, 11, 12 直到高幂的因式分解,修订版。 普罗维登斯,罗德岛州:美国数学会,第 lviii-lxv 页,1988 年。Clark, E. "Polynomial Time Primality Test." sci.math 新闻组帖子。2002 年 8 月 6 日。Cohen, H. and Lenstra, A. K. "Primality Testing and Jacobi Sums." Math. Comput. 42, 297-330, 1984.Indian Institute of Technology. "PRIMES is in P." http://www.cse.iitk.ac.in/news/primality.html。Kayal, N. and Saxena, N. "Towards a Deterministic Polynomial-Time Test." 技术报告。坎普尔,印度:印度理工学院,2002 年。 http://www.cse.iitk.ac.in/research/btp2002/primality.html。Knuth, D. E. 计算机程序设计艺术,第 2 卷:半数值算法,第 3 版。 雷丁,马萨诸塞州:艾迪生-韦斯利,1998 年。Martin, M. "PRIMO--Primality Proving." http://www.ellipsa.net/public/primo/primo.html。Martin, M. "PRIMO Record." http://www.ellipsa.net/public/primo/record.html。Pomerance, C. "RE: New Polynomial Time Primality Test?" 2002 年 8 月 7 日。 http://listserv.nodak.edu/scripts/wa.exe?A2=ind0208&L=nmbrthry&P=956。Pomerance, C. "A New Primal Screen." FOCUS: Newsletter of the Math. Assoc. Amer. 22, No. 8, 4-5, 2002b.Riesel, H. 素数与因式分解的计算机方法,第 2 版。 波士顿,马萨诸塞州:Birkhäuser,1994 年。Robinson, S. "New Method Said to Solve Key Problem in Math." 纽约时报,第 A16 页,2002 年 8 月 8 日。Wagon, S. "Primality Testing." Math. Intell. 8, No. 3, 58-61, 1986.Wagon, S. Mathematica in Action。 纽约:W. H. 弗里曼,第 15-17 页,1991 年。Weisstein, E. W. "Primality Testing Is Easy." MathWorld 头条新闻,2002 年 8 月 7 日。 https://mathworld.net.cn/news/2002-08-07/primetest/。Williams, H. C. 爱德华·卢卡斯与素性测试。 纽约:威利,1998 年。在 Wolfram|Alpha 上引用
素性测试
引用为
韦斯坦因,埃里克·W. “素性测试。” 来自 MathWorld--Wolfram Web 资源。 https://mathworld.net.cn/PrimalityTest.html
学科分类