Eine Schleife ist eine ziemlich einfache algebraische Struktur. Es ist ein Tupel (G, +), wobei G eine Menge ist und + ein binärer Operator G × G → G ist . Das heißt, + nimmt zwei Elemente von G und gibt ein neues Element zurück. Der Betreiber muss außerdem zwei Eigenschaften erfüllen
Stornierung: Für jedes a und b in G gibt es eindeutige x und y in G, so dass
a + x = b y + a = b
Identität: Es gibt ein e in G, so dass für jedes a in G
e + a = a a + e = a
Wenn Sie mit dem Konzept einer Gruppe vertraut sind, stellen Sie möglicherweise fest, dass eine Schleife nur eine Gruppe ohne assoziative Eigenschaft ist.
Loops sind ziemlich einfach, daher fügen die Leute gerne mehr Regeln hinzu, um neue Strukturen interessanter zu gestalten. Eine solche Struktur ist eine Moufang-Schleife, die auch die folgenden vier Identitäten für alle x , y und z in G erfüllt
z + (x + (z + y)) = ((z + x) + z) + y
((y + z) + x) + z = y + (z + (x + z))
(z + x) + (y + z) = (z + (x + y)) + z
(z + x) + (y + z) = z + ((x + y) + z)
Die folgende Cayley-Tabelle repräsentiert beispielsweise eine Moufang-Schleife:
0 1 2 3
1 0 3 2
2 3 0 1
3 2 1 0
(Wenn Sie nicht vertraut sind, ist eine Cayley-Tabelle eine quadratische Matrix M, wobei M i, j gleich i + j ist . Dies ist eine praktische Möglichkeit, Binäroperatoren für eine Menge darzustellen.)
Wir können zeigen, dass es eine Identität gibt, die ziemlich einfach ist 0
. Stornierung ist etwas schwieriger zu zeigen, aber ein Brute-Force-Ansatz liefert diese Tabelle
b a → 0 1 2 3
↓
0 0 1 2 3
1 1 0 3 2
2 2 3 0 1
3 3 2 1 0
Wo unsere Elemente die Lösungen für sind
a + x = b = x + a
(Möglicherweise stellen Sie fest, dass diese Tabelle mit unserer Cayley-Tabelle identisch ist. Ich überlasse sie dem Leser als Übung, um herauszufinden, warum dies für diese Moufang-Schleife der Fall ist.)
Jetzt müssen wir die Moufang-Identitäten für unsere Struktur überprüfen. Es gibt zwei Möglichkeiten, dies für die jeweilige Struktur zu tun. Die erste besteht darin, zu erkennen, dass sie assoziativ ist und somit automatisch die Kriterien erfüllt. Dies wird jedoch im Allgemeinen nicht funktionieren, sodass wir das Ergebnis eher brachial erzwingen möchten. Hier gibt es 3 freie Variablen mit einem Potential von jeweils 4 Werten in jedem Ausdruck. Dies bedeutet, dass wir 7 * 4 3 oder 448 Berechnungen durchführen müssen. Ich lasse die rohen Berechnungen weg, aber hier ist ein Haskell, mit dem Sie dies überprüfen können .
Aufgabe
Bei einer positiven Ganzzahl n als Eingabe wird die Anzahl der Moufang-Schleifen mit der Ordnung n ausgegeben . (Die Reihenfolge einer Gruppe ist die Größe des Sets)
Dies ist Codegolf, daher werden die Antworten in Bytes bewertet, wobei weniger Bytes besser sind.
Testfälle
Hier ist die Anzahl der Moufang-Schleifen für die ersten 71 Eingänge
1,1,1,2,1,2,1,5,2,2,1,6,1,2,1,19,1,5,1,6,2,2,1,20,2,2,5,5,1,4,1,122,1,2,1,18,1,2,2,19,1,7,1,5,2,2,1,103,2,5,1,6,1,17,2,17,2,2,1,18,1,2,4,4529,1,4,1,6,1,4,1
12
nicht 11
. Ich hätte das merken sollen, weil 11
es eine Primzahl ist.