Lucas-Test (Mathematik)

Dieser Artikel erläutert den Primzahltest für natürliche Zahlen n, für die die Faktorisierung von n−1 bekannt ist. Zum Primzahltest für Mersenne-Zahlen siehe Lucas-Lehmer-Test.

Der Lucas-Test ist eine Weiterentwicklung des Fermatschen Primzahltests durch den Mathematiker Édouard Lucas. Der Test wurde in den 1950er Jahren von Derrick Henry Lehmer und später nochmals von John Brillhart und John L. Selfridge verbessert. Er sollte nicht mit dem Lucas-Lehmer-Test für Mersenne-Zahlen verwechselt werden.

Fermatscher Primzahltest

Gegeben sei eine natürliche Zahl n > 1 {\displaystyle n>1} , für die man prüfen möchte, ob sie prim ist. Nach dem fermatschen Primzahltest ist n {\displaystyle n} keine Primzahl, wenn folgende Bedingung für eine zu n {\displaystyle n} teilerfremde Zahl a {\displaystyle a} mit 1 < a < n {\displaystyle 1<a<n} zutrifft:

a n 1 1 ( mod n ) {\displaystyle a^{n-1}\not \equiv 1{\pmod {n}}}

Der Fermat-Test liefert also niemals die Aussage, dass eine Zahl prim ist, sondern kann nur das Prim-Sein ausschließen. Für die Carmichael-Zahlen liefert der Fermat-Test keine Aussage.

Lucas-Test

Im Jahr 1876 gelang Édouard Lucas folgende Umkehrung des kleinen fermatschen Satzes:

(Vorläufer des Lucas-Tests) Eine natürliche Zahl n {\displaystyle n} ist genau dann eine Primzahl, wenn es ein a {\displaystyle a} mit 1 < a < n {\displaystyle 1<a<n} gibt, für das

a n 1 1 ( mod n ) {\displaystyle a^{n-1}\equiv 1{\pmod {n}}}

sowie

a m 1 ( mod n ) {\displaystyle a^{m}\not \equiv 1{\pmod {n}}}

für alle natürlichen Zahlen m < n 1 {\displaystyle m<n-1} gilt.

Dieses Ergebnis lässt sich nur schwer anwenden, da so viele m {\displaystyle m} geprüft werden müssen. Im Jahr 1891 verbesserte Lucas den Satz und erhielt den nach ihm benannten Primzahltest:

(Lucas-Test) Eine natürliche Zahl n {\displaystyle n} ist genau dann eine Primzahl, wenn es ein a {\displaystyle a} mit 1 < a < n {\displaystyle 1<a<n} gibt, für das

a n 1 1 ( mod n ) {\displaystyle a^{n-1}\equiv 1{\pmod {n}}}

sowie

a m 1 ( mod n ) {\displaystyle a^{m}\not \equiv 1{\pmod {n}}}

für alle echten Teiler m < n 1 {\displaystyle m<n-1} von n 1 {\displaystyle n-1} gilt.[1]

Da hier nur noch die Teiler von n 1 {\displaystyle n-1} getestet werden müssen, sind erheblich weniger Rechenschritte nötig. Ein Nachteil ist jedoch, dass man die Primfaktorzerlegung von n 1 {\displaystyle n-1} kennen muss. n 1 {\displaystyle n-1} muss also faktorisiert werden. Für Zahlen mit einem besonderen Aufbau ist diese Methode aber sehr effizient, so zum Beispiel bei Zahlen der Form 2 k + 1 {\displaystyle 2^{k}+1} .

Ist die Bedingung des Lucas-Tests für eine Basis a {\displaystyle a} nicht erfüllt, so folgt nicht, dass die Zahl n {\displaystyle n} zusammengesetzt ist. Dafür müsste man nämlich alle Basen 1 < a < n {\displaystyle 1<a<n} prüfen.

Beispiel:

Für die Zahl n = 59 {\displaystyle n=59} gilt 2 58 1 mod 5 9 {\displaystyle 2^{58}\equiv 1{\bmod {5}}9} . Die echten Teiler von n 1 = 58 {\displaystyle n-1=58} sind 1 , 2 {\displaystyle 1,2} und 29 {\displaystyle 29} . Weiter gilt 2 1 2 mod 5 9 , 2 2 4 mod 5 9 {\displaystyle 2^{1}\equiv 2{\bmod {5}}9,2^{2}\equiv 4{\bmod {5}}9} und 2 29 1 mod 5 9 {\displaystyle 2^{29}\equiv -1{\bmod {5}}9} . Es folgt, dass 59 {\displaystyle 59} eine Primzahl ist.

