Zum Inhalt springen

Benutzer:Abrankov/Lucas-Test

Aus Wikiversity



Lucas-Test



Primzahltests auf Grundlage von Kongruenzen


Édouard Lucas



Satz (Lucas Test)  

Eine natürliche Zahl n ist genau dann eine Primzahl, wenn es eine

natürliche Zahl 0<a<n gibt mit

an11modn, aber an1q≢1modn
für alle Primteiler q von n1.

Beweis  



Wir wollen zeigen, dass n=61 prim ist. Wegen n1=60=2235 folgt dies aus

2602=230=(26)5=6453560≢1mod61,
2603=220=(26)322=6432233447≢1mod61,
2605=212=(26)2=642329≢1mod61.


Eine direkte Verallgemeinerung des Lucas Test ist der Pocklington Test:



Satz (Pocklington)  

Sei n eine natürliche Zahl, so dass n1 eine Faktorisierung der Form n1=RF besitzt, wobei alle Primteiler von F bekannt sind. Weiterhin gebe es eine natürliche Zahl 0<a<n mit
  1. an11modn
  2. ggT(an1q1,n)=1
für alle Primteiler q von F. Ist dann Fn, so ist n eine Primzahl.

Beweis  


Die anderen berühmten Primzahlen sind die Fermatschen Primzahlen, obwohl man davon nur 5 Stück kennt und vermutet, dass es keine weiteren gibt. Auch für diese Zahlen gibt es einen speziellen Test, den Pepin Test. Er beruht auf dem Lucas Test, der immer anwendbar ist, wenn man die Primteiler von n1 kennt. Für die Fermatschen Primzahlen reicht es aus, im Lucas Test die Zahl a=3 zu überprüfen:



Satz (Pepin Test)  

Die Zahl

Fr=22r+1, r1, ist genau dann eine Primzahl, falls

3Fr121modFk.

Beweis  



Da Fr doppelt exponentiell in r wächst, kann man den Test per Hand nur für sehr kleine r durchführen. Wir betrachten hier F2=222+1=24+1=17. Diese Zahl ist prim, weil

3F212=323=38=(34)21321mod17.




Bei der Anwendung des Lucas Tests auf eine beliebige Zahl n gibt es zwei Probleme:

  1. Man muss die Primteiler von n1 kennen. Dies ist ein Faktorisierungsproblem und damit im Allgemeinen schwierig.
  2. Man muss alle n1 Werte für a überprüfen. Dies bedeutet einen sehr hohen Rechenaufwand. (Die Anzahl könnte man verkleinern, wenn man berücksichtigt, dass es φ(n1) Primitivwurzeln modulo n für n prim gibt. Man bleibt aber in der gleichen Größenordnung für den Rechenaufwand.)

Um das erste Problem in den Griff zu bekommen, könnte man hoffen, dass ein n bereits prim ist, falls an11modn ist für alle zu n teilerfremden a im Bereich von 1 bis n1. Das ist aber leider nicht richtig.



Satz (Miller-Rabin Test)

Sei n3 ungerade und n1=2tm für m ungerade. n ist genau dann eine Primzahl, wenn für jede zu n teilerfremde Zahl 0<a<n gilt
am1modn oder 2sm1modn für  ein s{0,1,,t1}.
Ist n keine Primzahl, so erfüllt höchstens ein Viertel alle Zahlen a eine der Bedingungen.


Wir möchten überprüfen, ob 89 mit Miller-Rabin Test eine Primzahl ist. Es gilt n1=88=2311, also t=3. Wir testen für zwei zufällige Zahlen a=3 und a=5 erhalten wir:

31137modn
32.1137234modn
34.113721modn


51155modn
52.115521modn


Die zwei Testzahlen erfüllen die Testbedingung.




Lucas-Folgen

................... ...................



Primzahltests auf Grundlage von Lucas-Folgen


Der Lucas-Lehmer-Test ist ein Verfahren, um Mersenne-Primzahlen zu überprüfen. Entwickelt wurde der Test von Eduardo Luca und Derrick Henry Lehmer, der die Arbeiten von Luca fortsetzte. Als mathematische Grundlagen dienen Lucas-Folgen. Häufigste Verwendung findet der Test beim Suchen von sehr großen Primzahlen. Er ist seit Jahren die effizienteste Methode, um die größten zurzeit bekannten Primzahlen zu entdecken, und wird als Standardtestverfahren beim GIMPS-Projekt (Great Internet Mersenne Prime Search) eingesetzt. Zuerst werden wir der Lucas-Lehmer-Test für beliebige Zahl n zeigen und dann für Mersenne-Primzahlen.



Lemma  

Sei ggT(Q,n)=1. Es existiert ein d1, sodaß die Menge G={tUt0modn} und G hat die Form G=d.

Beweis  



Satz (Lucas-Lehmer-Test)  

Sei n+1=j=1rqjβj mit qj paarweise verschiedenen Primzahlen. Sei Ui eine Lucas-Folge mit ggT(2QcD,n)=1 und
ggT(Un1qj,n)=1 für alle j=1,2,...,r.


Ist nun Un+10modn,

so ist n prim.

Beweis  




Lucas-Lehmer-Test für Mersennezahlen

............................ ............................

Literatur