Die hier vorgestellten Programme sind in GAP realisiert worden, einem frei verfügbaren Computeralgebrasystem. Weitere Informationen und die Möglichkeit zur Installation sind unter folgender Adresse zu finden:

http://turnbull.mcs.st-and.ac.uk/~gap/


Mit dem Komplettprogramm Streumatrix werden zu einer Gruppe die Spitzen und ihre Breiten bestimmt und die Einträge der Streumatrix bis zu einer bestimmten Grenze berechnet, die mit Grenze:=20 voreingestellt ist. Um dieses Programm anzuwenden, müssen für die Gruppe ihre Erzeuger als 2x2-Matrizen in einer Liste "Erzeuger:=" in GAP eingegeben werden, also z.B.

Erzeuger_Matrizen:=[ [ [ 0, 1 ], [ -1, 0 ] ], [ [ 1, -3 ], [ 1, -2 ] ], [ [ 1, -1 ], [ 4, -3 ] ] ];


Das Programm Streumatrix kann hier heruntergeladen werden:

Streumatrix


und wird in GAP mit dem Befehl Read(""); gestartet, also z.B.:

Read("/home/user/GAP-programs/Streumatrix");


Die Ausgabe für obige Gruppe sieht so aus:

#################################################
Index: 7
Anzahl Spitzen: 2
Spitzen: [ [ 1, 0 ], [ 1, 2 ] ]
Breite der Spitzen: [ 6, 1 ]
Level: 6 = 2 ^1 * 3
Kongruenzuntergruppe? false
#################################################
Eintraege der Streumatrix
b11 =
[ 5, 5, 10, 10, 21, 12, 32, 20, 30, 20, 52, 22, 62, 30, 40, 40, 83, 32, 92, 40 ]
b12 =
[ 1, 1, 2, 2, 3, 0, 4, 4, 6, 4, 8, 2, 10, 6, 8, 8, 13, 4, 16, 8 ]
#####
b22 =
[ 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 0, 3, 2, 2, 0 ]
#####


Informationen zu der verwendeten Notation sind hier zu finden:

Streumatrix-Notation.pdf      

Streumatrix-Notation.ps


Darüberhinaus gibt es einen Ordner

/PSL-subgroups/


in dem zu den ersten 6.000 Gruppen Informationen wie Erzeuger, Spitzen und ihre Breiten bereits abgespeichert sind. Diese Informationen können durch Öffnen der Datei einer speziellen Gruppe gelesen und in GAP kopiert werden. Dafür muß GAP zunächst die verwendete Notation einbinden, indem das Programm:

Streumatrix-Prozeduren


heruntergeladen und mit dem Read("")-Befehl in GAP eingefügt wird. Anschliessend können die Informationen einer beliebigen Gruppe eingegeben werden. Die Datei 00004 enthält z.B. folgenden Datensatz:

Untergruppe:=List([1..7],i->0);
Untergruppe:=[ 4, 3, [ B, S*B*S ], 2, [ 2, 1 ], [ [ 1, 0 ], [ 1, 1 ] ],
[ [ [ 1, 0 ], [ 0, 1 ] ], [ [ 1, 0 ], [ 1, 1 ] ] ] ];


Dannach können mit dem Programm

Streumatrix-Datenbank


die Daten eingelesen und die Einträge der Streumatrix bis zu der mit Grenze:=20 voreingestellten Grenze bestimmt werden. Für die Gruppe Nr. 4 ergibt dies:

#################################################
Index: 3
Erzeuger als Matrizen:
[ [ 0, 1 ], [ -1, 0 ] ]
[ [ 0, -1 ], [ 1, -2 ] ]
Anzahl Spitzen: 2
Spitzen: [ [ 1, 0 ], [ 1, 1 ] ]
Breite der Spitzen: [ 2, 1 ]
Level: 2 = 2 ^1 * 1
Kongruenzuntergruppe? true
#################################################
Eintraege der Streumatrix
b11 =
[ 1, 2, 2, 4, 4, 4, 6, 8, 6, 8, 10, 8, 12, 12, 8, 16, 16, 12, 18, 16 ]
b12 =
[ 1, 0, 2, 0, 4, 0, 6, 0, 6, 0, 10, 0, 12, 0, 8, 0, 16, 0, 18, 0 ]
#####
b22 = [ 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 6, 0, 8, 0, 6, 0, 8 ] #####


Für viele der Gruppen sind diese Einträge der Liste mit Gruppendaten bereits hinzugefügt. Diese Gruppen sind in dem Verzeichnis

/PSL-subgroups-scattering/


zu finden.
Die Programme Streumatrix und Streumatrix_Datenbank bestehen aus einzelnen Prozeduren, die in diesen beiden Prgrammen aufgeführt sind, damit sie nicht einzeln heruntergeladen werden müssen. Wer an einzelnen Prozeduren interessiert ist, kann sie hier herunterladen:

Benoetigte-Prozeduren
Kongruenzuntergruppe
Spitzen-bestimmen
Eintrage-Streumatrix
Ausgabe-Daten-Gruppe-Erzeugermatrix
Ausgabe-Daten-Gruppe-ohne-Erzeuger
Ausgabe-Streumatrix


Nachdem die Einträge der Streumatrix bestimmt worden sind, kann die Determinante der Streumatrix mit folgendem Programm bestimmt werden:

Determinante-Streumatrix