PRP-Zahl

Aus testwiki
Version vom 11. August 2023, 23:04 Uhr von imported>DJGrandfather (Rekordliste aktualisiert)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

In der Zahlentheorie ist eine PRP-Zahl (vom englischen probable prime) eine positive ganze Zahl n, die sehr wahrscheinlich eine Primzahl ist, weil ein probabilistischer Primzahltest diese als mögliche Primzahl kennzeichnet. Sie erfüllt Bedingungen, die auch Primzahlen erfüllen, die meisten zusammengesetzten Zahlen aber nicht. Ein endgültiger Beweis, dass diese Zahl tatsächlich prim ist, kann mit so einem Test aber noch nicht gegeben werden.

PRP-Zahlen können sich letztendlich auch als zusammengesetzt herausstellen, wenngleich die probabilistischen Primzahltests (wie zum Beispiel der Fermatsche Primzahltest) eher dafür sprechen, dass es sich um Primzahlen handelt. Stellt sich heraus, dass eine PRP-Zahl tatsächlich zusammengesetzt ist, so nennt man sie Pseudoprimzahl.

Es gibt auch „echte“ Primzahltests (wie zum Beispiel das einfache Durchdividieren durch alle Primzahlen, die sogenannte Probedivision), allerdings würden diese Tests bei Zahlen ab einer gewissen Größe auch für Computer zu lange dauern (momentan testet man bei der Probedivision bis etwa 232=4294967296),[1] deswegen wählt man bei sehr großen Zahlen eher obige probabilistische Primzahltests. Sie sind schneller, dafür aber auch „ungenauer“ (im Sinne von Primzahl / keine Primzahl). Mit diesen Tests kann man nicht mit absoluter Sicherheit feststellen, ob die gegebene Zahl eine Primzahl ist oder nicht. Man kann die Wahrscheinlichkeit, dass es sich bei der PRP-Zahl um eine zusammengesetzte Zahl handelt, aber sehr klein machen, indem man bei der zu untersuchenden PRP-Zahl mehrere verschiedene probabilistische Primzahltests anwendet.

PRP-Zahlen sind in der Regel sehr groß, weil man sonst die Primalität problemlos testen könnte. Momentan kennt man 10.000 PRP-Zahlen, die allesamt mehr als 50.000 Stellen haben.[1]

Eine PRP-Zahl, die beim Fermatschen Primzahltest mit einer gewissen Basis a „durchkommt“ (im Sinne von „schaut aus wie eine Primzahl“) nennt man PRP-Zahl zur Basis a. Sie ist entweder tatsächlich eine Primzahl oder eine Fermatsche Pseudoprimzahl zur Basis a.

Eine PRP-Zahl, die beim etwas strengeren Solovay-Strassen-Test mit einer gewissen Basis a „durchkommt“ (im Sinne von „schaut aus wie eine Primzahl“) nennt man Euler-PRP-Zahl zur Basis a. Sie ist entweder tatsächlich eine Primzahl oder eine Eulersche Pseudoprimzahl zur Basis a.

Eine PRP-Zahl, die beim noch strengeren Miller-Rabin-Test mit einer gewissen Basis a „durchkommt“ (im Sinne von „schaut aus wie eine Primzahl“) nennt man strenge PRP-Zahl (SPRP) zur Basis a. Sie ist entweder tatsächlich eine Primzahl oder eine starke Pseudoprimzahl zur Basis a.

Eine PRP-Zahl zur Basis a, die beim Miller-Rabin-Test mit einer gewissen Basis a nicht „durchkommt“ (und somit weder Primzahl noch starke Pseudoprimzahl zur Basis a ist) nennt man schwache PRP-Zahl zur Basis a. Sie ist keine Primzahl.

Eigenschaften

  • PRP-Zahlen müssen mindestens bei einem probabilistischen Primzahltest „durchkommen“ (also den Anschein erwecken, dass sie prim sein könnten).
  • PRP-Zahlen sind gute Kandidaten für probabilistische Primzahltests.

Häufigkeiten

  • Bis x=25109 gibt es:[2]
