Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  frelements.g   Sprache: unbekannt

 
#############################################################################
##
#W  frelements.g                  FR Package                Laurent Bartholdi
##
#Y  Copyright (C) 2006-2013,  Laurent Bartholdi and Olivier Siegenthaler
##
#############################################################################
##
##  This file reads the implementations, and in principle could be reloaded
##  during a GAP session.
#############################################################################

# We input the elements of each one of the 9 examples of machines found in "frmachines.g".
# More precisely, <frel> is a list containing 9 elements corresponding to the 9 machines.
# Each element of <frel> is a list containing 4 lists: one for FRElementNC, and three for FRElement.
# Finally, each one of these lists contains all the elements of the given machine.

frel := [];

# m1 : Grigorchuk group

Add(frel, []);
f := FreeGroup(5);
Add(frel[1], List(GeneratorsOfGroup(f), g -> FRElementNC(FREFamily([1,2]), f, [[f.1, f.1], [f.1, f.1], [f.2, f.4], [f.2, f.5], [f.1, f.3]], [[1,2], [2,1], [1,2], [1,2], [1,2]], g)));
Add(frel[1], List([1..5], i -> FRElement(["e","a","b","c","d"], [[[1],[1]], [[1],[1]], [[2],[4]], [[2],[5]], [[1],[3]]], [[1,2], [2,1], (), (), ()], [i])));
Add(frel[1], List(GeneratorsOfGroup(f), g -> FRElement(f, [[f.1, f.1], [f.1, f.1], [f.2, f.4], [f.2, f.5], [f.1, f.3]], [(), (1,2), (), (), ()], g)));
m := FRMachine(f, [[f.1, f.1], [f.1, f.1], [f.2, f.4], [f.2, f.5], [f.1, f.3]], [(), (1,2), (), (), ()]);
Add(frel[1], List([1..5], i -> FRElement(m, [i])));

# m2 : Grigorchuk group (on a 8-ary tree)

Add(frel, []);
f := FreeGroup(3);
e := ListWithIdenticalEntries(8, One(f));
Add(frel[2], List(GeneratorsOfGroup(f), g -> FRElementNC(FREFamily([1..8]), f, [e, Concatenation(e{[1..7]}, [f.2]), Concatenation(e{[1..6]}, [f.1,f.3])], [[5,6,7,8,1,2,3,4], [3,4,1,2,6,5,7,8], [3,4,1,2,5,6,7,8]], g)));
e := ListWithIdenticalEntries(8, []);
Add(frel[2], List([1..3], i -> FRElement([e, Concatenation(e{[1..7]}, [[2]]), Concatenation(e{[1..6]}, [[1],[3]])], [(1,5)(2,6)(3,7)(4,8), (1,3)(2,4)(5,6), (1,3)(2,4)], [i])));
Add(frel[2], List(GeneratorsOfGroup(f), g -> FRElement(f, [e, Concatenation(e{[1..7]}, [f.2]), Concatenation(e{[1..6]}, [f.1,f.3])], [(1,5)(2,6)(3,7)(4,8), (1,3)(2,4)(5,6), (1,3)(2,4)], g)));
m := FRMachine(f, [e, Concatenation(e{[1..7]}, [f.2]), Concatenation(e{[1..6]}, [f.1,f.3])], [(1,5)(2,6)(3,7)(4,8), (1,3)(2,4)(5,6), (1,3)(2,4)]);
Add(frel[2], List([1..3], i -> FRElement(m, i)));

# m3 : a spinal group

Add(frel, []);
f := FreeGroup(3);
Add(frel[3], List(GeneratorsOfGroup(f), g -> FRElementNC(FREFamily([1..2]), f, [[One(f), One(f)], [f.1, f.3], [One(f), f.2]], [[2,1], [1,2], [1,2]], g)));
Add(frel[3], List([1..3], i -> FRElement(["a","b1","b2"], [[[], []], [[1], [3]], [[], [2]]], [(1,2), (), ()], [i])));
Add(frel[3], List(GeneratorsOfGroup(f), g -> FRElement(f, [[One(f), One(f)], [f.1, f.3], [One(f), f.2]], [(1,2), (), ()], g)));
m := FRMachine([[[], []], [[1], [3]], [[], [2]]], [(1,2), (), ()]);
Add(frel[3], List([1..3], i -> FRElement(m, i)));

