Wie bilden wir die Elemente der Prüfer-3-Gruppe auf dem Einheitskreis ab?

Neue Frage »

Eldar Auf diesen Beitrag antworten »
Wie bilden wir die Elemente der Prüfer-3-Gruppe auf dem Einheitskreis ab?
Ich versuche, die Prüfer-3-Gruppenelemente auf dem Einheitskreis zu veranschaulichen und bin mir nicht sicher, ob mein Ansatz richtig ist. Es sollte angemerkt werden, dass ich hauptsächlich an den ungeraden ganzen Zahlen interessiert bin.

Lasst uns zunächst auf die Prüfer-2-Gruppe beziehen, die gut beschrieben und illustriert ist: Auf einem Einheitskreis beschriften wir die Eckpunkte, die Elemente der Prüfer-2-Gruppe sind, wie folgt:

https://i.stack.imgur.com/rhRjP.png

Um eine Visualisierung hinzubekommen, habe ich den folgenden Code geschrieben, der sich auf die Definition der Prüfer-2-Gruppe bezieht. Die Beschriftung der Elemente (Punkte auf dem Einheitskreis) ist gegeben mit :

code:
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:
41:
import numpy as np
import math
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
from matplotlib.collections import LineCollection

def rotate(t):
    #rotate unit vector [0, 1] by "t"
    x = math.sin(t)
    y = math.cos(t)
    return (x, y)

def get_angle_2(x):
    if x == 1:
        return 0
    
    n = int(math.log2(x))
    k = x - 2**n
    return 2*np.pi - 2*np.pi*k/2**n

n_points = 18

x = np.empty([n_points])
y = np.empty([n_points])

for i in range(0, n_points):
    angle = get_angle_2(2*i+1) + np.pi/2
    rot_xy = rotate(angle)
    x[i] = rot_xy[0]
    y[i] = rot_xy[1]

fig = plt.figure(figsize=(8, 8))
plt.axis('off')
plt.scatter(x, y, s=2, c='#0000FF')

for i in range(0, n_points):
    plt.annotate(2*i+1, (x[i], y[i]))

circle = plt.Circle((0, 0), 1, color='b', fill=False)
plt.gca().add_patch(circle)

Als Ergebnis erhalte ich den folgenden Plot (was mit der Definition der Prüfer-2-Gruppe übereinstimmt):

https://i.stack.imgur.com/wXUKW.png

Meine Frage: Wie kann ich analog dazu die Elemente der Prüfer-3-Gruppe auf dem Einheitskreis visualisieren?

Ich habe eine leicht modifizierte Funktion namens "get_angle_3(x)" implementiert, die wie folgt aussieht:

code:
1:
2:
3:
4:
5:
6:
7:
8:
def get_angle_3(x):
    if x == 1:
        return 0
    
    n = int(math.log(x, 3))
    k = x - 3**n
    return 2*np.pi - 2*np.pi*k/3**n

Via Plot der Punkte auf dem Einheitskreis mit:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
n_points = 18

x = np.empty([n_points])
y = np.empty([n_points])

for i in range(0, n_points):
    angle = get_angle_3(2*i+1) + np.pi/2
    rot_xy = rotate(angle)
    x[i] = rot_xy[0]
    y[i] = rot_xy[1]

fig = plt.figure(figsize=(8, 8))
plt.axis('off')
plt.scatter(x, y, s=2, c='#0000FF')

for i in range(0, n_points):
    plt.annotate(2*i+1, (x[i], y[i]))

circle = plt.Circle((0, 0), 1, color='b', fill=False)
plt.gca().add_patch(circle)

erhalte ich folgendes Bild:

https://i.stack.imgur.com/obn7M.png

Ist dies der richtige Weg bzw. kann man das einfach so machen? Sind die auf dem Einheitskreis abgebildeten Elemente der Prüfer-3-Gruppe korrekt?
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »