www.wikidata.de-de.nina.az
Der Lucas Lehmer Test ist ein Primzahltest fur Mersenne Zahlen das heisst fur Zahlen der Form M n 2 n 1 displaystyle M n 2 n 1 Der Test wird im GIMPS Projekt engl Great Internet Mersenne Prime Search der Suche nach bisher nicht bekannten Mersenne Primzahlen angewandt Ausschnitt von Seite 316 der Arbeit Theorie des Fonctions Numeriques Simplement Periodiques von Edouard Lucas 1878 Dieser Test beruht auf Eigenschaften der Lucas Folgen und nicht wie der Lucas Test auf dem kleinen Fermatschen Satz Inhaltsverzeichnis 1 Funktionsweise 2 Beispiele 3 Beispielimplementierung in Python 4 Literatur 5 EinzelnachweiseFunktionsweise BearbeitenDer Lucas Lehmer Test funktioniert wie folgt Sei p displaystyle p nbsp ungerade und prim Die Folge S k displaystyle S k nbsp sei definiert durch S 1 4 S k 1 S k 2 2 displaystyle S 1 4 S k 1 S k 2 2 nbsp Dann gilt M p 2 p 1 displaystyle M p 2 p 1 nbsp ist genau dann eine Primzahl wenn S p 1 displaystyle S p 1 nbsp durch M p displaystyle M p nbsp teilbar ist 1 Dieser Satz wurde 1930 von Derrick Henry Lehmer gefunden und geht auf Edouard Lucas zuruck siehe Abbildung Mit Hilfe der Modulo Funktion mod lasst sich der Satz so formulieren Seien S 1 4 displaystyle S 1 4 nbsp und S k 1 S k 2 2 m o d M p displaystyle S k 1 equiv S k 2 2 mod M p nbsp Dann gilt M p displaystyle M p nbsp ist genau dann eine Primzahl wenn S p 1 0 displaystyle S p 1 0 nbsp Die Modulo Funktion bzgl einer Mersenne Zahl lasst sich im Dualsystem Binarsystem besonders einfach berechnen da die Mersenne Zahl darin nur aus lauter Einsen bestehen Beispiele BearbeitenBeispiel 1 Wir prufen mit diesem Verfahren ob M 5 2 5 1 31 displaystyle M 5 2 5 1 31 nbsp eine Primzahl ist S 1 4 S 2 4 2 mod 31 14 mod 31 14 S 3 14 2 mod 31 194 mod 31 8 S 4 8 2 mod 31 62 mod 31 0 Da S 4 0 displaystyle S 4 0 nbsp ist ist M 5 31 displaystyle M 5 31 nbsp eine Primzahl Beispiel 2 Wir prufen ob M 11 2 11 1 2047 displaystyle M 11 2 11 1 2047 nbsp eine Primzahl ist S 1 4 S 2 4 2 mod 2047 14 mod 2047 14 S 3 14 2 mod 2047 194 mod 2047 194 S 4 194 2 mod 2047 37634 mod 2047 788 S 5 788 2 mod 2047 620942 mod 2047 701 S 6 701 2 mod 2047 491399 mod 2047 119 S 7 119 2 mod 2047 14159 mod 2047 1877 S 8 1877 2 mod 2047 3523127 mod 2047 240 S 9 240 2 mod 2047 57598 mod 2047 282 S 10 282 2 mod 2047 79522 mod 2047 1736 Da S 10 gt 0 displaystyle S 10 gt 0 nbsp ist ist M 11 2047 displaystyle M 11 2047 nbsp keine Primzahl es gilt 2047 23 89 displaystyle 2047 23 cdot 89 nbsp Beispiel 3 Wir prufen ob M 19 2 19 1 524287 displaystyle M 19 2 19 1 524287 nbsp eine Primzahl ist S 1 4 S 2 4 2 mod 524287 14 S 3 14 2 mod 524287 194 S 4 194 2 mod 524287 37634 S 5 37634 2 mod 524287 218767 S 6 218767 2 mod 524287 510066 S 7 510066 2 mod 524287 386344 S 8 386344 2 mod 524287 323156 S 9 323156 2 mod 524287 218526 S 10 218526 2 mod 524287 504140 S 11 504140 2 mod 524287 103469 S 12 103469 2 mod 524287 417706 S 13 417706 2 mod 524287 307417 S 14 307417 2 mod 524287 382989 S 15 382989 2 mod 524287 275842 S 16 275842 2 mod 524287 85226 S 17 85226 2 mod 524287 523263 S 18 523263 2 mod 524287 0 Da S 18 0 displaystyle S 18 0 nbsp ist ist M 19 524287 displaystyle M 19 524287 nbsp eine Primzahl dies ist schon seit 1603 bekannt Beispielimplementierung in Python BearbeitenDas folgende Programm implementiert den Lucas Lehmer Test in der Programmiersprache Python In Python ist es moglich mit beliebig grossen ganzen Zahlen zu rechnen die nur durch den verfugbaren Speicher begrenzt sind Die hier vorgestellte Implementierung berucksichtigt nicht dass der Lucas Lehmer Test idealerweise bereits abbricht wenn p displaystyle p nbsp gerade oder nicht prim ist dies wird dem Nutzer uberlassen So wurde das Programm bei Eingabe von p 2 displaystyle p 2 nbsp die falsche Aussage liefern dass die Zahl 3 keine Mersenne Primzahl ist nbsp Briefstempel zur Entdeckung der Mersenne Primzahl 211213 1Auf einem Intel Pentium 4 aus dem Jahr 2005 benotigt die Rechnung fur p 11213 displaystyle p 11213 nbsp mit diesem Programm nur 41 Sekunden Die Rechnung im Jahr 1963 mit der nachgewiesen wurde dass M 11213 displaystyle M 11213 nbsp prim ist dauerte dagegen mit einem damaligen Supercomputer Illiac II 2 noch 2 Stunden 3 Lucas Lehmer Test fuer Python 3 print Lucas Lehmer Test Mersenne Zahlen p int input Exponent p von 2 p 1 m 2 p 1 print m 2 p 1 m s 4 for i in range 2 p s s s 2 m print ist eine Mersenne Primzahl format if s 0 else k Literatur BearbeitenPaulo Ribenboim Die Welt der Primzahlen Geheimnisse und Rekorde Springer Verlag Berlin u a 2006 ISBN 3 540 34283 4 Springer Lehrbuch Edouard Lucas Theorie des Fonctions Numeriques Simplement Periodiques In American Journal of Mathematics 1 No 4 1878 S 289 321 ISSN 0002 9327 dritter Teil der Abhandlung Derrick Henry Lehmer An extended theory of Lucas functions In The Annals of Mathematics 31 No 3 1930 S 419 448 ISSN 0003 486X erste Seite seiner Doktorarbeit von 1930 in einer Ausstellung in Berkeley sowie weitere Photos Einzelnachweise Bearbeiten Zum Beweis siehe Ribenboim Die Welt der Primzahlen S 78 79 ILLIAC II in der englischsprachigen Wikipedia Donald B Gillies Three new Mersenne primes and a statistical theory Abgerufen von https de wikipedia org w index php title Lucas Lehmer Test amp oldid 232830161