# m4 : the 5-adic adding machine

Add(frel, []);

f := FreeGroup(1);
Add(frel[4], List(GeneratorsOfGroup(f), g -> FRElementNC(FREFamily([1..5]), f, [[One(f), One(f), One(f), One(f), f.1]], [[2,3,4,5,1]], g)));
Add(frel[4], List([1], i -> FRElement([[[], [], [], [], [1]]], [(1,2,3,4,5)], [i])));
Add(frel[4], [FRElement(["t"], [[[], [], [], [], [1]]], [(1,2,3,4,5)], [1])]);
m := FRMachine(["t"], [[[], [], [], [], [1]]], [(1,2,3,4,5)]);
Add(frel[4], [FRElement(m, 1)]);

# m5 : a miscellaneous machine on a 7-ary tree

Add(frel, []);
f := FreeGroup("x","y","z");

Add(frel[5], List(GeneratorsOfGroup(f), g -> FRElementNC(FREFamily([1..7]), f, [[f.1, f.2, f.3, f.1, f.2, f.3, One(f)], [f.1, f.2, f.3, One(f), f.3, f.2, f.1], [One(f), f.2, f.2, f.1, f.3, One(f), One(f)]], [[2,3,4,5,1,6,7], [4,3,2,1,5,6,7], [6,5,1,4,2,3,7]], g)));
Add(frel[5], List([1..3], i -> FRElement(["5","*","7"],[[[1], [2], [3], [1], [2], [3], []], [[1], [2], [3], [], [3], [2], [1]], [[], [2], [2], [1], [3], [], []]], [(1,2,3,4,5), (1,4)(2,3), (1,6,3)(2,5)], [i])));
Add(frel[5], List(GeneratorsOfGroup(f), g -> FRElement(f, [[f.1, f.2, f.3, f.1, f.2, f.3, One(f)], [f.1, f.2, f.3, One(f), f.3, f.2, f.1], [One(f), f.2, f.2, f.1, f.3, One(f), One(f)]], [(1,2,3,4,5), (1,4)(2,3), (1,6,3)(2,5)], g)));
m := FRMachine(f, [[f.1, f.2, f.3, f.1, f.2, f.3, One(f)], [f.1, f.2, f.3, One(f), f.3, f.2, f.1], [One(f), f.2, f.2, f.1, f.3, One(f), One(f)]], [(1,2,3,4,5), (1,4)(2,3), (1,6,3)(2,5)]);
Add(frel[5], List(GeneratorsOfFRMachine(m), g -> FRElement(m, g)));

# m6 : a non-Mealy GroupFRMachine

Add(frel, []);
f := FreeGroup(2);

Add(frel[6], List(GeneratorsOfGroup(f), g -> FRElementNC(FREFamily([1..3]), f, [[f.1*f.2, One(f), f.1^2], [f.2^-5, Comm(f.1,f.2), f.2/f.1]], [[2,3,1], [2,1,3]], g)));
Add(frel[6], List([1,2], i -> FRElement(["a","b"], [[[1,2], [], [1,1]], [[-2,-2,-2,-2,-2], [-1,-2,1,2], [2,-1]]], [(1,2,3), (1,2)], [i])));
Add(frel[6], List(GeneratorsOfGroup(f), g -> FRElement(f, [[f.1*f.2, One(f), f.1^2], [f.2^-5, Comm(f.1,f.2), f.2/f.1]], [(1,2,3), (1,2)], g)));
m := FRMachine(["a","b"], [[[1,2], [], [1,1]], [[-2,-2,-2,-2,-2], [-1,-2,1,2], [2,-1]]], [(1,2,3), (1,2)]);
Add(frel[6], List([1,2], i -> FRElement(m, i)));

