Fadengrafiken mit Primzahlen 1. Fall:
bn mod p mit der Basis
b und der Primzahl p mit n = 1, 2, 3 … p – 1 Mit
mod (Modulo) wird der Rest
einer ganzzahligen Division bezeichnet,
6n
mod
11, n = 1, 2, … 10
3
mod
11, n = 1, 2, … 10
Man sagt: 6 ist Primitivwurzel von 11, jedoch
nicht 3.
bn mod p mit n = 1, 2,
3 … p – 1
Veranschaulichung durch Plazierung der Punkte
auf dem Rand eines Kreises mit Radius r in
einem xy-Koordinatensystem nach folgender Vorschrift:
x = r٠cos(bn
mod p٠2π/n);
y = r٠sin(bn
mod p٠2π/n)
Die im günstigsten Fall p – 1 verschiedenen
Punkte werden dann für n = 1, 2,
3, …, p – 1 der Reihe nach mit einer geraden Linie verbunden. Dabei
entstehen je nach Basis b und Primzahl p unterschiedliche Muster. Zur
besseren Darstellung werden die Linien vom jeweiligen Startpunkt zum
Zielpunkt im gleichen Verhältnis unterschiedlich gefärbt.
Beispiele:
19n mod 569
115n mod 569
240n mod 991
51n mod 1009 47n mod 1049 60n mod 1427
Der kanadische Mathematiker
Simon Plouffe (geb. 11.6.1956) hat sich eingehend mit Zahlentheorie
beschäftigt und an der Veranschaulichung und Erfassung von Zusammenhängen
bei
bn
mod p mit n = 1, 2, 3 … p – 1
gearbeitet.
Er hat folgendes Vorgehen entwickelt, um
Muster und Spitzbögen in diesen Fadengrafiken zu erfassen:
P1 = | (1 – b)٠[p/b]
– b + p + 1 | = a, [p/b]
ist die ganze Zahl bei der Division von p durch b
P0
= b – 1
Menge M(P1)
= {a, 2a, 3a, 4a, …}
Menge M(P0) = {b–1, 2(b–1),
3(b–1), …} Die Differenzen der Zahlen der beiden Mengen mit etwa 10 bis 20 Elementen bilden eine Menge von Zahlen, die wie auch P1 und P0 eine Aussage über Muster zulassen.
Beispiele:
265n
mod
1667
liefert die Werte P0
= 264 und P1
= 181
M(P1)
= {181, 362, 543, 724, 905, 1086, 1267, 1448, 1629, 1810, 1991, 2172, 2353,
2534, …}
Man bildet dann alle Differenzen zwischen jedem Paar von Elementen aus
beiden Mengen und bildet eine neue Menge: NR: 543 – 528 = 15, 2376 – 2353 = 23, 792 – 724 = 68, 1086 – 1056 = 30, 1848 – 1810 = 38
Daraus entfernt man die Vielfachen einer Zahl. Die bereinigte Liste ist
dann:
Diese Menge stellt eine Liste von Punktgruppen dar. Man kann eine Gruppe von
15 oder 38 Spitzbögen in den beiden äußeren Kreisen zählen, während sich im
inneren Kreis 23 Punktreihen mit Spitzen befinden. Auf dem Kreisrand sind
1666 nicht mehr unterscheidbare Punkte.
Eine 7teilige Punktgruppe um den Mittelpunkt wird jedoch nicht erfasst.
193n
mod
1009
liefert die Werte P0
= 192 und P1
= 143.
P1
= | (1 – 193)٠[1009 /193] – 193+ 1009 +
1 | = | –143| = 143, NR: [1009
/193] = 5 M(P1) = { 143, 286, 429, 572, 715, 858, 1001, 1144, 1287, 1430, 1573, 1716, 1859, 2002, 2145, 2288, …} M(P0) = { 192, 384, 576, 768, 960, 1152, 1344, 1536, 1728, 1920, 2112, 2304, …}
Differenzenmenge: {4, 8, 12, 16, 33, 37, 41,
45, 49, 53, 57, 61, 82, 86, 90, …}
NR: 576 – 572 = 4, 1152 – 1144 = 8, 1728 –
1716 = 12, 2880 – 2860 = 20, …
Die Vielfachen von 4 zeigen sich auch im
Muster, gekennzeichnet durch grüne Kreise.
Auf dem blauen Kreis liegen 61 Schnittpunkte.
Entsprechend sollen sich sich auch 33, 37, 41, … Schnittpunkte finden
lassen.
23n mod 1049 liefert die Werte P0 = 22 und P1 = 37.
P1 = | (1 – 23)٠[1049
/23] – 23 + 1049 + 1 | = 37,
NR: [1049 /23] = 45
M(P1) = {
37, 74,
111, 148, 185, 222, 259, 296, 333, 370, …}
M(P0) = {
22, 44,
66, 88, 110, 132, 154, 176, 198, 220, …}
Differenzenmenge: {1, 2, 6, 7, 8, 9, 13, 14,
15, 16, 21, 23, 24, 28, 29, 30, 31, 35, 36, 39, …}
46n
mod
1049
liefert die Werte P0
= 45 und P1
= 14.
M(P1) = {
14, 28,
42, 56, 70, 84, 98, 112, 126, 140, 154, 168, 182, 196, 210, 224, 238, 252,
266, 280, 294, 308, 322, 336, 350, 364, 378, 392, 406, 420, 434, 448, …}
M(P0) = {
45, 90,
135, 180, 225, 270, 315, 360, 405, 450, …}
Differenzenmenge: {1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16,
17, 18, 19, 20, …,
31, …}
Bereinigte Liste ohne Vielfache von Zahlen
größer als 1:
47n
mod
1049
liefert die Werte P0
= 46 und P1
= 9 .
P1 = | (1 – 47)٠[1049 /47] – 47 + 1049 + 1 | = 9, NR: [1049 /47] = 22
M(P1) = {
9, 18,
27, 36, 45, 54, 63, 72, 81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171,
180, 189, 198, 207, 216, 225, 234, 243, 252, 261, 270, …}
M(P0) = {
46, 92,
138, 184, 230, 276, …}
Differenzenmenge: {1, 2, 3, 4, 5, 6, 7, 8,
10, 11, 12, 13, 14, 15, 16, 17, 19, 20, …}
Bereinigte Liste ohne Vielfache von Zahlen
größer als 1:
130n
𝑚𝑜𝑑 1009
liefert die Werte
𝑃0
= 129 und
𝑃1
= 23.
P1 = | (1 – 130)٠[1009
/130] – 130 + 1009 + 1 | = 23,
NR: [1009 /130] = 7
M(P1) = {
23, 46,
69, 92, 115, 138, 161, 184, 207, 230, 253, 276, 299, 322, 345, 368, 391,
414, 437, 460, 483, 506, 529, 552, 575, …}
M(P0) = {
129, 258,
387, 516, 645, 774, 903, 1032, 1161, 1290, … }
Differenzenmenge: { 4, 5, 9, 10, 13, 14, 18,
19, 27, 28, 32, 33, 36, 37, … }
Bereinigte Liste:
{ 4, 5,
9, 13, 14, 19, 33, 37, …
}
Bei einer vergrößerten Darstellung des linken
Bildes ist eine neue Struktur zu sehen.
Bemerkung:
Der Kreisrand besteht aus p – 1 Punkten.
Daran schließt sich ein Muster aus P0 = b – 1 Bögen an. Je nach Farbgebung der Verbindungslinien werden verschiedene Strukturen stärker hervorgehoben. Bei den Strukturen spielen sowohl P0 und P1 als auch die bereinigten Differenzenengen eine Rolle.
Programm in
TigerJython zur Darstellung der
Fadengrafiken
# b^n_mod_p.py
from gpanel import *
from math import *
makeGPanel(Size(950, 950))
window(-4, 4, -4, 4)
lineWidth(1)
b = 78
p = 1049
n = p - 1
r = 3.8
for i in range(1,n+1):
s = b**i % p
t = b**(i+1) % p
xs = r*cos(s*2*pi/n); ys = r*sin(s*2*pi/n)
xt = r*cos(t*2*pi/n); yt = r*sin(t*2*pi/n)
k = (xt - xs)/10
for j in range(0,10): # Linie in
10 verschiedenen Farben
xk1 = xs + j*k
yk1 = (yt-ys)/10*j+ys
xk2 = xs + (j+1)*k yk2 = (yt-ys)/10*(j+1)+ys
if j == 0: col = makeColor(20,20,50)
if j == 1: col = makeColor(120,120,150)
if j == 2: col = makeColor(220,220,250)
if j == 3: col = makeColor(200,200,150)
if j == 4: col = makeColor(250,250,100)
if j == 5: col = makeColor(100,100,150)
if j == 6: col = makeColor(100,100,100)
if j == 7: col = makeColor(20,120,150)
if j == 8: col = makeColor(20,200,200)
if j == 9: col = makeColor(160,200,250)
setColor(col)
line(xk1,yk1,xk2,yk2)
(b٠n)
mod p mit der Basis b und der
Primzahl p mit n = 1, 2, 3 … p – 1
Veranschaulichung durch Plazierung der Punkte auf dem Rand eines Kreises mit
Radius r in einem
xy-Koordinatensystem nach folgender Vorschrift:
xs = r٠cos(n٠2π/n);
ys = r٠sin(n٠2π/n)
xt = r٠cos(bn
mod p٠2π/n);
yt = r٠sin(bn
mod p٠2π/n)
Die p – 1 verschiedenen Punkte (xs; ys) und (xt; yt) werden
dann für n = 1, 2, 3, …, p – 1 der Reihe nach mit einer geraden Linie
verbunden. Dabei entstehen je nach Basis b und Primzahl p unterschiedliche
Muster. Zur besseren Darstellung werden die Linien vom jeweiligen Startpunkt
zum Zielpunkt im gleichen Verhältnis unterschiedlich gefärbt.
Vergleichende Beispiele:
a) 19n
mod 53
b) (19٠n)
mod 53
a) 19n
mod 53, n = 1,
2, …, 52:
b) (19٠n)
mod 53, n = 1, 2, …, 52:
Die beiden Fadengrafiken sind identisch, die Ziffernfolgen sind nur
unterschiedlich angeordnet, bei
a) 46n mod 1049
b) (46٠n)
mod 1049
Bei bestimmten Werten von b und p ergeben
sich bei den Fadengrafiken keine Unterschiede zwischen den beiden Fällen.
Fall a: 9n
mod 17, n = 1, 2, …, 16:
[9,
13, 15, 16, 8, 4, 2, 1] ist
als Menge Teilmenge von Fall b: (9٠n) mod 17, n = 1, 2, …, 16: [9, 1, 10, 2, 11, 3, 12, 4, 13, 5, 14, 6, 15, 7, 16, 8]
a) 19n mod 54
b) (19٠n)
mod 54
Fall a: 19n
mod 54, n = 1, 2, …, 53:
[19,
37, 1] ist als Menge Teilmenge von
Fall b: (19٠n)
mod 54, n = 1, 2, …, 53:
Die natürliche Zahl b heißt
Primitivwurzel modulo Primzahl
p, wenn
p – 1 verschiedene natürliche Zahlen kleiner
p liefert.
Vermutung:
Wenn die Basis b eine
Primitivwurzel der Primzahl p ist, dann stimmen die Fadengrafiken in
beiden Fällen überein. Die beiden Zahlenmengen für
Ansonsten ist die Fadengrafik zu
bn mod p eine
Teilmenge
der
Fadengrafik zu
b٠n mod p auch für den Fall,
dass p keine Primzahl ist.
Programmänderung für den 2. Fall:
for i in range(1,n):
s = i % p
t = b*i % p
Quelle:
http://plouffe.fr/Inverseofprimes/La%20forme%20de%20bn%20mod%20p.pdf Zurück Zurück zur Startseite |