* 1091987405 Primzahlen, davon sind 1091987404 ungerade Primzahlen (nur die Primzahl 2 ist gerade)
* 21853 Fermatsche Pseudoprimzahlen zur Basis 2
* 11347 Eulersche Pseudoprimzahlen zur Basis 2
* 4842 Starke Pseudoprimzahlen zur Basis 2
* 2163 Carmichael-Zahlen
Dies bedeutet, dass man schon mit einem einzigen probabilistischen Primzahltest, zum Beispiel dem Fermatschen Primzahltest, sehr gute Ergebnisse erzielen kann:
Unter x=25109 (also unter 25 Milliarden) gibt es π(x)=1.091.987.405 Primzahlen (1.091.987.404 davon sind ungerade) und nur 21853 Fermatsche Pseudoprimzahlen zur Basis 2. Der Fermatsche Primzahltest zur Basis 2 würde, wenn man alle 25 Milliarden Zahlen testen würde, genau 1.091.987.404+21.853=1.092.009.257 mal eine PRP-Zahl melden. Nur bei 21853 PRP-Zahlen würde sich herausstellen, dass sie eine Pseudoprimzahl und somit zusammengesetzt ist. Das bedeutet, dass nur 2185310920092570,002% der PRP-Zahlen, die man mit dem Fermatschen Primzahltest herausgefunden hat, sich als zusammengesetzt entpuppen. Macht man einen weiteren Primzahltest mit einer anderen Basis ungleich 2, so verringert sich dieser Prozentsatz noch weiter.
  • Sei P(n) die n-te Primzahl. Die kleinsten ungeraden Zahlen, bei denen der Miller-Rabin-Test für jede Basis aP(n) eine vermeintliche Primzahl (also keine Zusammengesetztheit) meldet, sind die folgenden:
2047, 1373653, 25326001, 3215031751, 2152302898747, 3474749660383, 341550071728321, 341550071728321, 3825123056546413051, 3825123056546413051, 3825123056546413051, 318665857834031151167461, 3317044064679887385961981 (Vorlage:OEIS)
Beispiele:
* Die kleinste Zahl, bei der sich der Miller-Rabin-Test mit Basis a=2 „irrt“ (im Sinne von „Primzahl, dabei in Wirklichkeit doch zusammengesetzt“) ist 2047=2389.
* Die kleinste Zahl, bei der sich der Miller-Rabin-Test sowohl mit Basis a=2 als auch mit Basis a=3 „irrt“ (im Sinne von „Primzahl, dabei in Wirklichkeit doch zusammengesetzt“) ist 1373653=8291657.
* Die kleinste Zahl, bei der sich der Miller-Rabin-Test sowohl mit Basis a=2 als auch mit den Basen a=3,5,7,11 und 13 „irrt“ (im Sinne von „Primzahl, dabei in Wirklichkeit doch zusammengesetzt“) ist 3474749660383=130316927157543.
Das bedeutet, dass man, wenn man wissen will, ob eine Zahl n<3.474.749.660.383 prim ist oder nicht, lediglich mit dem Miller-Rabin-Test mit den sechs Basen a=2,3,5,7,11 und 13 „drüberfahren“ muss, um sicher entscheiden zu können, ob es sich um eine Primzahl handelt oder nicht.

Beispiele

  • Man will wissen, ob die Zahl n=2363418209 eine Primzahl ist oder nicht.
Schritt 1: Probedivision
Man kontrolliert, ob es eine Primzahl gibt, die ein Teiler von n ist. Man dividiert n durch die ersten Primzahlen, also durch 2,3,5,7,11,13,17 und 19 (oder weiter) und stellt fest, dass diese Zahlen keine Teiler von n=2363418209 sind. Man müsste n durch alle Primzahlen p teilen, für welche p236341820948615 gilt. Dies erscheint aber zu aufwändig. Somit geht man weiter zu
Schritt 2: Probabilistischer Primzahltest, zum Beispiel der Fermatsche Primzahltest:
Jede Primzahl p und jede dazu teilerfremde natürliche Zahl a erfüllt folgende Kongruenz:
ap11(modp)
Bei uns ist möglicherweise n=2363418209 eine Primzahl, wir setzen p=2363418209. Wir kontrollieren, ob mit a=2 obige Kongruenz erfüllt ist. Man erhält
223634182091=22363418208817442832≢1(mod2363418209)
Ganz offensichtlich erfüllt die Zahl n=2363418209 nicht das Primzahlkriterium des Fermatschen Primzahltests und ist deswegen sowohl keine PRP-Zahl (zur Basis 2) als auch keine Primzahl. Welche Teiler diese Zahl hat, ist ein anderes, bei hohen Zahlen wesentlich schwierigeres Problem (in diesem Fall ist n=2363418209=4861148619).