# m7 : a miscellaneous MonoidFRMachine on the binary tree

Add(frel, []);
f := FreeMonoid(3);

Add(frel[7], List(GeneratorsOfMonoid(f), g -> FRElementNC(FREFamily([1..2]), f, [[f.1, f.3], [f.2, One(f)], [f.2, f.1]], [[1,1], [2,1], [2,2]], g)));
Add(frel[7], List([1..3], i -> FRElement(["z","y","x"], [[[1], [3]], [[2], []], [[2], [1]]], [Transformation([1,1]), (1,2), Transformation([2,2])], [i])));
Add(frel[7], List(GeneratorsOfMonoid(f), g -> FRElement(f, [[f.1, f.3], [f.2, One(f)], [f.2, f.1]], [Transformation([1,1]), (1,2), Transformation([2,2])], g)));
m := FRMachine(["z","y","x"], [[[1], [3]], [[2], []], [[2], [1]]], [Transformation([1,1]), (1,2), Transformation([2,2])]);
Add(frel[7], List([1..3], i -> FRElement(m, i)));

# m8 : a miscellaneous SemigroupFRMachine on a 7-ary tree

Add(frel, []);
f := FreeMonoid(2);

Add(frel[8], List(GeneratorsOfMonoid(f), g -> FRElementNC(FREFamily([1..7]), f, [[f.1,f.2,f.1,f.2,f.1,f.2,f.1],[f.2,f.2,f.1,f.2,f.1,f.1,f.2]], [[2,5,4,7,7,4,3],[3,1,6,7,4,7,1]], g)));
Add(frel[8], List([1,2], i -> FRElement(["a","b"],[[[1],[2],[1],[2],[1],[2],[1]],[[2],[2],[1],[2],[1],[1],[2]]], [Transformation([2,5,4,7,7,4,3]),Transformation([3,1,6,7,4,7,1])], [i])));
Add(frel[8], List(GeneratorsOfMonoid(f), g -> FRElement(f, [[f.1,f.2,f.1,f.2,f.1,f.2,f.1],[f.2,f.2,f.1,f.2,f.1,f.1,f.2]], [Transformation([2,5,4,7,7,4,3]),Transformation([3,1,6,7,4,7,1])], g)));
m := FRMachine(["a","b"],[[[1],[2],[1],[2],[1],[2],[1]],[[2],[2],[1],[2],[1],[1],[2]]], [Transformation([2,5,4,7,7,4,3]),Transformation([3,1,6,7,4,7,1])]);
Add(frel[8], List(GeneratorsOfFRMachine(m), g -> FRElement(m, g)));

# m9 : a non-Mealy SemigroupFRMachine

Add(frel, []);
f := FreeSemigroup(2);

Add(frel[9], List(GeneratorsOfSemigroup(f), g -> FRElementNC(FREFamily([1..3]), f, [[f.1^2,f.2^3*f.1,f.2],[f.1,f.1^7,f.1^2*f.2^2*f.1]], [[3,2,2],[2,1,3]], g)));
Add(frel[9], List([1..2], i -> FRElement(["a1","a2"],[[[1,1],[2,2,2,1],[2]],[[1],[1,1,1,1,1,1,1],[1,1,2,2,1]]],[Transformation([3,2,2]),(1,2)],[i])));
Add(frel[9], List(GeneratorsOfSemigroup(f), g -> FRElement(f, [[f.1^2,f.2^3*f.1,f.2],[f.1,f.1^7,f.1^2*f.2^2*f.1]],[Transformation([3,2,2]),(1,2)],g)));
m := FRMachine(["a1","a2"],[[[1,1],[2,2,2,1],[2]],[[1],[1,1,1,1,1,1,1],[1,1,2,2,1]]],[Transformation([3,2,2]),(1,2)]);
Add(frel[9], List([1,2], i -> FRElement(m, [i])));


[ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge