Die Mathe-Redaktion - 20.11.2017 01:22 - Registrieren/Login
Auswahl
Schwarzes Brett
Fragensteller hat Anwort gelesen, aber bisher nicht weiter reagiert2017-11-19 20:01 bb
Matheformeln mit MathML
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 418 Gäste und 11 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Bearbeiten von: Abschnitt [Änderungshistorie]
  Zeilenumbrüche automatisch mache ich selbst mit HTML    

Ich möchte eine Mail an , nachdem mein Vorschlag bearbeitet ist.
  Nachricht zur Änderung:

Eingabehilfen (mit JavaScript): [Link extern intern] [$$[?] ] [MATHML[?] ]
[fed-Bereich] [LaTeX-Bereich] [hide-Bereich] [Quelltextbereich [nummeriert]][?]
[Link zurück zum Artikelabschnitt]

Vorschau:
3. Gruppentheoretische Berechnungen

3. Gruppentheoretische Berechnungen

Gruppen können durch Angabe der Erzeuger festgelegt werden:

    gap> D4:=Group((1,3),(1,2,3,4));
    Group([ (1,3), (1,2,3,4) ])
    gap> Elements(D4);
    [ (), (2,4), (1,2)(3,4), (1,2,3,4), (1,3), (1,3)(2,4), (1,4,3,2), (1,4)(2,3) ]
    gap> Size(d4);
    8
    gap> Centre(D4);
    Group([ (1,3)(2,4) ])
    gap> Size(last);
    2

last bezeichnet die Variable, welche das letzte Resultat enthält.
Permutations- und Matrixgruppen kann man durch Erzeuger definieren, oder beliebige Gruppen durch Präsentationen (Erzeuger mit Relationen). Gebräuchliche Gruppen kann man einfacher direkt "anfassen". Ich nehme einen Forumbeitrag zu Normalteilern von S4 zum Anlaß, nebst Blick wie dort auf die Automorphismengruppe der "Kleinschen":

    gap> S4:=SymmetricGroup(4);
    Sym( [ 1 .. 4 ] )
    gap> NormalSubgroups(S4);
    [ Group(()), Group([ (1,4)(2,3), (1,3)(2,4) ]),
      Group([ (2,4,3), (1,4)(2,3), (1,3)(2,4) ]), Sym( [ 1 .. 4 ] ) ]
    gap> V4:=Subgroup(S4,[(1,2)(3,4),(1,3)(2,4)]);
    Group([ (1,2)(3,4), (1,3)(2,4) ])
    gap> IsomorphismGroups(V4,DirectProduct(CyclicGroup(2),CyclicGroup(2)));
    [ f1, f2 ] -> [ f1, f2 ]
    gap> IsomorphismGroups(AutomorphismGroup(V4),FactorGroup(S4,V4));
    CompositionMapping( [ (1,2), (1,2), (1,3), () ] ->
    [ f1*f2^2, f1*f2^2, f1*f2, of ... ], )

Wie wir gerade sahen, läßt sich direkt auf Isomorphie prüfen. Für nicht isomorphe Gruppen erhält man als Ausgabe

    fail

und im positiven Fall wird der Isomorphismus ausgerechnet. Man kann sich also zwecks Nachweis einer Isomorphie selbige ausgeben lassen und durch Nachrechnen bestätigen. Steht man umgekehrt vor der Aufgabe, zu zeigen, daß zwei Gruppen nicht isomorph sind, hilft ein "fail" nicht viel weiter. Man benötigt ein strukturelles Argument.

fed-Code einblenden

    gap> Size(AlternatingGroup(4));
    12
    gap> Size(DihedralGroup(12));
    12
    gap> IsomorphismGroups(AlternatingGroup(4),DihedralGroup(12));
    fail
    gap> List(Elements(AlternatingGroup(4)),Order);
    [ 1, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3, 2 ]
    gap> List(Elements(DihedralGroup(12)),Order);
    [ 1, 2, 6, 3, 2, 2, 2, 3, 2, 2, 6, 2 ]

Hierbei benutzten wir den sehr praktischen List-Befehl, womit man eine Funktion jeweils auf sämtliche Objekte einer Liste anwenden kann.
fed-Code einblenden

Bisher erledigten wir Rechnungen, welche wir auch rasch ohne Computerhilfe durchführen konnten. Nutzen wir nun die Kapazitäten von GAP und gehen wir einmal größere Gruppen an!