Nun folgt eine Zahl, deren Primzahlbestimmung etwas schwieriger ist:

  • Man will wissen, ob die Zahl n=399001 eine Primzahl ist oder nicht.
Schritt 1: Probedivision
Man kontrolliert, ob es eine Primzahl gibt, die ein Teiler von n ist. Man dividiert n durch die ersten Primzahlen, also durch 2,3,5,7,11,13,17 und 19 und stellt fest, dass diese Zahlen keine Teiler von n=399001 sind. Man müsste n durch alle Primzahlen teilen, welche 399001631,7 sind. Dies erscheint aber zu aufwändig. Somit geht man weiter zu
Schritt 2: Probabilistischer Primzahltest, zum Beispiel der Fermatsche Primzahltest:
Jede Primzahl p und jede dazu teilerfremde natürliche Zahl a erfüllt folgende Kongruenz:
ap11(modp)
Bei uns ist möglicherweise n=399001 eine Primzahl, wir setzen p=399001. Wir kontrollieren, ob mit a=2 obige Kongruenz erfüllt ist. Man erhält tatsächlich
23990011=23990001(mod399001)
Die Zahl n=399001 ist somit eine PRP-Zahl zur Basis 2 und entweder tatsächlich eine Primzahl, oder sie ist eine Fermatsche Pseudoprimzahl zur Basis 2.
Man wiederholt diese Kongruenz, diesmal mit a=3:
33990011=33990001(mod399001)
Die Zahl n=399001 ist somit auch eine PRP-Zahl zur Basis 3 und entweder tatsächlich eine Primzahl, oder es ist eine Fermatsche Pseudoprimzahl zur Basis 3.
Man wiederholt diesen Test mit a=5,7,11,13 und 17 und erhält als Ergebnis jedes Mal, dass n=399001 entweder tatsächlich eine Primzahl, oder jeweils eine Fermatsche Pseudoprimzahl zur Basis a=5,7,11,13 und 17 ist.
Es ist n=399001 auf jeden Fall eine PRP-Zahl, da sie mindestens einen Primzahltest „erfolgreich“ überstanden hat (im Sinne von „könnte eine Primzahl sein“). Der Fermatsche Primzahltest deutet eher auf eine Primzahl hin. Man geht weiter zu
Schritt 3: ein anderer probabilistischer Primzahltest, zum Beispiel der Solovay-Strassen-Test
Sei n=399001, a=2 und b:=an12(modn). Dann ist
b=2399001121(mod399001)
Es ist b=1, somit kann es sich bei n=399001 um eine Primzahl oder eine Eulersche Pseudoprimzahl handeln. Nun berechnet man das Jacobi-Symbol J(a,n)=J(2,399001):
J(2,399001)=11b(mod399001)
Der Solovay-Strassen-Test liefert also keine Aussage (wäre J(2,399001)≢b(mod399001), wäre n zusammengesetzt), n=399001 ist eine Euler-PRP-Zahl zur Basis 2 und kann eine Primzahl oder eine Eulersche Pseudoprimzahl zur Basis 2 sein.
Man wiederholt diese Tests mit a=3,5,7,11,13,17 und 19 und erhält als Ergebnis jedes Mal, dass n=399001 entweder tatsächlich eine Primzahl, oder jeweils eine Eulersche Pseudoprimzahl zur Basis a=3,5,7,11,13,17 und 19 ist. Man fährt fort mit
Schritt 4: ein anderer probabilistischer Primzahltest, zum Beispiel der Miller-Rabin-Test
Zuerst wählt man eine Zahl a aus der Menge {2,3,,n2=398999}. Der nächste Schritt ist ein Test, den nur Primzahlen und starke Pseudoprimzahlen (zur Basis a) bestehen. Man berechnet d (ungerade) und j, so dass
n1=d2j,
und prüft dann, ob entweder
ad1(modn)
oder
ad2r1(modn) für ein r mit 0r<j
gilt.
Wir wählen a=2 und erhalten
n1=3990011=399000=4987523=d2j
Somit ist d=49875 und j=3. Man kontrolliert nun obige Kongruenz
2d=24987547896≢1(mod399001)
und stellt somit fest, dass n=399001 keine Primzahl ist. Es ist also gesichert, dass sie zusammengesetzt sein muss. Welche Primteiler sie hat, weiß man aber nicht. Hätte man beim Schritt 1 bis zur Zahl 31 weitergemacht, hätte man festgestellt, dass 399001:31=12871 ist und somit die Zahl 31 als Primteiler hat. Das Problem ist, dass man bei großen Zahlen irgendwann mit den Probedivisionen aufhören muss. Die Zahl n=399001 ist im Speziellen sogar eine Carmichael-Zahl und eine absolute Eulersche Pseudoprimzahl und erfüllt somit viele Eigenschaften von Primzahlen, obwohl sie keine ist. Normalerweise erkennt man schneller, ob eine PRP-Zahl eine Primzahl ist oder nicht.

