# Lucas-Test (A.Brankova und T.Nikolaenkova)/latex

„Es wird wohl noch mindestens eine Million Jahre vergehen, bevor wir die Primzahlen verstehen“ Paul Erdös
Eine wesentliche Rolle in der Zahlentherie spielt der Begriff der Primzahl. Diese Arbeit beschäftigt sich mit der Bestimmung der Primalität einer Zahl mit Hilfe von Lucas-Test.
\zwischenueberschrift{Lucas-Test}
\zwischenueberschrift{Primzahltests auf Grundlage von Kongruenzen}
natürliche Zahl $0 < a < n$ gibt mit \mathdisp {a^{n-1}\equiv 1\mod n, \,\,\, \text{ aber } \,\,\, a^\frac{n-1}q \not\equiv 1\mod n} für alle Primteiler $q$ von $n-1$. } {Benutzer:Abrankov/Lucas Test/Fakt/Beweis
\inputbeispiel{ } { Wir wollen zeigen, dass $n = 61$ prim ist. Wegen $n-1=60=2^2\cdot3\cdot5$ folgt dies aus \einrueckung{$2^\frac {60} 2=2^{30}=(2^6)^5 =64^5\equiv 3^5\equiv 60 \not\equiv 1\mod 61$,} \einrueckung{$2^\frac {60} 3=2^{20}=(2^6)^3\cdot2^2 ={64}^3\cdot2^2\equiv 3^3\cdot4\equiv 47 \not\equiv 1\mod 61$,} \einrueckung{$2^\frac {60} 5=2^{12}=(2^6)^2 =64^2\equiv 3^2\equiv 9 \not\equiv 1\mod 61$.} }
Eine direkte Verallgemeinerung des Lucas Test ist der Pocklington Test:
\aufzaehlungzwei {$a^{n-1}\equiv1\mod n$ } {${ggT} \,(a^\frac{n-1}q-1,n) =1$ } für alle Primteiler $q$ von $F$. Ist dann $F\ge\sqrt n$, so ist $n$ eine Primzahl. } {Benutzer:Abrankov/Pocklington Test/Fakt/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 $n-1$ kennt. Für die Fermatschen Primzahlen reicht es aus, im Lucas Test die Zahl $a=3$ zu überprüfen:
$F_r=2^{2^r}+1{ , } \,\,\ r \ge 1$, ist genau dann eine Primzahl, falls \mathdisp {3^\frac{F_r-1}2 \equiv -1\mod F_k} {.} } {Benutzer:Abrankov/Pepin Test/Beweis
\inputbeispiel { Da $F_r$ doppelt exponentiell in $r$ wächst, kann man den Test per Hand nur für sehr kleine $r$ durchführen. Wir betrachten hier $F_2 = 2^{2^2} + 1 = 2^4 + 1 = 17$. Diese Zahl ist prim, weil
\mathdisp {3^\frac{F_2-1}2 = 3^{2^3} = 3^8 = (3^4)^2 \equiv 13^2 \equiv -1\mod 17} {.}
Bei der Anwendung des Lucas Tests auf eine beliebige Zahl $n \in \mathbb{N}$ gibt es zwei Probleme:
\aufzaehlungzwei { Man muss die Primteiler von $n-1$ kennen. Dies ist ein Faktorisierungsproblem und damit im Allgemeinen schwierig. } {Man muss alle $n-1$ Werte für $a$ überprüfen. Dies bedeutet einen sehr hohen Rechenaufwand. (Die Anzahl könnte man verkleinern, wenn man berücksichtigt, dass es $\varphi (n-1)$ 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 \in \mathbb{N}$ bereits prim ist, falls $a^{n-1}\equiv 1\mod n$ ist für alle zu $n$ teilerfremden $a$ im Bereich von $1$ bis $n-1$. Das ist aber leider nicht richtig.
\inputfakt{Benutzer:Abrankov/Miller-Rabin Test/Fakt}{Satz}{Miller-Rabin Test} {Sei $n\ge3$ ungerade und $n-1=2^tm \text{ für } m$ ungerade. $n$ ist genau dann eine Primzahl, wenn für jede zu $n$ teilerfremde Zahl $0<a<n$ gilt \mathdisp {a^m \equiv 1\mod n \,\,\, \text{ oder } \,\,\, 2^{s}m \equiv -1\mod n \text{ für } \text{ ein } s \in \{0,1, \ldots,t-1\}} {.}
Ist $n$ keine Primzahl, so erfüllt höchstens ein Viertel alle Zahlen $a$ eine der Bedingungen. }
\inputbeispiel { Wir möchten überprüfen, ob 89 mit Miller-Rabin Test eine Primzahl ist. Es gilt $n-1=88= 2^3 \cdot 11$, also $t=3$. Wir testen für zwei zufällige Zahlen $a=3$ und $a=5$ erhalten wir:
\einrueckung{$3^{11} \equiv 37 \mod n$} \einrueckung{$3^{2.11} \equiv 37^2 \equiv 34 \mod n$} \einrueckung{$3^{4.11} \equiv 37^2 \equiv -1 \mod n$}
\einrueckung{$5^{11} \equiv 55 \mod n$} \einrueckung{$5^{2.11} \equiv 55^2 \equiv -1 \mod n$}
Die zwei Testzahlen erfüllen die Testbedingung. }
\zwischenueberschrift{Primzahltests auf Grundlage von Lucas-Folgen}
\zwischenueberschrift{Lucas-Folgen}
\inputdefinition {Lucas-Folgen} {Gegeben sei die Gleichung $X^2-PX+Q=0$ mit $P,Q \in\Z$ und $P\not=0,\, Q\not=0$, die Lösungen seien die reellen Zahlen $a$ und $b,\, a\not=b$. $U_n$ und $V_n$ werden durch
\mathdisp {U_n = \frac{a^n+b^n}{a-b} , \, n\ge 0} \mathdisp {V_n = \frac{a^n+b^n}{a+b} , \, n\ge 0} definiert und \betonung{Lucas-Folgen} genannt. }
\inputbemerkung { Die Gleichung $X^2-PX+Q=0$ hat Diskriminante $D = P^2-4Q \not=0$ und damit die Lösungen \mathdisp {a =\frac{P+\sqrt{D}}{2} \text{ und } b =\frac{P+\sqrt{D}}{2}.}
Man beachte, dass $D\equiv 0 \,\,(mod \,4) \,\, oder \,\, D\equiv 1 \,\,(mod\, 4).$ }
\inputbemerkung {Eigenschaften der Folgeglieder} { Die Folgenglieder für $n=0 \,\,\text {und}\,\, n=1$ kann man leicht ablesen: \mathdisp {U_0 = 0,\,\, U_1=1}
\mathdisp {V_0 = 2,\,\, V_1=a+b=P}
Die Lucas-Folgen erfüllen die Rekursion
\mathdisp {U_{n+2} = PU_{n+1}-QU_n \,\,} bzw. \mathdisp {V_{n+2} = PV_{n+1}-QV_n \,\,,\text{wobei}\,\, n\ge 0} {,}
Das heisst, dass jeder Term hängt linear von den zwei vorherigen ab.
Diese Rekursionen kann man durch Nachrechnen überprüfen.
\alignier {PU_{n+1}-QU_n & = (a+b)\frac{a^{n+1}-b^{n+1} }{a-b}-ab\frac{a^n-b^n}{a-b} \\ & = \frac{a^{n+2}-ab^{n+1}+ba^{n+1}-b^{n+2}-a^{n+1}b+ab^{n+1} }{a-b} \\ & = \frac{a^{n+2}-b^{n+2} }{a-b} \\ & = U_{n+2}} {.}
Die Richtigkeit der zweiten Rekursion kann analog gezeigt werden.
Die Lucas-Folgen haben noch weitere Eigenschaften. Man geht davon aus, dass $m \not\ge n$ ist, dann gilt:
\alignier {U_{m+n} & = \frac{a^{m+n}-b^{m+n} }{a-b} \\ & = \frac{(a^m-b^m)(a^n+b^n)}{a-b}-\frac{a^nb^n(a^{m-n}-b^{m-n})}{a-b} \\ & = U_mV_n-Q^nU_{m-n}} {;}
\alignier {V_{m+n} & = a^{m+n}+b^{m+n} \\ & = (a^m+b^m)(a^n+b^n)-a^nb^n(a^{m-n}+b^{m-n}) \\ & = V_mV_n-Q^nV_{m-n}} {.}
Daraus für $m = n\,$ folgt:
\mathdisp {U_{2n} = U_nV_n-Q^nU_0 = U_nV_n}
\mathdisp {V_{2n} = V_nU_n-Q^nV_0 = {V_n}^2-2Q^n}
und für $m = n+1 \,$
\mathdisp {U_{2n+1} = U_{n+1}V_n-Q^nU_1 = U_{n+1}V_n-Q^n}
\mathdisp {V_{2n+1} = V_{n+1}V_n-Q^nV_1 = V_{n+1}V_n-Q^nP} {.}
Damit wurde gezeigt, dass alle Folgeglieder aus $\mathbb {Z}$ sind. }
\zwischenueberschrift{Teilbarkeitseigenschaften der Folgeglieder $U_n\,$}
\inputdefinition {Quadratischer Zahlenkörper} {Für ein quadratfreies $D \,\,\,$ heisst die Menge
$Q(\sqrt{D}) = {a+b\sqrt{D}\,\, \text{mit}\,\, a,b \in\Q -\,\,\,\,}$ \betonung{quadratischer Zahlenkörper}{.}
Für ein $a = a_1+a_2\sqrt{D}$ ist dann $\,\,\,\ \overline a = a_1-a_2\sqrt{D}$. }
Sei $P^2-4Q = c^2D$ mit $c,D \in \N$ und $D$ quadratfrei. Ist $D > 1\,$, so sind die Lösungen $a,b$ der Gleichung $X^2-PX+Q=0 \,$ irrationale Zahlen aus dem quadratischen Zahlenkörper $Q(\sqrt{D})$.
\mathdisp {a^p\equiv a \,\,(mod \,p), \text{falls} \left(\frac{D}{p}\right) = +1 \,} oder
\mathdisp {a^p\equiv \overline{a} \,\,(mod \,p), \text{falls} \left(\frac{D}{p}\right) = -1 \,} {.} } {Benutzer:Tanik/Lucas-Test/Fakt/Beweis
Falls $a (mod \,p)\,$ in $A_d \,$ eine Einheit ist, dann folgt aus dem Satz, dass
\mathdisp {a^{p-1}\equiv 1\,\,\,(mod \,p) \,, \text{falls} \,\left(\frac{D}{p}\right)=1 \,} oder
\mathdisp {a^{p+1}\equiv a\overline{a}\,\,\,(mod \,p) \,,\text{falls} \,\left(\frac{D}{p}\right)=-1 \,} {.}
} {Benutzer:Tanik/Lucas-Test/ggt-Lemma/Fakt/Beweis
Aus Identitäten ergeben sich für $U_{p-1} \,$ und $U_{p+1} \,$ folgende Berechnungen(beachte $b=\overline{a} \,$
\mathdisp {U_{p-1} =\frac{a^{p-1}-\overline{a}^{p-1} }{a-\overline{a} }\equiv {a\overline{a}-\overline{a}a} \equiv 0 \,\,(mod \,p)\,,\text{falls} \,\left(\frac{D}{p}\right) = 1 \,} {,}
\mathdisp {U_{p+1} =\frac{a^{p+1}-\overline{a}^{p+1} }{a-\overline{a} } \equiv\frac{1-1}{a-\overline{a}a} \equiv 0 \,\,(mod \,p)\,,\text{falls} \,\left(\frac{D}{p}\right) = -1 \,} {.}
\inputbemerkung { \aufzaehlungdrei{$a-\overline{a}$ soll wegen Division nicht $0 \,\,\,$ sein
}{$(a-\overline{a})^2=c^2D \,\,$ daraus folgt, dass $ggt(c,p)=1\,$ sein muss
}{Zusammen mit $ggT(Q,p)=1 \,\,\,$ muss die Bedingung $ggT(cQ,p)=1 \,$ erfüllt sein. } }
\zwischenueberschrift{Verhalten Potenzen von $a$ bzw. $\,\,\,\,\, U_n$ bezüglich der Teilbarkeit durch $p^n$ }
Falls $\left(\frac{D}{p}\right) = 1 \,$ ist $a^p=a+kp \,$ für ein bestimmtes $k\in\N \,$ und deshalb gilt \mathdisp {a^{p^n} = (a^p)^{p^{n-1}} = (a+kp)^{p^{n-1}} \equiv a^{p^{n-1}}\,\,(mod \,\,p^n)\,} {,} weil alle Terme abseits des ersten $a^{p^{n-1} }\,$ stets den Faktor $p^n\,$ enthalten. Man kann unter der Bedingung, dass $a (mod \,p)\,$ in $A_D \,$ eine Einheit ist, durch Division durch $a^{p^{n-1} } \,$ das Folgende erhalten:
{{math|term= a^{p^n} \equiv a^{p^{n-1} } \Rightarrow a^{{p^n}-{p^{n-1}}} \equiv 1 \Rightarrow a^{p^{n-1}(p-1)} \equiv 1 (mod \,\,p^n)\,|SZ=}}
Analog erhält man
$a^{p^n} \equiv \overline{a}^{p^{n-1} } \Rightarrow a^{p^n}a^{p^{n-1} } \equiv (\overline{a}a)^{p^{n-1} } \equiv a^{p^{n-1}(p-1)} \equiv (a\overline{a})^{p^{n+1} } (mod \,\,p^n)\,$.
Mit diesen Identitäten können die folgenden Folgeglieder $U_i$ berechnet werden:
$U_{p^{n-1}(p-1)} \equiv 0 \,\,\, (mod \,\,p^n) \text{ für } \left(\frac{D}{p}\right)= 1 \,$
$U_{p^{n-1}(p+1)} \equiv 0 \,\,\, (mod \,\,p^n) \text{ für } \left(\frac{D}{p}\right)=-1 \,$.
Das lässt sich wie folgt zusammenfassen:
$U_{p^{n-1}(p-\left(\frac{D}{p}\right))} \equiv 0 (mod \,\,p^n)\text{ für } \,ggT(2QcD,p)=1 \,$.
Die Beschränkung $ggT(2QcD,p)=1 \,$, folgt aus dem Lemma und Bemerkung oben.
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.
$G=\{ t \mid U_t \equiv0\mod n \}$ und $G$ hat die Form $G=d \cdot\mathbb N$. } {Benutzer:Abrankov/Lucas-Lehmer-Test/Lemma/Fakt/Beweis
\mathdisp {\operatorname{ggT} \, ( U_{\frac{n-1}{q_j} },n) = 1 \,\,\, \text{ für alle } j=1, 2, ... , r} {.}
Ist nun $U_{n+1}\equiv 0\mod n$, so ist $n$ prim. } {Benutzer:Abrankov/Lucas-Lehmer-Test/Beweis
\zwischenueberschrift{Lucas-Lehmer-Test für Mersennezahlen}
Im Lucas-Lehmer-Test für Mersennezahlen die Schwierigkeit besteht darin, die Primfaktoren von $n+1$ und
entsprechende Lucas-Folgen zu finden. Die Mersennezahlen $M_m=2^m-1, m\ngeqslant1 \,$ haben die Eigenschaft,
dass $n+1$ in diesem Fall eine Potenz von $2$ ist und hat nur einen Primfaktor. Deshalb
können wir Lucas-Lehmer-Test für Mersennezahlen so formulieren:
\inputbemerkung {Lucas-Lehmer-Test für Mersennezahlen} { Wenn eine Lucas-Folge $U_n \,$ mit
\mathdisp {U_{n+1}\equiv 0 \,\,\,(mod \, n)}
bei
\mathdisp {U_\frac{n+1}{2}\equiv 0 \,\,\,(mod \, n)} existiert, dann ist $n= M_m = 2^m-1 \,$ prim. }
} {Benutzer:Tanik/Lucas-Lehmer-Test für Mersennezahlen/Lemma2/Beweis
Die Bedingungen $U_{n+1}\equiv 0 \,\,\,(mod \, n)$ und $U_\frac{n+1}{2}\equiv 0 \,\,\,(mod \, n)$ können zusammengefasst werden.
Es gilt $U_{n+1}=\frac{U_{n+1} }{2}\frac{V_{n+1} }{2}\,$, womit $\frac{V_{n+1} }{2} \equiv 0 \,\,\, (mod \,\,n) \,$ sein muss. Durch allgemeine Bedingung $\,ggT(2QcD,p)=1 \,$, an Lucas-Folgen für
Primzahltests und Lemma auch klar, dass wenn $\frac{V_{n+1} }{2}\,$ den Faktor $n\,$ enthält,
$\frac{V_{n+1} }{2} \not\equiv 0 \,\,\, (mod \,\,n) \,$ sein muss. Es gegügt demnach $\frac{V_{n+1} }{2}=V_{2^{m-1} } \equiv 0 \,\,\, (mod \,\,n) \,$ zu überprüfen.
Es sei $V_{2^k}:=v_k \,$.
Die Berechnung $V_{2^k}=V^2_{2^{k-1} }-2Q^{2^{k-1} } \,$ dadurch die Form $v_k=v^2_{k-1}-2Q^{2^{k-1} } \,$.Begonnen wird die Rekursion mit $v_0=V_1=P \,$ und die Frage bezüglich der Primalität von
$M_m \,$ lässt sich wie folgt formulieren: wann ist $v_{m-1}\equiv 0\,\,\,(mod\,\,M_m) \,$?
Die Werte $a=1+\sqrt{3},b=1-\sqrt{3}\,$ ergeben eine passende Lucas-Folge, das führt zu
\einrueckung{$P=2, Q=-2, P^2-4Q=12, D=3, C=2\,$.}
Dadurch sieht die Rekursion wie folgt aus: $v_k=v^2_{k-1}-22^{2^{k-1} } \,$ mit dem Startwert $v_1=v^2_0+4=8 \,$.
\inputbemerkung {Lucas-Lehmer-Test für Mersennezahlen alternativ} { Es sei m ungerade, dann ist $M_m = 2^m-1 \,$ genau dann prim, wenn $v_{m-1}\equiv 0\,\,\,(mod\,\,M_m) \,$, wobei $v_1=8 \,$ und $v_k=v^2_{k-1}-22^{2^{k-1} } \,$. }
\zwischenueberschrift{Verbesserter Lucas-Lehmer-Test für Mersennezahlen}
Dann ist $n \,$ genau dann prim, falls $n \,$ die Zahl $v_{p-1}\,$ teilt. } {Benutzer:Tanik/Lucas-Lehmer-Test für Mersennezahlen//Beweis
Das Verfahren eignet sich durch seinen iterativen Charakter in der Praxis sehr gut. Sämtliche grossen Mersenne-Primzahlen wurden auf diese Weise gefunden. Lucas selbst hat im Jahre 1876 die Primalität von $M_{127}$ nachgewiesen und hat gezeigt, dass $M_{67}$ zerlegbar ist. Schliesslich gelang es Lehmer 1927 zu zeigen, dass $M_{257}$ zerlegbar ist und korrigierte damit Mersennes Aussage.
Der Lucas-Lehemer Primzahltest für Mersenne-Zahlen erfordert eine immense Rechenleistung, wenn$p$ sehr groß ist. Darüber hinaus kommen sehr spezielle Programme zum Einsatz. Eine große Rolle spielt die Multiplikation mit schneller Fourier-Transformation, die 1971 von Schöhage und Strassen entwickelt wurde. Als maßgeblich haben sich die Programme von Crandall und Woltman herausgestellt.
\inputbeispiel{ } { Man zeige, dass $n=2^5-1=31 \,$ prim ist.
Wir berechnen alle $v_k, k=1,2,3,4 \,$ aus:
$v_1=4\,$,
$v_2=4^2-2=14\,$,
$v_3=14^2-2=194\equiv 8 \,\,\,(mod\,\,31)\,$,
$v_4=8^2-2=62\equiv 0 \,\,\,(mod\,\,31)\,$.
Daraus nach verbessertem Lucas-Lehmer-Test für Mersennezahlen folgt, dass die Zahl $31$ prim ist. }
\inputbeispiel{ } { Man zeige, dass $n=2^11-1=2047 \,$ nicht prim ist.
Wir berechnen alle $v_k, k=1, \ldots ,10 \,$ aus:
\einrueckung{$v_1=4\,,v_2=4^2-2=14\,$,}
\einrueckung{$v_3=14^2-2=194\equiv 8 \,, v_4=194^2-2\equiv 788 \,\,\,(mod\,\,2047)\,$,}
\einrueckung{$v_5=788^2-2\equiv 701 \,\,\,(mod\,\,2047)\,,v_6=701^2-2\equiv 119 \,\,\,(mod\,\,2047)\,$,}
\einrueckung{$v_7=119^2-2\equiv 1877 \,\,\,(mod\,\,2047)\,,v_8=1877^2-2\equiv 240 \,\,\,(mod\,\,2047)\,$,}
\einrueckung{$v_9=240^2-2\equiv 282 \,\,\,(mod\,\,2047)\,,v_10=282^2-2\equiv 1736 \,\,\,(mod\,\,2047)\,$.}
D.h. $n \nshortmid v_{10}\,$ und nach verbessertem Lucas-Lehmer-Test für Mersennezahlen folgt, dass die Zahl$2047$ nicht prim ist. Und tatsächlich $2047=23\cdot89$. }