Beispielsweise wurde im Forum eine Frage zum Nachweis gestellt, daß alle Gruppen der Ordnung 2002 einen Normalteiler vom Index 2 haben.
Wir verwenden GAP, um das Ziel der Aufgabenstellung zu prüfen. Wir lassen uns alle Gruppen mit Elementanzahl 2002 geben:

    gap> G2002:=AllSmallGroups(2002);;
    gap> Size(G2002);
    8

G2002 enthält jetzt eine Liste von 8 polyzyklischen Gruppen mit jeweils 4 Generatoren. Wir ermitteln die jeweiligen Normalteiler und deren Ordnungen:

    gap> N2002:=List(G2002,NormalSubgroups);;
    gap> List(N2002,i->List(i,Size));
    [ [ 1, 2, 7, 14, 11, 22, 77, 154, 13, 26, 91, 182, 143, 286, 1001, 2002 ],
     [ 1, 7, 11, 77, 13, 26, 91, 182, 143, 286, 1001, 2002 ],
     [ 1, 7, 11, 22, 77, 154, 13, 91, 143, 286, 1001, 2002 ],
     [ 1, 7, 11, 77, 13, 91, 143, 286, 1001, 2002 ],
     [ 1, 7, 14, 11, 77, 154, 13, 91, 182, 143, 1001, 2002 ],
     [ 1, 7, 11, 77, 13, 91, 182, 143, 1001, 2002 ],
     [ 1, 7, 11, 77, 154, 13, 91, 143, 1001, 2002 ],
     [ 1, 7, 11, 77, 13, 91, 143, 1001, 2002 ] ]

Wie man erkennt, enthält jede der Gruppen von Ordnung 2002 eine normale Untergruppe der Ordnung 1001, also mit Index 2.

In einem weiteren Beitrag im Forum wurde nach den Isomorphietypen einer Gruppe mit 2002 Elementen gefragt. Setzen wir unsere Untersuchungen dahingehend fort, neben den Überlegungen in jenem Forumthread. Daß es genau 8 Typen gibt, wissen wir schon, sehen wir sie uns nun genauer an:

    gap> List(G2002,IsAbelian);
    [ true, false, false, false, false, false, false, false ]
    gap> List(G2002,IsCyclic);
    [ true, false, false, false, false, false, false, false ]

fed-Code einblenden

Nehmen wir uns die 8. Gruppe vor. Wir prüfen die Erzeuger der Gruppe und ihre Relationen:

    gap> gen:=MinimalGeneratingSet(G2002[8]);
    [ f1, f2*f3*f4 ]
    gap> Order(gen[1]);
    2
    gap> Order(gen[2]);
    1001
    gap> gen[2]*gen[1]*gen[2]*gen[1];
    <identity> of ...

Die 8. Gruppe wird von 2 Elementen der Ordnungen 2 und 1001 erzeugt, letztere Relation verschafft uns die Gewißheit, daß es sich bei dieser Gruppe um die dihedrale Gruppe der Ordnung 2002 handelt.

Die verbleibenden Gruppen kann man ähnlich untersuchen, wir beschränken uns hier auf die 4. Gruppe:

    gap> gen:=GeneratorsOfGroup(G2002[4]);
    [ f1, f2, f3, f4 ]
    gap> MinimalGeneratingSet(G2002[4]);
    [ f1*f2, f3*f4 ]
    gap> Order(gen[1]);
    2
    gap> Order(gen[2]);
    7
    gap> Order(gen[3]*gen[4]);
    143
    gap> gen[3]*gen[4]*gen[1]*gen[3]*gen[4];
    f1

fed-Code einblenden
Wir kontrollieren die Isomorphie mit GAP:

    gap> IsomorphismGroups(DirectProduct(DihedralGroup(286),CyclicGroup(7)),G2002[4]);
    [ f1*f2^6*f3^9*f4^4, f2^3*f3^3 ] -> [ f1*f2, f3*f4 ]

Wir haben also Isomorphie. Was man selbstverständlich auch durch eigene Überlegungen nachweisen sollte.
Umfassendere Kenntnis der GAP-Features gestattet noch effektiveres Forschen, demonstriert an dem Einzeiler

    gap> List(G2002,StructureDescription);
    [ "C2002", "C77 x D26", "C91 x D22", "C7 x D286", "C143 x D14", "C11 x D182",
      "C13 x D154", "D2002" ]

Es gibt enorm viele Funktionen für das Rechnen mit Gruppen: das Bestimmen von Ordnung, Konjugationsklassen, Ableitungen, Sylow-Untergruppen, Normalteilern, Automorphismen, Charakteren uvm. Weiterhin für Homomorphismen zwischen Gruppen, Operationen von Gruppen (Stabilisatoren, Bahnen, ...), direkte/semidirekte Produkte, ... haufenweise Spielzeug.
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]