Liste von Pseudoprimzahlen

Die folgenden Zahlen sind die kleinsten Fermatschen Pseudoprimzahlen zur Basis 2:

341, 561, 645, 1105, 1387, 1729, 1905, 2047, 2465, 2701, 2821, 3277, 4033, 4369, 4371, 4681, 5461, 6601, 7957, 8321, 8481, 8911, 10261, 10585, 11305, 12801, 13741, 13747, 13981, 14491, 15709, 15841, 16705, 18705, 18721, 19951, 23001, 23377, 25761, 29341, … (Vorlage:OEIS)

Die folgenden Zahlen sind die kleinsten Fermatschen Pseudoprimzahlen zur Basis 3:

91, 121, 286, 671, 703, 949, 1105, 1541, 1729, 1891, 2465, 2665, 2701, 2821, 3281, 3367, 3751, 4961, 5551, 6601, 7381, 8401, 8911, 10585, 11011, 12403, 14383, 15203, 15457, 15841, 16471, 16531, 18721, 19345, 23521, 24046, 24661, 24727, 28009, 29161, … (Vorlage:OEIS)

Weitere Fermatsche Pseudoprimzahlen siehe hier.

Die folgenden Zahlen sind die kleinsten Eulerschen Pseudoprimzahlen zur Basis 2:

341, 561, 1105, 1729, 1905, 2047, 2465, 3277, 4033, 4681, 5461, 6601, 8321, 8481, 10261, 10585, 12801, 15709, 15841, 16705, 18705, 25761, 29341, 30121, 31621, 33153, 34945, 41041, 42799, … (Vorlage:OEIS)

Die folgenden Zahlen sind die kleinsten Eulerschen Pseudoprimzahlen zur Basis 3:

121, 703, 1541, 1729, 1891, 2465, 2821, 3281, 4961, 7381, 8401, 8911, 10585, 12403, 15457, 15841, 16531, 18721, 19345, 23521, 24661, 28009, 29341, 30857, 31621, 31697, 41041, 44287, 46657, 47197, 49141, 50881, 52633, 55969, 63139, 63973, 72041, 74593, 75361, … (Vorlage:OEIS)

Weitere Eulerschen Pseudoprimzahlen siehe hier.

Die folgenden Zahlen sind die kleinsten starken Pseudoprimzahlen zur Basis 2:

2047, 3277, 4033, 4681, 8321, 15841, 29341, 42799, 49141, 52633, 65281, 74665, 80581, 85489, 88357, 90751, 104653, 130561, 196093, 220729, 233017, 252601, 253241, 256999, 271951, 280601, 314821, 357761, 390937, 458989, 476971, 486737, … (Vorlage:OEIS)

Die folgenden Zahlen sind die kleinsten starken Pseudoprimzahlen zur Basis 3:

121, 703, 1891, 3281, 8401, 8911, 10585, 12403, 16531, 18721, 19345, 23521, 31621, 44287, 47197, 55969, 63139, 74593, 79003, 82513, 87913, 88573, 97567, 105163, 111361, 112141, 148417, 152551, 182527, 188191, 211411, 218791, 221761, 226801, … (Vorlage:OEIS)

