Primzahl-Lücken und Primzahl-Abstände (Teil II) - T

Karl Schwalen
6.04
Version 9.15
Weitere Aufsätze des Verfassers unter http://www.primath.homepage.t-online.de
Primzahl-Lücken und Primzahl-Abstände
Teil II: Große Primzahllücken besonderer ’Bauart’
------------------------------------------------------------------------------------------------------------1. Das Thema
Eine Primzahllücke ist definiert als L = pk +1 – pk. Bezüglich der max. Lücken in Abhängigkeit
von k gibt es heute recht gute Abschätzungen (s. Anmerkungen am Schluss).
Vorliegend wird die Frage untersucht, wie die größtmöglichen Lücken sich entwickeln, wenn
man nur eine fest vorgegebene Folge von Primteilern – nämlich p1 bis pm – als Teiler der
Zahlen innerhalb der Lücken zulässt. Konkret:
Wie groß ist der Abstand dm = |na – ne| zweier nat. Zahlen na, ne höchstens, wenn gefordert wird,
dass alle zwischen na und ne liegenden Zahlen durch mindestens eine der Primzahlen 2,3,5,...,pm
teilbar sind?
Mit Πm =
m
∏ p i ist das gleichbedeutend mit
i =1
ggT(na, Πm ) = 1; ggT(ne, Πm ) = 1 und ggT(n, Πm ) > 1 für na < n < ne
(dm ist damit definitionsgemäß die größte Lücke zwischen zwei primen Restklassen im
kleinsten positiven Vertreter-System zum Modul Πm.)
na und ne müssen also nicht unbedingt Primzahlen sein; ihre etwaigen Teiler müssen nur alle
größer als pm sein. Der größte Abstand dm (die „maximale Lücke“) wird im Weiteren mit Dm
bezeichnet. Gesucht wird die Zahlenfolge {Dm} mit m ≥ 1.
Ansätze
Bzgl. {Dm} ist klar, dass
• die Folge nur aus geraden Zahlen besteht, da die Differenz zweier ungerader Zahlen
(na und ne) stets gerade ist ;
• Dm + 1 > Dm ; d.h. die Folge wächst streng monoton und
• für m → ∞ auch Dm über alle Grenzen wächst, denn das folgt aus der Monotonie in
Verbindung mit Dm+1 – Dm ≥ 2. (Das beinhaltet eine Erweiterung des Satzes, dass sich
für den maximalen Abstand zweier Primzahlen keine obere Schranke angeben lässt,
auf zum Modul Πm teilerfremde Zahlen.)
Die ersten Dm-Werte sind leicht zu bestimmen:
m = 1; p1 = 2
Nach Streichen der durch 2 teilbaren Zahlen bleiben die ungeraden Zahlen übrig. Bildet man
deren Differenzen ergibt sich 2, 2, 2, 2,.....; d.h. D1 = 2.
m = 2; p2 = 3
Streichen der durch 2 und/oder 3 teilbaren Zahlen ergibt die
Folge : 1, 5, 7, 11, 13, 17, 19, 23, 25,.... Daraus die Folge der
Differenzen: 4, 2, 4, 2, 4, 2,...... und somit: D2 = 4.
1
Hier zeigt sich bereits die bekannte Tatsache, dass wegen ggT(a, k) = ggT(a + k, k) die nicht
durch 2,3,....,pm teilbaren Zahlen eine periodische Differenzenfolge bilden (siehe
nachstehende Darstellung) und daher auch das gesuchte größte Folgenglied Dm in jeder
Periode enthalten ist.
2. Die Differenzenfolge
m = 3; p3 = 5
1, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 49, 53, 59, 61, 67, 71, .....
6, 4, 2, 4, 2, 4, 6, 2, 6, 4, 2, 4, 2, 4, 6, 2, 6, 4, ....... D3 = 6
=
=
Die Darstellung macht den periodischen Aufbau der Zahlenfolge sichtbar.
Allgemein: Die Differenzen der Zahlen, die keinen Primteiler ≤ pm besitzen, bilden eine
Folge mit der Periodenlänge Πm und jede Periode umfasst
m
Πm)
∏ ( pi − 1) = ϕ(Π
i =1
=
Folgenglieder (ϕ (n): Euler-Funktion).
Je Periode gibt es zwei Symmetrieachsen: Die eine liegt auf dem Zahlenstrahl an den Stellen
2⋅k⋅Tm (an den „Nahtstellen“ zweier Perioden; Tm = Πm / 2 ; k = {0, 1, 2, 3, .......}) und teilt
immer ein Folgenglied mit Betrag 2 (siehe oben blaue Ziffern) während die andere sich an
den Stellen (2⋅k +1)⋅Tm (im „Zentrum“ der betr. Periode) befindet und ein Folgenglied vom
Betrag 4 mittig teilt (siehe oben rote Ziffern).
Die nachstehende Grafik veranschaulicht die Situation für den allgemeinen Fall.
Nahtstelle
2⋅k⋅Tm
2
Zentrum
(2⋅k +1)⋅Tm
4
Nahtstelle
2⋅(k +1)⋅Tm
2
Symmetrieachsen
Periode (Länge: Πm = 2⋅Tm)
3. Die Lücke an der Nahtstelle
Bildet man (mit Rechnerhilfe) die Differenzenfolgen für die nächstgrößeren m-Werte, findet
man folgende maximale Lücken:
D4 = 10
D5 = 14
D6 = 22
D7 = 26
D8 = 34
Möchte man sich ein Bild darüber verschaffen, wie das betr. Dm – ausgehend von kleineren
m-Werten – durch sukzessives Zusammenziehen von Folgengliedern entstanden ist, erstellt
man zweckmäßigerweise eine Liste, in der für alle ungeraden Zahlen zwischen na und ne der
2
jeweils kleinste Primteiler angegeben ist. (Für die geraden Zahlen kann man den Aufwand
sparen.)
Beispiel: D7 = 26 (p7 = 17)
na , 11, 3, 7, 5,
3,
17,
13,
3,
5,
7,
3,
11,
ne
Man erkennt unschwer, dass, wenn man die beiden mittig postierten Teiler 13 und 17 (die
jeweils nur einmal vorkommen) weglässt, D7 in die drei Folgenglieder/Abstände 12, 2, 12
zerfällt. Dies ist aber genau die Situation an den Nahtstellen der Perioden im Fall m = 5 (p5 =
11). Damit ist der Bildungsmechanismus klar: An einem Teil der (unendlich vielen)
Nahtstellen der Perioden im Fall m – 2 entsteht durch Hinzufügen der beiden weiteren Teiler
pm-1 und pm eine Lücke der Größe 2⋅pm–1, (die sich dann natürlich nicht mehr an der Nahtstelle
der betr. Periode befindet.)
Mit der Setzung p0 = 1 gilt für m ≤ 8 somit: Dm = 2⋅⋅pm –1.
4. Eine Suchstrategie
Bereits für m = 9 findet sich mit D9 = 40 eine Lücke, die den Wert 2⋅p9 – 1 (= 38) übersteigt.
Ab etwa m = 12 stößt die komplette Durchmusterung von Tm nach der größten Lücke auch
bei Verwendung eines schnellen Rechner an zeitliche Grenzen, so dass man andere Verfahren
anwenden muss.
Vorliegend wurde so vorgegangen, dass eine Lücke d vorgegeben wurde und diese mit den
Primteiler pi ’aufgefüllt’ wurde.
Da die erste Zahl der Lücke (das ist na + 1) stets gerade ist, liegt das Raster der Zahlen, die die
2 als kleinsten Primteiler aufweisen, von vornherein fest. Das Raster der durch 3 teilbaren
Zahlen besitzt genau 2 ’zulässige’ Startpositionen, denn entweder ist na + 1 oder na + 2 oder
na + 3 – also na - durch 3 teilbar. Analoges gilt für alle erforderlichen m Primteiler. Probiert
man alle Kombinationen der Startpositionen durch, ergibt das genau ϕ(Π
Πm) Möglichkeiten,
was wiederum einer vollständigen Durchmusterung von Tm entspricht. Das wird aber wie
gesagt schnell undurchführbar.
Eine erhebliche Beschleunigung dieses ’Konstruktionsverfahrens’ lässt sich erreichen, indem
für ein vorgegebenes d = ne – na zunächst die Startpositionen der ersten f (z.B. f = 8)
Primteiler ermittelt werden, bei denen die Anzahl der insgesamt durch diese f Primteiler in der
Lücke ’belegten’ Stellen maximal bzw. fast maximal (z.B. 2 weniger als die MaximalAnzahl) wird. (Es wird also unterstellt, dass nur diese wenigen optimalen Varianten als
Ausgangbasis für die Belegung mit den weiteren Primteilern pf +1 bis pm relevant sind.)
Die Start-Positionen dieser (fast-) optimalen Belegungen werden gespeichert und dienen je als
Ausgang für die Belegung mit dem nächsten ’Paket’ von s Primteilern. Vorliegend wurde s so
gewählt, dass je Paket nicht mehr als 5⋅107 Kombinationen zu überprüfen waren.
k +s
(Also
∏ (p i −1) ≤ 5⋅107 )
i=k
Das Verfahren wird solange fortgesetzt, bis der größte Primteiler po = pk + s < d / 2 ist, da alle
weiteren pi nur noch eine einzige ungerade Zahl n innerhalb des Intervalls d teilen können.
Wenn also nach Teilen durch alle Primteiler p1 bis po noch ao Zahlen im Intervall d keinen
Primteiler ≤ po haben, gilt m(d) = o + ao.
Nun wird die Lücke d + 2 u.s.w. analog behandelt. Für verschiedene d-Werte findet man
dabei häufig gleiche m-Werte; der max. d-Wert ist dann zumindest eine Untergrenze für Dm
und – eventuell – das gesuchte Dm.
3
5. Das „Dreieck-Verfahren“
Bei der vorstehend angegebenen Obergrenze von 5⋅107 Iterationen bestehen die jeweils
optimal einzufügenden ’Pakete’ ab k > 70 nur noch aus 2 Primteilern, was zu suboptimalen
Gesamtergebnissen führen muss. Dem kann man folgendermaßen begegnen:
Wie leicht einzusehen ist, kann ein Primteiler, für den d /6 < pi < d/2 gilt, höchstens 2
ungerade Zahlen in einem Intervall d teilen.
Alle möglichen Positionen innerhalb einer im Intervall d vorgegebenen Differenzenfolge,
(die z.B. nach dem vorstehend beschriebenen Verfahren mittels der Primteiler pi < d / 6
gebildet wurde), bei denen ein bestimmtes pi genau 2 ungerade Zahlen, die keinen Primteiler
kleiner d / 6 haben, teilen, erhält man wie an folgendem Beispiel gezeigt:
Vorgabe: d = 90
Nach Teilen durch 2, 3,..., 13 – also p1 bis p6 liege folgender Differenzenfolge-Ausschnitt der
Länge 90 vor:
12 8 4 2 16 8 4 2 4 2 4 8 16 → t-Tupel mit t = 13
Wegen 13 < 90 / 6 < 17 und 43 < 90 / 2 < 47 können die Primteiler 17 bis 43 je höchstens 2
ungerade Zahlen in einem Intervall der Länge d teilen, was gleichbedeutend mit der
Zusammenfassung von je 2 mal 2 benachbarten Elementen des 13-Tupels ist.
Zum bestmöglichen Einfügen dieser Primteiler in steigender Reihenfolge wird – ausgehend
von vorstehendem t-Tupel – das „Dreieck-Schema“ g ( j, v) gebildet:
12
20
24
26
42
50
54
56
60
62
66
74
90
8 4 2 16 8 4 2 4 2 4 8 16
12 6 18 24 12 6 6 6 6 12 24
14 22 26 28 14 10 8 10 14 28
30 30 30 30 18 12 12 18 30
38 34 32 34 20 16 20 34
42 36 36 36 24 24 36
Die 1. Zeile ist das Ausgangs-t-Tupel.
44 40 38 40 32 40
Die weiteren Einträge g(j, v) des Schema’s
48 42 42 48 48
(j: Zeilen-Index; 2 bis t; v: Spalten; 1 bis t – j +1)
lassen sich zeilenweise leicht rekursiv berechnen:
50 46 50 64
54 54 66
g(j, v) = g(j – 1, v) + g(1, v + j – 1)
62 70
78
Findet sich innerhalb des umrandeten (inneren) Zahlen-Dreiecks eine Zahl, die das Doppelte
oder das Vierfache einer Primzahl pi mit 17 ≤ pi ≤ 43 ist, bedeutet dies, dass innerhalb des
Intervalls zwei Zahlen mit dem angezeigten Abstand durch das betreffende pi teilbar sind.
Im vorstehenden Beispiel trifft das für die rot geschriebenen Einträge zu.
Entscheidend ist nun, dass man die betr. Zahlen innerhalb des t-Tupels (und somit innerhalb
des Intervalls d ) auch lokalisieren kann.
Z.B. ist oben g(5, 3) = 34 = 2⋅17. Das bedeutet: na +20 (20 = 12 + 8) und na + 20 + 34 (=54)
sind durch 17 teilbar; bzw. die t-Tupel-Elemente Nr. 2 (= v – 1) und 3 (= v) sowie Nr. 7
(= Elemente-Nr. vom rechten Rand der betr. Zeile aus gezählt) und 8 (= j + v) werden bei
dieser Positionierung der 17 zusammengefasst.
Fazit: Aus der Position (j, v) einer im Inneren des Dreieck-Schema befindlichen Zahl, die
durch pi teilbar ist, lässt sich zugleich ablesen, welche Elemente des t-Tupels durch pi
zusammengefasst werden; nämlich die Elemente-Paare (v–1, v) sowie (j + v –1, j + v).
4
Infolge dieser Eigenschaft des Dreieck-Schema ist nun die optimale Anordnung der einzelnen
pi mit d /6 < pi < d/2 leicht zu bestimmen:
Im Beispiel erkennt man als erstes, dass von den 8 in Frage kommenden Primteilern nur 4 die
gewünschte Eigenschaft (2-fach Belegung) besitzen. Für diese 4 liest man folgende
möglichen Positionen ab:
17: (3, 8); (5, 10)
19: (2, 7); (4, 11)
23: (3, 12)
29: --31: (2, 13)
37, 41 u. 43: ---Stimmen 2 der 4 Indices für 2 unterschiedliche Primteiler überein, so „blockieren“ diese
beiden Belegungen sich insofern, als bei dieser Anordnung nicht 4 sondern nur 3 ElementePaare des t-Tupels zusammengefasst werden.
Im Beispiel sieht man sofort, dass folgende Belegung optimal ist:
17: (5, 10); 19: (4, 11); 23: (3, 12); 31: (2, 13)
Alle 4 Primteiler können also so angeordnet werden, dass im Intervall d insgesamt 8 ungerade
Zahlen, die keinen Primteiler < 17 besitzen, durch einen der Primteiler ≥ 17 geteilt werden.
Damit lässt sich die erforderliche Primteiler-Anzahl m für d = 90 (1-Tupel) angeben:
Die ersten 6 Primteiler ergeben das oben angegebene 13-Tupel.
Nach Belegung durch die o.a. 4 Primteiler > 13 verbleibt ein 5-Tupel (= 13 – 8)
Also werden zur Darstellung eines 1-Tupels noch 4 weitere Primteiler benötigt (, die je nur
eine Zahl im Intervall teilen): 29, 37, 41, 43. → Für dm = 90 ist hier m = 14; bei der
Untersuchung weiterer Belegungen wurde kein kleineres m gefunden, so das (sehr
wahrscheinlich) gilt: D14 = 90.
Bei dem in Ziffer 4. beschriebenen Verfahren hätte man im Beispiel für die optimale
Belegung mit den Primteilern > 13 insgesamt 16⋅18⋅22⋅28⋅30 = 5.322.240 Anordnungen
prüfen müssen, gegenüber 4 Anordnungen (= 2⋅2⋅1⋅1) bei Benutzung des Dreieck-Schema;
der Vorteil ist also evident.
Insbesondere ist sofort ersichtlich, für welche Primteiler keine 2-fach Belegung existiert.
Für größere d-Werte (z.B. d = 1000) nimmt auch bei diesem Verfahren sowohl die Anzahl der
infrage kommenden Primteiler als auch die Anzahl der je Primteiler möglichen Positionen
stark zu, so dass Durchprobieren aller Möglichkeiten praktisch (Zeitbedarf) nicht mehr
möglich ist. In diesen Fällen kann man auf verschiedene Weise Abhilfe schaffen z.B. indem
man den Primteilern, für die nur eine mögliche Belegung existiert, „Vorrang“ einräumt und
bei den übrigen Primteilern die Belegungen, die damit „kollidieren“ (ein Index ist gleich)
löscht. Durch jede dieser Maßnahmen kann allerdings das Auffinden der optimalen Belegung
verfehlt werden.
Anmerkung: Wenn das Ausgangs-t-Tupel nur mit Primteilern pi < d / 8 gebildet wurde,
lassen sich nach dem gleichen Verfahren im Dreieck-Schema auch alle Zahlen lokalisieren,
die drei Zahlen im vorgegebenen Intervall teilen und optimal anordnen; usw. für pi < d / 12 .
Das wurde vorliegend aber nicht angewendet.
5
6. Die Lücke im Zentrum
Da die ersten Dm ihre „Basis“ an den Nahtstellen der Perioden hatten, liegt es nahe auch die
Verhältnisse im Zentrum näher zu untersuchen. Wie sich herausstellt, findet man mit diesem
Ansatz über einen weiten Bereich die maximalen Lücken.
Während an den Nahtstellen für alle pi gilt: 2k⋅Tm ≡ 0 mod pi, lautet das Kongruenzsystem der
das Zentrum darstellenden Zahlen (2⋅k + 1)⋅Tm ≡ 1 mod 2 und (2⋅k + 1)⋅Tm ≡ 0 mod pi mit
1 < i ≤ pm , so dass die Differenzenfolge um das Zentrum herum leicht zu konstruieren ist, da
die Startpositionen für alle pi feststehen.
m
2:
3:
4:
5:
6:
......, 4,
......, 4,
......, 4,
......, 4,
......, 4,
2,
2,
2,
2,
2,
Differenzenfolge ’rechts’ der Symmetrieachse im Zentrum
4, 2, 4, 2, 4,...........
4, 6, 2, 6, 4,...........
4, 8, 6, 4, 6,...........
4, 8, 10, 6, 2,...........
4, 8, 16, 2, 4,...........
10: ....., 4, 2, 4, 8, 16, 30, 2, 10,........
11: ....., 4, 2, 4, 8, 16, 32, 10, 8,.........
18: ......, 4, 2, 4, 8, 16, 32, 64, 6, 8,........
31: ......, 4, 2, 4, 8, 16, 32, 64,128, 6, 12,..........
Symmetrieachse
Wie man aus den obigen Sequenzen der Differenzenfolge ersieht, liegen beiderseits der
zentralen 4 die ersten Glieder der Zahlenfolge 2i, wobei ab einem bestimmten i ein weiteres
Glied hinzukommt. Die nähere Betrachtung zeigt des weiteren, dass die 2i –Folge genau dann
um ein weiteres Glied 2 n (siehe eingekreiste Zahlen) wächst, wenn pr < 2 n < pr +1; also
r = π( 2 n ).
(Dass die Zahlen (2k + 1)⋅Tm ± 2i durch keine Primzahl p1, .....,pm teilbar sind, beweist ein
Satz von Euklid:
Ist a durch c aber nicht durch d teilbar, und b durch d aber nicht durch c teilbar, dann
ist a + b weder durch c noch durch d teilbar.
Vorliegend ist a = (2k+1) ⋅Tm
b = ± 2i
c: beliebige Primzahl aus p2, .....,pm d = 2.)
Um die 2 i- Folge beiderseits der Symmetrieachse zu einer Lücke zusammenzufassen, werden
genau weitere 2n Primteiler benötigt; d.h. insgesamt genau π( 2 n ) + 2⋅n = m n Primzahlen.
k
Wegen 2 +
∑2 = 2
i
k +1
bilden die nicht durch p1 bis pm teilbaren Zahlen eine Lücke der
i =1
Größe 2⋅2n + 1 (, die sich dann natürlich nicht mehr im Zentrum einer Periode befindet).
Also: d m n = 4⋅⋅ 2 n = 2 n + 2
6
Die nachstehende Liste zeigt die m n-Werte, die zugehörigen n und r sowie die Größe von
d mn :
n
r
mn
2n+2
Dm
2
3
4
5
6
7
8
9
2
4
6
11
18
31
54
97
6
10
14
21
30
45
70
115
16
32
64
128
256
512
1024
2048
22
46
90
190
324
614
1126
2204
r = π( 2 n )
mn = r + 2⋅n
m n ist die Mindestzahl an Primteilern,
die ausreicht, eine 2i -Folge (mit letztem
Glied 2 n ) zu einer einzigen Lücke der
Größe d m n = 2 n + 2 zusammenzufassen.
Tabelle 1
Von den 2n Zahlen innerhalb der 2 i-Folge, die keinen Primteiler ≤ pr besitzen, ist gemäß dem
obigen Ansatz jede genau durch ein pi (pr+1 ≤ pi ≤ pm) teilbar. Können aber nicht mehrere der
in Rede stehenden Zahlen ein bestimmtes pi als kleinsten Teiler haben, so dass man mit
weniger als 2n (zusätzlichen) Primteilern auskäme? Das ist nicht der Fall.
Begründung (stichpunktartig):
Zwei durch pi teilbare Zahlen müssten im vorliegenden Fall den Abstand 2⋅pi (und nicht etwa
4⋅pi ,da zu groß) haben; d.h. es müsste gelten: 2⋅pi = 2x + 2y mit 1 ≤ x,y ≤ n. Das ist nicht
möglich, denn
1. x = 1: 2 + 2y < 2⋅pi (daher ist auch 2⋅pi = 2x – 2y ausgeschlossen)
2. für x,y ≥ 2 gilt: 4|(2x + 2y) aber 2⋅pi ist nicht durch 4 teilbar. •
Da also jeder der 2n Primteiler pi nur eine Zahl innerhalb der 2 i-Folge teilt, können die pi in
ihren Positionen beliebig gegeneinander vertauscht werden, so dass die nächste Frage ist, ob
es Anordnungen gibt, bei denen ein pi na oder nb teilt, was eine Vergrößerung von dm
bedeuten würde.
Diese Frage ist zu bejahen, wie das folgende Beispiel zeigt, und es handelt sich sogar um den
Regelfall.
Beispiel: m = 9; mit n = 3 und aus r = m – 2n ergibt sich r = 3. Die Differenzenfolge in der
Umgebung von Tr lautet:
Tr
......,4, 2, 4, 6, 2, * 6, 4, 2, 4, 2, 4, 6, * 2, 6, 4, * 2, 4,.......
32, 28, 26, 22, 16, 14, 8, 4, 2, 2, 4, 8, 14, 16, 22, 26, 28, 32
11 13 17 7 19 23 11 7
13
Die zweite Zeile des Beispiels gibt den Abstand der Zahlen, die keinen Primteiler aus p1 bis pr
haben, vom Zentrum Tr an. In der dritten Zeile sind die 2n Primteiler pr+1 bis pm positioniert.
Damit erhält man zwischen den beiden roten Sternchen eine Lücke vom Betrag 28 (= 4⋅pr+1).
Nun ist aber ne (gekennzeichnet durch das rechte rote Sternchen) – wegen 8 + 14 = 22 –
ebenfalls durch 11 teilbar ...u.s.w., so dass die Lücke insgesamt um drei Folgenglieder auf
dm = 40 erweitert wird (, was – wie oben bereits erwähnt – zugleich die max. Lücke für m = 9
ist).
7
Allgemein beobachtet man, dass die max. Lücken für m = π( 2 n ) + 2n entstehen, wenn
entweder das zentrale Tupel nicht mit allen Primteilern p1 bis pr gebildet wird, sondern nur
mit den ersten π( 2 n ) – c (1 ≤ c ≤ 5) und die verbleibenden 2n + c Primteiler optimal (z.B.
mittels des Dreieck-Verfahren) eingefügt werden oder das zentrale Tupel asymmetrisch
verlängert wird (siehe das oben ausführlich behandelte Beispiel d = 90).
Die für m = π( 2 n ) + 2n gefundenen max. Lücken Dm sind in der letzten Spalte von Tabelle 1
aufgeführt.
7. Bestimmung von na
Bei der in den vorstehenden Ziffern beschriebenen Konstruktion einer Lücke d wurde ein
Vektor e (Länge z.B. 2d) – ausgehend von geeigneten Startwerten si (0 ≤ si < pi ) – so mit
Vielfachen der m Primteiler belegt, dass eine beliebig vorgegebene Stelle (z.B. e(f)) von
keinem pi belegt wurde, daran anschließend jedoch eine Sequenz der Länge d von mindestens
einem pi.
Die Lage einer Lücke Dm auf dem Zahlenstrahl – also na – lässt sich mit Hilfe des
Chinesischen Restsatz bestimmen, wobei die m zu lösenden Kongruenzen
xi ≡ (si – f) mod pi lauten. (si – f ist im nachstehenden Programm mit ri bezeichnet).
(Das Kongruenz-System besitzt natürlich unendlich viele Lösungen; hier ist nur die kleinste
(1. Periode) interessant.)
Wegen der dabei auftretenden großen Zahlen, ist im allgemeinen eine Plattform mit LangzahlArithmetik einzusetzen. Nachstehend ein ’aribas’-Programm, das Ganzzahlen bis 101000
verarbeiten kann (Π350 < 101000).
Beispiel: Berechnung von na für d21 = 164
function rr(n: integer);
# Eingabe nach Start für m = 21: rr(21).
var
i,s,c,c1,c2,m,m1,m2: integer;
d,e,r,q,o,u1,u2,u3,v1,v2,v3: integer;
p:array[500] of integer;
a:array[500] of integer;
begin
#-------Kleine Primzahl-Liste pi ----------p[1]:= 2; p[2]:= 3; s:= 2; e:= 3;
while s <= 500 do
e:= e+2; c:= isqrt(e); i:= 2;
while e mod p[i]<>0 and p[i]<= c do; i:= i+1; end;
if e mod p[i]<>0 then s:= s+1; p[s]:= e; end;
end;
#-------Startwerte ri für die einzelnen pi--------------a[1]:=1;a[2]:=1;a[3]:=3;a[4]:=6;a[5]:=8;a[6]:=1;a[7]:=12;
a[8]:=15;a[9]:=10;a[10]:=2;a[11]:=24;a[12]:=5;a[13]:=3;
a[14]:=36;a[15]:=26;a[16]:=50;a[17]:=32;a[18]:=12;
a[19]:=54;a[20]:=13;a[21]:=6;
#-------Sukzessives Lösen der Kongruenzen xi ≡ ri mod pi mit EEA----c1:=1; m1:= 1; s:=0;
while s < n do
s:=s+1; c2:=a[s]; m2:=p[s];
d:= m1; e:= m2; u1:= 1; v1:= 0; u2:= 0; v2:= 1;
while e <> 0 do
q:= d div e; r:= d mod e; u3:= u1-q * u2; v3:=v1-q * v2;
d:= e; e:= r; u1:= u2; v1:= v2; u2:= u3; v2:= v3;
end;
if (c1 - c2) mod d <> 0 then writeln("Nicht lösbar"); break; end;
o:= (c1-c2) div d; m:=(m1 * m2) div d; c:=(c1-u1 * m1 * o) mod m;
8
#
if c < 0 then c:= c + m; end;
writeln (c," MOD ",m);
c1:=c; m1:= m;
end;
#---------Ergebnis-----------------writeln(“Modul:“,m); c:=m-c;
writeln(“na:
“,c);
#----------Probe-------------------for i:=0 to 164 do
e:=gcd(c+i,m);
write (i," ",e,"--");if e=1 then write ("!!!");end;
end;
end.
Nach dem Start (Eingabe: rr(21).) erscheint als Ergebnis:
Modul:4072_96805_99249_02415_06213_23470
na:
2770_57525_07467_21217_36968_76057
(= Π21)
0 1--!!! 1 78--2 29--3 410--4 3--5 74--6 511--7 6--8 55--9 2--10 69--11 2-12 1037--13 14910--14 13--15 38--16 3--17 2--18 5--19 66--20 7--21 2--22
3--23 10--24 31--25 6--26 47--27 182--28 15--29 34--30 11--31 174--32 59-33 230--34 399--35 2--36 43--37 6--38 5--39 2--40 39--41 154--42 37--43 30-44 41--45 2--46 51--47 2--48 35--49 6--50 53--51 2--52 33--53 2470--54 67-55 1302--56 23--57 2--58 15--59 2--60 29--61 6--62 7--63 1870--64 3--65 2-66 13--67 6--68 5--69 14--70 3--71 2--72 19--73 86010--74 11--75 2--76 21-77 2--78 5--79 208360542--80 17--81 2--82 3--83 70--84 71--85 2706--86 31-87 2--88 15--89 58--90 7--91 6726--92 13--93 10--94 3--95 2--96 11--97
714--98 5--99 2--100 3--101 2--102 23--103 1590--104 7--105 26--106 3--107
22--108 5--109 6--110 19--111 14--112 3--113 10--114 17--115 6--116 37--117
62--118 435435--119 2--120 47--121 402--122 43--123 10--124 3--125 322--126
41--127 6--128 5--129 418--130 3--131 442--132 7--133 30--134 61--135 2-136 3--137 2--138 5--139 42--140 11--141 2--142 3--143 10--144 13--145 6-146 7--147 58--148 3454485--149 2--150 59--151 66--152 73--153 2590--154 3-155 142--156 53--157 78--158 5--159 2--160 21--161 2--162 11--163 30--164
1--!!!
Die abschließende Zahlen-Kolonne stellt die Ergebnisse der Berechnung von ggT(c + i, m) in
der Form -- i ggT -- dar und bestätigt, dass nur für i = 0 und i = 164 ggT(c + i, m) = 1 gilt.
Wird im Programm unter „Ergebnis“ der Befehl c = m – c weggelassen, erhält man die –
wegen der Symmetrie immer existierende – komplementäre Lücke, wobei dann anstelle na
die obere Grenze ne berechnet wird; also ist unter „Probe“ e = gcd(c – i, m) zu berechnen.
Die Lücke d = 164 tritt aber nicht nur an zwei Stellen je Periode auf, denn, falls in einer
Lücke z.B. k Primteiler nur eine Zahl teilen (im Beispiel sind das 61, 67, 71 u. 73), können
diese Primteiler auf k! verschiedene Weisen angeordnet werden, die jeweils auf ein anderes na
führen (was der Chin. Restsatz garantiert).
9
8. Näherungsformel für Dm
Im Vorstehenden wurde vor allem auf die ’technischen’ Details der Bestimmung von dm
eingegangen. Das Ziel dabei war, die Bildungsmechanismen zu erkennen und eine Datenbasis
zu erhalten, die Aussagen über die zu erwartende Entwicklung von Dm für große m-Werte
ermöglichen.
Zunächst stellen sich noch zwei Fragen:
1.Wieso findet man ab m = 10 größere Lücken, wenn man gemäß Ziffer 6. (Lücke im
Zentrum) vorgeht, als gemäß Ziffer 4. (sukzessives Ermitteln der ’dichtesten
Packung’) ?
Ein Vergleich zeigt, dass bei der Lückenbildung im Zentrum die Belegung mittels der
kleinen (ersten) pi deutlich schlechter ist, als gemäß Ziffer 4.,; für die (relativ)
großen Primteiler ist es genau umgekehrt. Im Endergebnis ergibt sich (zunächst; siehe
Frage 2.) ein Vorteil zugunsten der zentralen Lücke.
2.Ist der Vorteil der zentralen Lückenbildung nachhaltig?
Für die ‚zentrale Lücke’ gilt: dm > 4⋅2n und m = π( 2 n ) + 2n und wegen p π ( 2n ) ≈ 2n
ist pm > 2n. Interessant ist die Entwicklung des Quotienten dm / pm.
Die nachstehende Tabelle zeigt dieses Verhältnis für n = 2 bis 11
n
2
3
4
5
6
7
8
9
10
11
m
dm
pm
dm / pm
6
10
14
21
30
45
70
115
192
336
22
46
90
190
324
614
1126
2204
4224
8412
13
29
43
73
113
197
349
631
1163
2267
1,69
1,58
2,09
2,60
2,86
3,11
3,22
3,49
3,78
3,71
Wie zu erwarten, wird der Betrag, um den dm das Minimum 4⋅2n übersteigt mit größer
werdendem m relativ immer unbedeutender und ebenso der Betrag, um den pm 2n
übersteigt, so dass der Quotient dm / pm den Wert 4 (wenn überhaupt) auch für m →∞
nur geringfügig überschreiten dürfte.
Wären die ‚zentralen Lücken’ zugleich die max. Lücken, würde also gelten: Dm ≈ 4⋅pm
für große m. Das wäre allerdings ein erstaunliches Resultat und es zeigt sich, dass es
sich auch nicht so verhält. Berechnet man nämlich die m-Werte für d = 4224 bzw.
d = 8412 mit dem Verfahren nach Ziffer 4. (dichte Packung) ((womit der Rechner schon
mal eine Nacht beschäftigt ist)) erhält man m = 183 bzw. 312 – d.h. eine deutlich
bessere Belegung als „im Zentrum“
(m = 192 bzw. 336).
Ab einem bestimmten d (das etwa bei 3000 liegen dürfte) reicht offenbar der Vorteil
durch die bessere Belegung durch die rel. großen Primteiler nicht mehr aus, den
Nachteil bei den kleineren Primteilern zu kompensieren.
Die Antwort auf Frage 2 ist also „Nein“.
Die vorliegend ermittelten größten dm-Werte (≤ Dm) sind in Tabelle 2 aufgeführt und in Bild 1
als Balkendiagramm dargestellt.
10
m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
*
*
*
*
*
*
*
*
*
*
*
Dm
m
Dm
2
4
6
10
14
22
26
34
40
46
58
66
74
90
100
106
118
132
152
174
190
200
214
224
256
264
282
290
306
324
336
352
372
400
412
422
432
448
508
520
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
528
564
600
612
614
636
644
660
696
700
708
744
760
772
812
828
848
868
900
924
928
948
968
980
992
1060
1068
1076
1096
1126
1144
1146
1164
1188
1200
1220
1244
1284
1300
1312
m
81
1332
82
1368
83
1408
84
1420
85
1468
86
1496
87
1516
88
1536
89
1556
90
1580
91
1612
92
1632
93
1648
94
1660
95
1708
96
1728
97
1752
98
1768
99
1796
100
1820
101
1848
102
1872
103
1892
104
1904
105
1916
106
1946
107
1976
108
1998
109
2024
110
2040
111
2096
112
2128
113
2160
114
2180
115
2204
116
2216
117
2228
118
2244
..............
183
4222
..............
312
Tabelle 2: Vorliegend gefundene größte Lücken Dm
* : Dm = 2⋅pm–1
11
Dm
8412
2500
Dm
2000
1500
1000
500
0
1
Pm
Bild 1: Größtmögliche(?) Lücken Dm für 1 ≤ m ≤ 118 (Die Dm sind jeweils an der Position von pm auf dem Zahlenstrahl aufgetragen.)
12
Obwohl die vorliegenden Daten nicht ausreichen, eine „belastbare“ Aussage darüber zu
machen, wie Dm sich für große m-Werte entwickelt, wurde zumindest versucht, die
vorhandenen Werte durch eine Näherungsformel zu beschreiben.
Eine (und die einfachste) von mehreren untersuchten Varianten ist:
Dm ≈ 0,535⋅⋅pm⋅∆m
(∗
∗)
Darin ist ∆m der mittlere Abstand der Primzahlen an der Stelle pm. Für große Werte pm ist
dieser Abstand bekanntlich etwa gleich ln(pm); aber für kleine pm ist dieser Wert zu klein.
Vorliegend wurde ∆m mit Hilfe der „glatten“ Näherung Ri(x) aus Ri(x + w) – Ri(x) = 1
ermittelt. Wenn also für x = pm w ( mit Startwert w = ln(pm)) solange erhöht wird, bis die
Gleichung erfüllt wird, ist ∆m = w.
Die auf diese Weise erhaltenen ∆m-Werte können im hier interessierenden Bereich sehr gut
durch ∆m ≈ ln(pm + 5⋅ ln(pm⋅ m + 1 / m)) + 0,05 angenähert werden.
Der Vergleich zwischen den Dm-Werten und der Näherung ist in Bild 2 wiedergegeben.
(Eine „glatte“ Näherung erhält man, wenn in (∗
∗) pm durch das x ersetzt wird, dass sich aus
der iterativ zu lösenden Gleichung Ri(x) = m bestimmt.)
Fazit:
• Die Bestimmung der max. Lücken zwischen zwei zum Modul Πm teilerfremden Zahlen
bietet zugleich einen Einblick in das Wachstum der max. Primzahl-Lücken in Abhängigkeit
von der Anzahl m der für die Lückenbildung zur Verfügung stehenden Primteiler.
• Der Aufwand zur Berechnung der Dm-Werte ist recht hoch; er kann jedoch durch die (noch
zu erweiternde) Anwendung des Dreieck-Verfahren (im Vergleich zum „brute force“Verfahren) wesentlich reduziert werden. Dennoch dürfte die max. Lücke zwischen zwei
benachbarten Primzahlen auch heute noch nicht exakt anzugeben sein, selbst wenn die
Primzahlfolge bei m = 1000 abbrechen würde.
• Aus kombinatorischer Sicht ist das Dreieck-Verfahren bemerkenswert, da es ermöglicht, die
’sinnvollen’ Positionen der einzelnen Primteiler unmittelbar zu erkennen.
• Der mittlere Abstand dφ der zum Modul Πm teilerfremden Zahlen je Periode ist gleich
m
Πm / ϕ(Πm) = ∏ pip−i 1 . Gemäß einem Theorem von Mertens gilt für m → ∞:
i =1
m
∏ p p−1 =
i
i =1
i
eγ⋅ ln (pm) mit γ = 0,577215.. (Euler-Konstante) und eγ = 1,7810724...
Während dφ dementsprechend nur sehr langsam (prop. ln (pm)) zunimmt, wächst – wenn (∗
∗)
richtig ist – die max. Lücke Dm vergleichsweise schnell (prop. pm).
• Ein „schönes“ Ergebnis wäre für große m: Dm ≈ c⋅⋅ pm⋅ ln (pm) mit c =
13
1/ 2+ γ
2
(?)
2500
Dm
2000
1500
1000
Dm-Ist
Näherung: 0,535⋅pm⋅∆m
500
m
Bild 2: Vergleich Dm-Ist mit Näherungs-Formel
14
118
115
112
109
106
103
100
97
94
91
88
85
82
79
76
73
70
67
64
61
58
55
52
49
46
43
40
37
34
31
28
25
22
19
16
13
10
7
4
1
0
Anmerkungen:
• Zum Produkt ∏ p p−1
Die Euler’sche Produkt-Formel besagt: (ζ(s) =)
∞
n =1
Es ist z.B. ζ(2)–1 =
6
π2
∞
∑ n1 = ∏ p
s
i =1
pi s
s
i −1
für s > 1, reell
(Wahrscheinlichkeit, dass zwei zufällig ausgewählte nat. Zahlen
teilerfremd sind und Wahrscheinlichkeit, dass eine zufällig ausgewählte nat. Zahl quadratfrei
ist) und aus der Divergenz der harmonischen Reihe beim Grenzübergang s → 1 erkannte
Euler einen weiteren Beweis für die unendliche Anzahl der Primzahlen. Riemann dehnte die
Formel auf komplexe Werte von s aus – mit den bekannten Weiterungen.
m
Für s =1 ist
∑ 1i
= γ + ln(m) +
i =1
∞
1
2
(
1
m
–
B2 n
∑ n ⋅m
n =1
2n
) und die Reihe nähert sich mit wachsendem m
’von oben’ dem Wert γ + ln(m) an. (B2n: Bernoulli-Zahlen mit geradem Index)
Anders verhält es sich mit dem Produkt
∏ p p−1 : Eine Formel wie für die harmonische Reihe
p≤m
ist nicht bekannt; es ist aber bewiesen, dass der Wert des Produkts – als Folge der
schwankenden (lokalen) Dichte der Primzahlen – unendlich oft um den Wert eγ⋅ln(m)
oszilliert.
Hinsichtlich der max. Amplitude der Oszillationen gilt als z.Z. beste Abschätzung (Dusart):
eγ⋅ln(m)⋅(1 – ln 20,(2m ) ) < ∏ p p−1 < eγ⋅ln(m)⋅(1 + ln 20,(2m ) ) mit m > 2973
p≤m
Es ist nicht bekannt, bei welchem m das Produkt erstmalig kleiner als eγ⋅ln(m) ist. Im Bereich
bis m = 109 wurde vorliegend als kleinster Quotient für m = pi mit i = 46.254.156 der Wert
1,000.000.434.309.. ermittelt. Vermutlich ist die ’direkte’ Berechnung des Kreuzungspunktes
nicht möglich (vergleichbar mit der Frage, wann π(x) > li(x) ist).
• Zur max. Primzahl-Lücke (in Abhängigkeit von k bzw. x)
Die im Zusammenhang mit dem Thema „Große Primzahllücken“ meist behandelte Frage ist:
Wie groß ist die max. Primzahl-Lücke Lmax(x) im Intervall [2, x]?
Experimentell sind heute alle x-Werte (Primzahlen), nach denen eine bestimmte Lücke zum
ersten Mal auftritt, für alle L ≤ 2000 bestimmt worden. ‚Theoretisch’ ist das Problem aber
noch keinesfalls zufriedenstellend gelöst.
Nachstehend ein einfacher Ansatz:
Hinsichtlich des Intervall, in dem die k-te Primzahl zu finden ist, gilt (Dusart):
k⋅(ln k + ln(ln k) – 1 +
ln(ln k ) − 2 ,1
ln k
) ≤ pk ≤ k⋅(ln k + ln(ln k) – 1 +
ln(ln k ) − 2 , 0
ln k
) mit k > 683.383
Das ist ein erstaunlich präzises Resultat. Beispiel: k = 106. Aus der vorstehenden Ungleichung
folgt 15.479.360 ≤ pk ≤ 15.486.598 D.h. pk = 15479.360 + C mit 0 ≤ C ≤ 0ln,1⋅kk = 7238.
Tatsächlich ist pk = 15.485.863.
Wird die gleiche Rechnung mit k + 1 wiederholt, bedeutet das im Wesentlichen, dass das für
pk berechnete Intervall um etwas mehr als ln pk (mittlerer Abstand der Primzahlen an der
15
Stelle x = pk) „nach rechts“ verschoben wird.
≈ ln pk
*
*
Intervall für pk + 1
0,1 ⋅ k / ln k
Nimmt man an, die k-te Primzahl befände sich am linken Rand des für sie möglichen
Bereichs und die k+1-te am rechten Rand (siehe rote Punkte in der Skizze) wäre der Abstand
der beiden Primzahlen 0,1⋅k / ln k + ln pk. Also: Obergrenze für eine Primzahl-Lücke
zwischen der k-ten und der k+1-ten Primzahl:
Lk max ≤
0,1⋅k
ln k
+ ln(2k⋅ln k)
wobei pk mit 2k⋅ln k nach oben abgeschätzt wurde.
Im Beispiel ergibt das: Lk max ≤ 7256 für k = 106, was erwartungsgemäß noch viel ‚Luft’
enthält.
Es gibt natürlich eine Reihe wesentlich schärferer oberer Abschätzungen, die aber alle nicht
streng bewiesen sind. Die zur Zeit wohl beste – und bis 4⋅1018 bestätigte – geht von dem sehr
interessanten Postulat
1+ 1
pk + 1 < p k k aus (Firoozbakht) woraus folgt:
pk + 1 – pk < (ln pk)2 – ln pk für k > 3
Im Beispiel ergibt sich daraus mit pk = 15.485.863: Lk max < 257.
Tatsächlich ist im Bereich bis k = 106 die größte Lücke gleich 148 (k = 149689;
pk = 2010739; (ln pk)2 – ln pk = 196,14...).
(Genauere Herleitungen für Bereiche, in denen sich mindestens eine Primzahl befindet,
besagen (Rosser u. Schoenfeld):
Für x ≥ 2.010.760 gilt x < p < x + x / 16.597 und
für x > 1,1⋅1011 noch besser (Dusart): x < p < x + x / (25⋅ln2 x).
Diese Ergebnisse stellen wesentliche Verschärfungen gegenüber dem Bertrand’schen Postulat
dar, gemäß dem sich zwischen x und 2x mindestens eine Primzahl befindet.)
16