Erweiterungen von Lehmer, Brillhart und Selfridge

Derrick Henry Lehmer fand 1953 den verbesserten Lucas-Test. Im Jahr 1967 wurde eine weitere Version (flexibler Lucas-Test) von John Brillhart und John L. Selfridge entdeckt.

Verbesserter Lucas-Test

Der verbesserte Lucas-Test beruht auf folgender Eigenschaft:
n {\displaystyle n} ist genau dann eine Primzahl, wenn es eine natürliche Zahl a {\displaystyle a} mit 1 < a < n {\displaystyle 1<a<n} gibt, für die

a n 1 1 ( mod n ) {\displaystyle a^{n-1}\equiv 1{\pmod {n}}}

sowie

a n 1 q i 1 ( mod n ) {\displaystyle a^{\frac {n-1}{q_{i}}}\not \equiv 1{\pmod {n}}}

für alle Primfaktoren q i {\displaystyle q_{i}} von n 1 {\displaystyle n-1} gilt.

Die Anwendung dieses Tests auf Fermat-Zahlen wird mit Pépin-Test bezeichnet.

Flexibler Lucas-Test

Der flexible Lucas-Test beruht auf folgender Eigenschaft:
Für die natürliche Zahl n {\displaystyle n} sei die Primfaktorzerlegung von n 1 {\displaystyle n-1} gegeben durch

n 1 = q 1 e 1 q r e r {\displaystyle n-1=q_{1}^{e_{1}}\cdot \ldots \cdot q_{r}^{e_{r}}} .

Dann gilt: n {\displaystyle n} ist genau dann eine Primzahl, wenn es zu jedem Primfaktor q i {\displaystyle q_{i}} eine natürliche Zahl a i {\displaystyle a_{i}} mit 1 < a i < n {\displaystyle 1<a_{i}<n} gibt, für die

a i n 1 1 ( mod n ) {\displaystyle a_{i}^{n-1}\equiv 1{\pmod {n}}}

sowie

a i n 1 q i 1 ( mod n ) {\displaystyle a_{i}^{\frac {n-1}{q_{i}}}\not \equiv 1{\pmod {n}}}

gilt.[2]

Beispiel

Wir betrachten die Primzahl n = 911 {\displaystyle n=911} . Die Vorgängerzahl n 1 = 910 {\displaystyle n-1=910} hat die Primteiler q = 2 , 5 , 7 {\displaystyle q=2,5,7} und 13 {\displaystyle 13} . Die folgende Tabelle zeigt dazu passende a {\displaystyle a} und wie die Bedingungen erfüllt werden:

q a an-1 ≡ 1 (mod n) a(n-1)/q ≢ 1 (mod n)
2 7 7910 ≡ 1 (mod 911) 7910/2 ≡ -1 (mod 911)
5 3 3910 ≡ 1 (mod 911) 3910/5 ≡ 482 (mod 911)
7 2 2910 ≡ 1 (mod 911) 2910/7 ≡ 568 (mod 911)
13 2 2910 ≡ 1 (mod 911) 2910/13 ≡ 577 (mod 911)

Pratt Primzahltest

Der Pratt-Test ist ein iterierter Lucas-Test.[3][4] Für alle Primfaktoren von n 1 {\displaystyle n-1} wird wiederum geprüft, ob diese Primzahlen sind.

Fermat-Paar

( a , b ) {\displaystyle (a,b)} ist ein Fermat-Paar, falls ( a , b ) = ( 1 , 2 ) ( a 2 a n 1 1 mod n ) {\displaystyle (a,b)=(1,2)\lor (a\geq 2\land a^{n-1}\not \equiv 1\mod n)}

Pratt-Sequenz

