1############################################################################
2##
3##  samples.g                         CRISP                 Burkhard Höfling
4##
5##  Copyright © 2000, 2016 Burkhard Höfling
6##
7if not IsBound(InfoTest) then
8    DeclareInfoClass("InfoTest");
9fi;
10SetInfoLevel(InfoTest,3);
11if not IsBound(PRINT_METHODS) then
12    PRINT_METHODS := false;
13fi;
14
15groups:= [
16    function(  )
17        local G;
18        G := TrivialGroup( IsPcGroup);
19        SetName(G, "trivial pc group");
20        return G;
21    end,
22    function(  )
23        local G;
24        G :=  TrivialGroup( IsPermGroup);
25        SetName(G, "trivial perm group");
26        return G;
27    end,
28    function(  )
29        local G;
30        G :=  Group([], IdentityMat(4, GF(25)));
31        SetName(G, "trivial mat group");
32        return G;
33    end,
34    function(  )
35        local G;
36        G := SmallGroup(48,29);
37        SetName(G, "GL(2,3) as pc group");
38        return G;
39    end,
40    function(  )
41        local G;
42        G :=  SymmetricGroup( 4 );
43        SetName(G, "Sym(4)");
44        return G;
45    end,
46    function(  )
47        local G;
48        G :=  DihedralGroup( 10 );
49        SetName(G, "Dih(10)");
50        return G;
51    end,
52    function(  )
53        local G;
54        G :=  GL( 2, 3 );
55        SetName(G, "GL(2,3)");
56        return G;
57    end,
58    function(  )
59        local G;
60        G :=  FibonacciGroup( 3, 5 );
61        SetName(G, "Fib(3,5) = C2 x C11");
62        return G;
63    end,
64    function( )
65        local G;
66        G := AutomorphismGroup(AlternatingGroup(4));
67        SetName(G, "Aut(Alt(4)) = Sym(4)");
68        return G;
69    end,
70    function( )
71        local G;
72        G := DirectProduct(CyclicGroup(2), CyclicGroup(3), SymmetricGroup(4));
73        SetName(G, "C2 x C3 x S4");
74        return G;
75    end
76];
77
78groups := groups{[1..Length(groups)-3]};
79
80insolvgroups:= [ function(  )
81        return SymmetricGroup( 5 );
82    end,
83    function(  )
84        return GL(2,5);
85    end,
86    function(  )
87    	local G;
88        G := WreathProduct(CyclicGroup(IsPermGroup, 5), SymmetricGroup(5));
89        SetName(G, "C5 wr S5");
90        return G;
91    end,
92    function( )
93        local G;
94        G := AutomorphismGroup(AbelianGroup([5,5]));
95        SetName(G, "Aut(C5xC5)");
96        return G;
97    end];
98
9925grps := PiGroups([2,5]);
100
101
102classes := function()
103    local cl, C;
104    cl := [];
105
106    C := SchunckClass(rec(bound := BoundaryFunction(25grps)));
107    SetName(C, "[2,5]-grps by boundary");
108    Add(cl, C);
109    C := SaturatedFormation(rec(locdef := LocalDefinitionFunction(25grps)));
110    SetName(C, "[2,5]-grps by locdef");
111    Add(cl, C);
112    C := GroupClass(rec(\in := MemberFunction(25grps)));
113    SetName(C, "[2,5]-grps by membersip");
114    Add(cl, C);
115    C := OrdinaryFormation(rec(
116        res := function(G)
117            local pi;
118            pi := Difference(PrimeDivisors(Size(G)), [2,5]);
119            return NormalClosure(G, HallSubgroup(G, pi));
120        end));
121    SetName(C, "[2,5]-grps by res");
122    Add(cl, C);
123    C := FittingClass(rec(rad := G -> Core(G, HallSubgroup(G, [2,5]))));
124    SetName(C, "[2,5]-grps by rad");
125    Add(cl, C);
126    C := FittingClass(rec(inj := InjectorFunction(25grps)));
127    SetName(C, "[2,5]-grps by inj");
128    Add(cl, C);
129    C := SchunckClass(rec(proj:= ProjectorFunction(25grps)));
130    SetName(C, "[2,5]-grps by proj");
131    Add(cl, C);
132    return cl;
133end;
134
135
136############################################################################
137##
138#E
139##
140