Weitere starke Pseudoprimzahlen siehe hier.

Die folgenden Zahlen sind die kleinsten Carmichael-Zahlen:

561, 1105, 1729, 2465, 2821, 6601, 8911, 10585, 15841, 29341, 41041, 46657, 52633, 62745, 63973, 75361, 101101, 115921, 126217, 162401, 172081, 188461, 252601, 278545, 294409, 314821, 334153, 340561, 399001, 410041, 449065, 488881, 512461, … (Vorlage:OEIS)

Diese Zahlen sind für den Fermatschen Primzahltest ungeeignet, weil sie bezüglich jeder zur zu untersuchenden Zahl n teilerfremden Basis a eine Fermatsche Pseudoprimzahl ist.

Die folgenden Zahlen sind die kleinsten absoluten Eulerschen Pseudoprimzahlen:

1729, 2465, 15841, 41041, 46657, 75361, 162401, 172081, 399001, 449065, 488881, 530881, 656601, 670033, 838201, 997633, 1050985, 1615681, 1773289, 1857241, 2113921, 2433601, 2455921, 2704801, 3057601, 3224065, 3581761, 3664585, 3828001, 4463641, 4903921, … (Vorlage:OEIS)

Diese Zahlen sind für den Solovay-Strassen-Test ungeeignet, weil sie bezüglich jeder zur zu untersuchenden Zahl n teilerfremden Basis a eine Eulersche Pseudoprimzahl ist.

Die zehn größten PRP-Zahlen

Es folgt eine Liste der momentan 10 größten PRP-Zahlen, also von Zahlen, die wahrscheinlich Primzahlen sind, von denen man es aber noch nicht sicher weiß. Der vorletzten Spalte kann man entnehmen, um welche Art von Primzahl es sich handeln würde, wenn sich herausstellt, dass diese Zahl tatsächlich einen Primzahl ist. Der letzten Spalte kann man entnehmen, die wievieltgrößte Primzahl die jeweilige PRP-Zahl wäre, wenn diese (und nur diese) sich tatsächlich als Primzahl herausstellen würde (Stand: 12. August 2023):

Rang PRP-Zahl[1] Anzahl
der Stellen
Entdecker Datum der
Entdeckung
Anmerkung theoretischer
Primzahlrang[3]
Vorlage:01. 10817720719 8177207 Ryan Propper, Sergey Batalov 8. Mai 2021 wäre die größte Repunit Vorlage:012.
Vorlage:02. 10579477719 5794777 Ryan Propper, Sergey Batalov 20. April 2021 wäre die zweitgrößte Repunit Vorlage:025.
Vorlage:03. 215135397+13 4556209 Ryan Propper Juni 2021 wäre die größte Wagstaff-Primzahl Vorlage:045.
Vorlage:04. 21338029827 4027872 Jeff Gilchrist, Vincent Diepeveen, Tony Reix, Paul Underwood März 2021 Vorlage:060.
Vorlage:05. 213372531+13 4025533 Ryan Propper September 2013 wäre die zweitgrößte Wagstaff-Primzahl Vorlage:060.
Vorlage:06. 213347311+13 4017941 Ryan Propper September 2013 wäre die drittgrößte Wagstaff-Primzahl Vorlage:060.
Vorlage:07. 212720787111194292571755731245474379778480999878421106991 3829294 Anonymous Juli 2020 wäre der vierte Primfaktor der Mersenne-Zahl M12720787 Vorlage:066.
Vorlage:08. 212588091132075464348897282169539424801 3789365 Eden Avidan, Naegi Makoto Mai 2023 wäre der zweite Primfaktor der Mersenne-Zahl M12588091 Vorlage:066.
Vorlage:09. 21250372326251862+15=(262518621)2+110 3763995 Ryan Propper, Sergey Batalov Juli 2020 wäre der zweite Primfaktor der verallgemeinerten Mersenne-Zahl 21250372326251862+1 Vorlage:066.
10. 210443557137289325994807 3143811 GIMPS-fre_games Juli 2020 wäre der zweite Primfaktor der Mersenne-Zahl M10443557 109.

Einzelnachweise