素性測試是一種用於確定給定數字是否為素數的測試,而不是實際將數字分解為其組成素因子(這被稱為素因數分解)。
素性測試分為兩種型別:確定性測試和機率性測試。確定性測試絕對確定地判斷一個數字是否為素數。確定性測試的例子包括盧卡斯-萊默測試和橢圓曲線素性證明。機率性測試可能(儘管機率非常小)錯誤地將合數識別為素數(但反之則不然)。然而,它們通常遠快於確定性測試。因此,通過了機率性素數測試的數字被恰當地稱為可能素數,直到它們的素性可以被確定性地證明。
一個通過了機率性測試但實際上是合數的數字被稱為偽素數。有許多特定型別的偽素數,最常見的是費馬偽素數,它們是儘管是合數但仍滿足費馬小定理的數。
拉賓-米勒強偽素數測試是一種特別有效的測試。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 素性測試、
橢圓曲線素性證明、
費馬小定理、
費馬偽素數、
費馬小定理逆定理、
費馬定理、
盧卡斯-萊默測試、
米勒素性測試、
佩潘測試、
波克林頓定理、
素因數分解演算法、
可能素數、
普羅斯定理、
偽素數、
拉賓-米勒強偽素數測試、
沃德素性測試、
威爾遜定理
使用 探索
參考文獻
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." 頭條新聞,2002 年 8 月 7 日。 https://mathworld.tw/news/2002-08-07/primetest/。Williams, H. C. 愛德華·盧卡斯與素性測試。 紐約:威利,1998 年。在 上引用
素性測試
引用為
韋斯坦因,埃裡克·W. “素性測試。” 來自 Web 資源。 https://mathworld.tw/PrimalityTest.html
學科分類