Andere haben den allgemeinen Rahmen für das Design (endliche projektive Ebene) beschrieben und gezeigt, wie endliche projektive Ebenen erster Ordnung erzeugt werden können. Ich möchte nur einige Lücken füllen.
Endliche projektive Ebenen können für viele verschiedene Ordnungen erzeugt werden, sind jedoch im Fall der Primordnung am einfachsten p
. Dann bilden die ganzen Zahlen modulo p
ein endliches Feld, mit dem Koordinaten für die Punkte und Linien in der Ebene beschrieben werden können. Es gibt 3 verschiedene Arten von Koordinaten für Punkte: (1,x,y)
,, (0,1,x)
und (0,0,1)
, wo x
und y
können Werte von 0
bis annehmen p-1
. Die 3 verschiedenen Arten von Punkten erklären die Formel p^2+p+1
für die Anzahl der Punkte im System. Wir können auch Linien mit den gleichen drei verschiedenen Arten von Koordinaten beschreiben: [1,x,y]
, [0,1,x]
, und [0,0,1]
.
Wir berechnen, ob ein Punkt und eine Linie einfallen, indem wir feststellen, ob das Punktprodukt ihrer Koordinaten gleich 0 mod ist p
. So fallen zum Beispiel der Punkt (1,2,5)
und die Linie ein, [0,1,1]
wenn p=7
seitdem 1*0+2*1+5*1 = 7 == 0 mod 7
, aber der Punkt (1,3,3)
und die Linie fallen [1,2,6]
seitdem nicht ein 1*1+3*2+3*6 = 25 != 0 mod 7
.
In die Sprache der Karten und Bilder übersetzen bedeutet, dass die Karte mit den Koordinaten (1,2,5)
das Bild mit den Koordinaten enthält [0,1,1]
, die Karte mit den Koordinaten (1,3,3)
jedoch nicht das Bild mit den Koordinaten [1,2,6]
. Mit diesem Verfahren können wir eine vollständige Liste der Karten und der darin enthaltenen Bilder erstellen.
Ich denke übrigens, es ist einfacher, sich Bilder als Punkte und Karten als Linien vorzustellen, aber die projektive Geometrie zwischen Punkten und Linien ist dual, so dass es wirklich egal ist. Im Folgenden werde ich jedoch Punkte für Bilder und Linien für Karten verwenden.
Die gleiche Konstruktion funktioniert für jedes endliche Feld. Wir wissen, dass es genau dann ein endliches Ordnungsfeld gibt, q
wenn es sich um q=p^k
eine Hauptmacht handelt. Das Feld heißt GF(p^k)
"Galois-Feld". Die Felder sind im Primzahlfall nicht so einfach zu konstruieren wie im Primzahlfall.
Glücklicherweise wurde die harte Arbeit bereits in freier Software, nämlich Sage, geleistet und implementiert . Um beispielsweise ein projektives Flugzeugdesign der Ordnung 4 zu erhalten, geben Sie einfach ein
print designs.ProjectiveGeometryDesign(2,1,GF(4,'z'))
und Sie erhalten eine Ausgabe, die aussieht wie
ProjectiveGeometryDesign<points=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16, 17, 18, 19, 20], blocks=[[0, 1, 2, 3, 20], [0,
4, 8, 12, 16], [0, 5, 10, 15, 19], [0, 6, 11, 13, 17], [0, 7, 9, 14,
18], [1, 4, 11, 14, 19], [1, 5, 9, 13, 16], [1, 6, 8, 15, 18], [1, 7,
10, 12, 17], [2, 4, 9, 15, 17], [2, 5, 11, 12, 18], [2, 6, 10, 14, 16],
[2, 7, 8, 13, 19], [3, 4, 10, 13, 18], [3, 5, 8, 14, 17], [3, 6, 9, 12,
19], [3, 7, 11, 15, 16], [4, 5, 6, 7, 20], [8, 9, 10, 11, 20], [12, 13,
14, 15, 20], [16, 17, 18, 19, 20]]>
Ich interpretiere das Obige wie folgt: Es gibt 21 Bilder mit den Bezeichnungen 0 bis 20. Jeder der Blöcke (Linie in projektiver Geometrie) sagt mir, welche Bilder auf einer Karte erscheinen. Beispielsweise enthält die erste Karte die Bilder 0, 1, 2, 3 und 20. Die zweite Karte enthält die Bilder 0, 4, 8, 12 und 16. und so weiter.
Das System der Ordnung 7 kann erzeugt werden durch
print designs.ProjectiveGeometryDesign(2,1,GF(7))
welches die Ausgabe erzeugt
ProjectiveGeometryDesign<points=[0, 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, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56], blocks=[[0, 1, 2, 3, 4, 5, 6,
56], [0, 7, 14, 21, 28, 35, 42, 49], [0, 8, 16, 24, 32, 40, 48, 50], [0,
9, 18, 27, 29, 38, 47, 51], [0, 10, 20, 23, 33, 36, 46, 52], [0, 11, 15,
26, 30, 41, 45, 53], [0, 12, 17, 22, 34, 39, 44, 54], [0, 13, 19, 25,
31, 37, 43, 55], [1, 7, 20, 26, 32, 38, 44, 55], [1, 8, 15, 22, 29, 36,
43, 49], [1, 9, 17, 25, 33, 41, 42, 50], [1, 10, 19, 21, 30, 39, 48,
51], [1, 11, 14, 24, 34, 37, 47, 52], [1, 12, 16, 27, 31, 35, 46, 53],
[1, 13, 18, 23, 28, 40, 45, 54], [2, 7, 19, 24, 29, 41, 46, 54], [2, 8,
14, 27, 33, 39, 45, 55], [2, 9, 16, 23, 30, 37, 44, 49], [2, 10, 18, 26,
34, 35, 43, 50], [2, 11, 20, 22, 31, 40, 42, 51], [2, 12, 15, 25, 28,
38, 48, 52], [2, 13, 17, 21, 32, 36, 47, 53], [3, 7, 18, 22, 33, 37, 48,
53], [3, 8, 20, 25, 30, 35, 47, 54], [3, 9, 15, 21, 34, 40, 46, 55], [3,
10, 17, 24, 31, 38, 45, 49], [3, 11, 19, 27, 28, 36, 44, 50], [3, 12,
14, 23, 32, 41, 43, 51], [3, 13, 16, 26, 29, 39, 42, 52], [4, 7, 17, 27,
30, 40, 43, 52], [4, 8, 19, 23, 34, 38, 42, 53], [4, 9, 14, 26, 31, 36,
48, 54], [4, 10, 16, 22, 28, 41, 47, 55], [4, 11, 18, 25, 32, 39, 46,
49], [4, 12, 20, 21, 29, 37, 45, 50], [4, 13, 15, 24, 33, 35, 44, 51],
[5, 7, 16, 25, 34, 36, 45, 51], [5, 8, 18, 21, 31, 41, 44, 52], [5, 9,
20, 24, 28, 39, 43, 53], [5, 10, 15, 27, 32, 37, 42, 54], [5, 11, 17,
23, 29, 35, 48, 55], [5, 12, 19, 26, 33, 40, 47, 49], [5, 13, 14, 22,
30, 38, 46, 50], [6, 7, 15, 23, 31, 39, 47, 50], [6, 8, 17, 26, 28, 37,
46, 51], [6, 9, 19, 22, 32, 35, 45, 52], [6, 10, 14, 25, 29, 40, 44,
53], [6, 11, 16, 21, 33, 38, 43, 54], [6, 12, 18, 24, 30, 36, 42, 55],
[6, 13, 20, 27, 34, 41, 48, 49], [7, 8, 9, 10, 11, 12, 13, 56], [14, 15,
16, 17, 18, 19, 20, 56], [21, 22, 23, 24, 25, 26, 27, 56], [28, 29, 30,
31, 32, 33, 34, 56], [35, 36, 37, 38, 39, 40, 41, 56], [42, 43, 44, 45,
46, 47, 48, 56], [49, 50, 51, 52, 53, 54, 55, 56]]>