( a 1 , b 1 ) ( a k , b k ) {\displaystyle (a_{1},b_{1})\dots (a_{k},b_{k})} ist eine Pratt-Sequenz, wenn für jedes Fermat-Paar ( a , b ) {\displaystyle (a,b)} aus der Sequenz gilt, dass für jeden Primfaktor p {\displaystyle p} von b {\displaystyle b} ein Fermat-Paar ( a , p ) {\displaystyle (a',p)} in der Prattsequenz enthalten ist und es gilt: a n 1 p 1 {\displaystyle a^{\frac {n-1}{p}}\not \equiv 1}


Für jede Primzahl gibt es eine Pratt-Sequenz in der Länge der Darstellung der Primzahl, weshalb P r i m e N P {\displaystyle Prime\in NP} .

Beispiel

Für 797 {\displaystyle 797} ist folgendes eine Mögliche Pratt-Sequenz

( 5 , 797 ) , ( 1 , 2 ) , ( 6 , 199 ) , ( 5 , 3 ) , ( 3 , 11 ) {\displaystyle (5,797),(1,2),(6,199),(5,3),(3,11)}

zu Überprüfen ist nun noch, ob a b 1 1 {\displaystyle a^{b-1}\equiv 1} und danach, ob für die Primteiler p {\displaystyle p} von b 1 {\displaystyle b-1} gilt, a b 1 2 {\displaystyle a^{\frac {b-1}{2}}\not \equiv }


( 5 , 797 ) {\displaystyle (5,797)}

5 797 1 mod 797 5 796 mod 797 1 {\displaystyle 5^{797-1}\mod 797\equiv 5^{796}\mod 797\equiv 1}

5 796 2 mod 797 5 398 mod 797 796 1 {\displaystyle 5^{\frac {796}{2}}\mod 797\equiv 5^{398}\mod 797\equiv 796\not \equiv 1}

5 796 199 mod 797 5 4 mod 797 625 1 {\displaystyle 5^{\frac {796}{199}}\mod 797\equiv 5^{4}\mod 797\equiv 625\not \equiv 1}


( 6 , 199 ) {\displaystyle (6,199)}

6 199 1 mod 199 6 198 mod 199 1 {\displaystyle 6^{199-1}\mod 199\equiv 6^{198}\mod 199\equiv 1}

6 198 2 mod 199 6 99 mod 199 198 1 {\displaystyle 6^{\frac {198}{2}}\mod 199\equiv 6^{99}\mod 199\equiv 198\not \equiv 1}

6 198 3 mod 199 6 66 mod 199 192 1 {\displaystyle 6^{\frac {198}{3}}\mod 199\equiv 6^{66}\mod 199\equiv 192\not \equiv 1}

6 198 11 mod 199 6 18 mod 199 63 1 {\displaystyle 6^{\frac {198}{11}}\mod 199\equiv 6^{18}\mod 199\equiv 63\not \equiv 1}


( 5 , 3 ) {\displaystyle (5,3)}

5 3 1 mod 3 5 2 mod 3 1 {\displaystyle 5^{3-1}\mod 3\equiv 5^{2}\mod 3\equiv 1}

5 2 2 mod 3 5 1 mod 3 2 1 {\displaystyle 5^{\frac {2}{2}}\mod 3\equiv 5^{1}\mod 3\equiv 2\not \equiv 1}


( 2 , 5 ) {\displaystyle (2,5)}

2 5 1 mod 5 2 4 mod 5 1 {\displaystyle 2^{5-1}\mod 5\equiv 2^{4}\mod 5\equiv 1}

2 2 2 mod 5 2 1 mod 5 2 1 {\displaystyle 2^{\frac {2}{2}}\mod 5\equiv 2^{1}\mod 5\equiv 2\not \equiv 1}

Literatur

  • Paulo Ribenboim: Die Welt der Primzahlen. Geheimnisse und Rekorde. Springer, Berlin u. a. 2006, ISBN 3-540-34283-4 (Springer-Lehrbuch).
  • John Brillhart, D. H. Lehmer, J. L. Selfridge: New Primality Criteria and factorizations of 2 n ± 1 {\displaystyle 2^{n}\pm 1} . In: Mathematics of Computation. 29, 1975, ISSN 0025-5718, S. 620–647, online (PDF; 2,14 MB).

Einzelnachweise

  1. Beweise hierzu: siehe Ribenboim, Die Welt der Primzahlen, Seite 40.
  2. Zum Beweis dieses und des vorigen Satzes siehe Ribenboim, Die Welt der Primzahlen, Seite 42.
  3. Daniela Steidl: Primzahlzertifikat von Pratt. 17. April 2008, abgerufen am 7. Mai 2020. 
  4. apl. Prof. Dr. Klaus Reinhardt: Pratt Primzahlentest. Abgerufen am 7. Mai 2020 (deutsch, englisch).