1##############################################################################
2##
3#W  gpdaut.tst              groupoids Package                    Chris Wensley
4##
5#Y  Copyright (C) 2000-2019, Chris Wensley,
6#Y  School of Computer Science, Bangor University, U.K.
7##
8gap> START_TEST( "groupoids package: gpdaut.tst" );
9gap> gpd_infolevel_saved := InfoLevel( InfoGroupoids );;
10gap> SetInfoLevel( InfoGroupoids, 0 );;
11
12## make gpdaut.tst independent of other tests
13gap> s4 := Group( (1,2,3,4), (3,4) );;
14gap> d8 := Subgroup( s4, [ (1,2,3,4), (1,3) ] );;
15gap> SetName( s4, "s4" );  SetName( d8, "d8" );
16gap> Gs4 := SinglePieceGroupoid( s4, [-15 .. -11] );;
17gap> Gd8 := Groupoid( d8, [-9,-8,-7] );;
18gap> Hs4 := SubgroupoidByObjects( Gs4, [-14,-13,-12] );;
19gap> SetName( Hs4, "Hs4" );
20gap> Hd8b := SubgroupoidWithRays( Hs4, d8, [(),(1,2,3),(1,2,4)] );;
21gap> SetName( Hd8b, "Hd8b" );
22gap> gend12 := [ (15,16,17,18,19,20), (15,20)(16,19)(17,18) ];;
23gap> d12 := Group( gend12 );;
24gap> Gd12 := Groupoid( d12, [-37,-36,-35,-34] );;
25gap> SetName( d12, "d12" );
26gap> SetName( Gd12, "Gd12" );
27gap> s3 := Subgroup( d12, [ (15,17,19)(16,18,20), (15,20)(16,19)(17,18) ] );;
28gap> Gs3 := SubgroupoidByPieces( Gd12, [ [ s3, [-36,-35,-34] ] ] );;
29gap> SetName( s3, "s3" );
30gap> SetName( Gs3, "Gs3" );
31
32## Section 5.6, Groupoid automorphisms
33
34## SubSection 5.6.1
35gap> a4 := Subgroup( s4, [(1,2,3),(2,3,4)] );;
36gap> SetName( a4, "a4" );
37gap> gensa4 := GeneratorsOfGroup( a4 );;
38gap> Ga4 := SubgroupoidByPieces( Gs4, [ [a4, [-15,-13,-11]] ] );
39single piece groupoid: < a4, [ -15, -13, -11 ] >
40gap> SetName( Ga4, "Ga4" );
41gap> d := Arrow( Ga4, (1,3,4), -11, -13 );
42[(1,3,4) : -11 -> -13]
43gap> aut1 := GroupoidAutomorphismByObjectPerm( Ga4, [-13,-11,-15] );;
44gap> Display( aut1 );
45 groupoid mapping: [ Ga4 ] -> [ Ga4 ]
46root homomorphism: [ [ (1,2,3), (2,3,4) ], [ (1,2,3), (2,3,4) ] ]
47images of objects: [ -13, -11, -15 ]
48   images of rays: [ [() : -13 -> -13], [() : -13 -> -11], [() : -13 -> -15] ]
49gap> d1 := ImageElm( aut1, d );
50[(1,3,4) : -15 -> -11]
51gap> h2 := GroupHomomorphismByImages( a4, a4, gensa4, [(2,3,4), (1,3,4)] );;
52gap> aut2 := GroupoidAutomorphismByGroupAuto( Ga4, h2 );;
53gap> Display( aut2 );
54 groupoid mapping: [ Ga4 ] -> [ Ga4 ]
55root homomorphism: [ [ (1,2,3), (2,3,4) ], [ (2,3,4), (1,3,4) ] ]
56images of objects: [ -15, -13, -11 ]
57   images of rays: [ [() : -15 -> -15], [() : -15 -> -13], [() : -15 -> -11] ]
58gap> d2 := ImageElm( aut2, d1 );
59[(1,2,4) : -15 -> -11]
60gap> im3 := [(), (1,3,2), (2,4,3)];;
61gap> aut3 := GroupoidAutomorphismByRayShifts( Ga4, im3 );;
62gap> Display( aut3 );
63 groupoid mapping: [ Ga4 ] -> [ Ga4 ]
64root homomorphism: [ [ (1,2,3), (2,3,4) ], [ (1,2,3), (2,3,4) ] ]
65images of objects: [ -15, -13, -11 ]
66   images of rays: [ [() : -15 -> -15], [(1,3,2) : -15 -> -13],
67  [(2,4,3) : -15 -> -11] ]
68gap> d3 := ImageElm( aut3, d2 );
69[(1,4)(2,3) : -15 -> -11]
70gap> d0 := Arrow( Ga4, (2,3,4), -11, -13 );;
71gap> aut4 := GroupoidInnerAutomorphism( Ga4, d0 );;
72gap> Display( aut4 );
73 groupoid mapping: [ Ga4 ] -> [ Ga4 ]
74root homomorphism: [ [ (1,2,3), (2,3,4) ], [ (1,2,3), (2,3,4) ] ]
75images of objects: [ -15, -11, -13 ]
76   images of rays: [ [() : -15 -> -15], [(2,4,3) : -15 -> -11],
77  [(2,3,4) : -15 -> -13] ]
78gap> d4 := ImageElm( aut4, d3 );
79[(1,2,4) : -15 -> -13]
80gap> aut1234 := aut1*aut2*aut3*aut4;;
81gap> Display( aut1234 );
82 groupoid mapping: [ Ga4 ] -> [ Ga4 ]
83root homomorphism: [ [ (1,2,3), (2,3,4) ], [ (1,4,3), (2,4,3) ] ]
84images of objects: [ -11, -13, -15 ]
85   images of rays: [ [() : -11 -> -11], [(1,2)(3,4) : -11 -> -13],
86  [(1,2)(3,4) : -11 -> -15] ]
87gap> d4  = ImageElm( aut1234, d );
88true
89gap> inv1234 := InverseGeneralMapping( aut1234 );;
90gap> Display( inv1234 );
91 groupoid mapping: [ Ga4 ] -> [ Ga4 ]
92root homomorphism: [ [ (1,2,3), (2,3,4) ], [ (1,2,4), (1,2,3) ] ]
93images of objects: [ -11, -13, -15 ]
94   images of rays: [ [() : -11 -> -11], [() : -11 -> -13],
95  [(1,4)(2,3) : -11 -> -15] ]
96
97# Subsection 5.6.2
98gap> s4c := Group( (1,2,3,4), (3,4) );;
99gap> SetName( s4c, "s4c" );
100gap> s3c := Subgroup( s4c, [ (1,2), (2,3) ] );;
101gap> SetName( s3c, "s3c" );
102gap> Gs4c := SinglePieceGroupoid( s4c, [-9,-8,-7,-6] );;
103gap> SetName( Gs4c, "Gs4c" );
104gap> Hs3c := SubgroupoidWithRays( Gs4c, s3c, [ (), (1,4), (2,4), (3,4) ] );;
105gap> SetName( Hs3c, "Hs3c" );
106gap> ## (1) automorphism by group auto
107gap> a1 := GroupHomomorphismByImages( s3c, s3c, [(1,2),(2,3)], [(1,3),(2,3)] );;
108gap> aut1 := GroupoidAutomorphismByGroupAuto( Hs3c, a1 );
109groupoid homomorphism : Hs3c -> Hs3c
110[ [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4) : -9 -> -8],
111      [(2,4) : -9 -> -7], [(3,4) : -9 -> -6] ],
112  [ [(1,3) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4) : -9 -> -8],
113      [(2,4) : -9 -> -7], [(3,4) : -9 -> -6] ] ]
114gap> a := Arrow( Hs3c, (2,3,4), -8, -8 );
115[(2,3,4) : -8 -> -8]
116gap> ImageElm( aut1, a );
117[(2,4,3) : -8 -> -8]
118gap> b := Arrow( Hs3c, (1,2,3,4), -7, -6 );
119[(1,2,3,4) : -7 -> -6]
120gap> ##  b = (2,4)(1,2)(3,4) -> (2,4)(1,3)(3,4)
121gap> ImageElm( aut1, b );
122[(1,4,2,3) : -7 -> -6]
123gap> ## (2) automorphism by object perm
124gap> aut2 := GroupoidAutomorphismByObjectPerm( Hs3c, [-8,-7,-6,-9] );
125groupoid homomorphism : Hs3c -> Hs3c
126[ [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4) : -9 -> -8],
127      [(2,4) : -9 -> -7], [(3,4) : -9 -> -6] ],
128  [ [(2,4) : -8 -> -8], [(2,3) : -8 -> -8], [(1,2,4) : -8 -> -7],
129      [(1,3,4) : -8 -> -6], [(1,4) : -8 -> -9] ] ]
130gap> ImageElm( aut2, a );
131[(1,4,3) : -7 -> -7]
132gap> ImageElm( aut2, b );
133[(1,2)(3,4) : -6 -> -9]
134gap> ## (3) automorphism by ray shifts
135gap> aut3 := GroupoidAutomorphismByRayShifts( Hs3c, [(),(2,3),(1,3),(1,2)] );
136groupoid homomorphism : Hs3c -> Hs3c
137[ [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4) : -9 -> -8],
138      [(2,4) : -9 -> -7], [(3,4) : -9 -> -6] ],
139  [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4)(2,3) : -9 -> -8],
140      [(1,3)(2,4) : -9 -> -7], [(1,2)(3,4) : -9 -> -6] ] ]
141gap> ImageElm( aut3, a );
142[(2,4,3) : -8 -> -8]
143gap> ImageElm( aut3, b );
144[(1,4,2,3) : -7 -> -6]
145gap> ## (4) combine these three automorphisms
146gap> aut := aut1 * aut2 * aut3;
147groupoid homomorphism : Hs3c -> Hs3c
148[ [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4) : -9 -> -8],
149      [(2,4) : -9 -> -7], [(3,4) : -9 -> -6] ],
150  [ [(2,4) : -8 -> -8], [(2,3) : -8 -> -8], [(1,2)(3,4) : -8 -> -7],
151      [(1,3)(2,4) : -8 -> -6], [(1,4)(2,3) : -8 -> -9] ] ]
152gap> ImageElm( aut, a );
153[(1,4,3) : -7 -> -7]
154gap> ImageElm( aut, b );
155[(1,2,3,4) : -6 -> -9]
156gap> e86 := Arrow( Hs3c, (1,3,2,4), -8, -6 );;
157gap> aut86 := GroupoidInnerAutomorphism( Hs3c, e86 );
158groupoid homomorphism : Hs3c -> Hs3c
159[ [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(1,4) : -9 -> -8],
160      [(2,4) : -9 -> -7], [(3,4) : -9 -> -6] ],
161  [ [(1,2) : -9 -> -9], [(2,3) : -9 -> -9], [(2,4,3) : -9 -> -6],
162      [(2,4) : -9 -> -7], [(1,4)(2,3) : -9 -> -8] ] ]
163
164# Subsection 5.6.3
165gap> AGa4 := AutomorphismGroupOfGroupoid( Ga4 );
166Aut(Ga4)
167gap> Length( GeneratorsOfGroup( AGa4 ) );
1688
169gap> AGgens := GeneratorsOfGroup( AGa4);;
170gap> NGa4 := NiceObject( AGa4 );;
171gap> MGa4 := NiceMonomorphism( AGa4 );;
172gap> Size( AGa4 );
17320736
174gap> SetName( AGa4, "AGa4" );
175gap> SetName( NGa4, "NGa4" );
176gap> ##  cannot test images of AGgens because of random variations
177gap> ##  Now do some tests!
178gap> mgi := MappingGeneratorsImages( MGa4 );;
179gap> autgen := mgi[1];;
180gap> pcgen := mgi[2];;
181gap> ngen := Length( autgen );;
182gap> ForAll( [1..ngen], i -> Order(autgen[i]) = Order(pcgen[i]) );
183true
184
185## SubSection 5.6.4
186gap> AGa40 := Groupoid( AGa4, [0] );
187single piece groupoid: < Aut(Ga4), [ 0 ] >
188gap> conj := function(a)
189>            return ArrowNC( true, GroupoidInnerAutomorphism(Ga4,a), 0, 0 );
190>            end;;
191gap> inner := MappingWithObjectsByFunction( Ga4, AGa40, conj, [0,0,0] );;
192gap> a1 := Arrow( Ga4, (1,2,3), -15, -13 );;
193gap> inn1 := ImageElm( inner, a1 );;
194gap> a2 := Arrow( Ga4, (2,3,4), -13, -11 );;
195gap> inn2 := ImageElm( inner, a2 );;
196gap> a3 := a1*a2;
197[(1,3)(2,4) : -15 -> -11]
198gap> inn3 := ImageElm( inner, a3 );
199[groupoid homomorphism : Ga4 -> Ga4
200[ [ [(1,2,3) : -15 -> -15], [(2,3,4) : -15 -> -15], [() : -15 -> -13],
201      [() : -15 -> -11] ],
202  [ [(1,3,4) : -11 -> -11], [(1,2,4) : -11 -> -11], [(1,3)(2,4) : -11 -> -13],
203      [() : -11 -> -15] ] ] : 0 -> 0]
204gap> (inn3 = inn1*inn2*inn1) and (inn3 = inn2*inn1*inn2);
205true
206
207## SubSection 5.6.5
208gap> Hs3 := HomogeneousDiscreteGroupoid( s3, [ -13..-10] );
209homogeneous, discrete groupoid: < s3, [ -13 .. -10 ] >
210gap> aut4 := GroupoidAutomorphismByObjectPerm( Hs3, [-12,-10,-11,-13] );
211groupoid homomorphism : morphism from a homogeneous discrete groupoid:
212[ -13, -12, -11, -10 ] -> [ -12, -10, -11, -13 ]
213object homomorphisms:
214IdentityMapping( s3 )
215IdentityMapping( s3 )
216IdentityMapping( s3 )
217IdentityMapping( s3 )
218
219gap> gens3 := GeneratorsOfGroup( s3 );;
220gap> g1 := gens3[1];;
221gap> g2 := gens3[2];;
222gap> b1 := GroupHomomorphismByImages( s3, s3, gens3, [g1, g2^g1 ] );;
223gap> b2 := GroupHomomorphismByImages( s3, s3, gens3, [g1^g2, g2 ] );;
224gap> b3 := GroupHomomorphismByImages( s3, s3, gens3, [g1^g2, g2^(g1*g2) ] );;
225gap> b4 := GroupHomomorphismByImages( s3, s3, gens3, [g1^(g2*g1), g2^g1 ] );;
226gap> aut5 := GroupoidAutomorphismByGroupAutos( Hs3, [b1,b2,b3,b4] );
227groupoid homomorphism : morphism from a homogeneous discrete groupoid:
228[ -13, -12, -11, -10 ] -> [ -13, -12, -11, -10 ]
229object homomorphisms:
230GroupHomomorphismByImages( s3, s3,
231[ (15,17,19)(16,18,20), (15,20)(16,19)(17,18) ],
232[ (15,17,19)(16,18,20), (15,18)(16,17)(19,20) ] )
233GroupHomomorphismByImages( s3, s3,
234[ (15,17,19)(16,18,20), (15,20)(16,19)(17,18) ],
235[ (15,19,17)(16,20,18), (15,20)(16,19)(17,18) ] )
236GroupHomomorphismByImages( s3, s3,
237[ (15,17,19)(16,18,20), (15,20)(16,19)(17,18) ],
238[ (15,19,17)(16,20,18), (15,16)(17,20)(18,19) ] )
239GroupHomomorphismByImages( s3, s3,
240[ (15,17,19)(16,18,20), (15,20)(16,19)(17,18) ],
241[ (15,19,17)(16,20,18), (15,18)(16,17)(19,20) ] )
242
243gap> AHs3 := AutomorphismGroupOfGroupoid( Hs3 );
244<group with 4 generators>
245gap> Size( AHs3 );
24631104
247gap> genAHs3 := GeneratorsOfGroup( AHs3 );
248[ groupoid homomorphism : morphism from a homogeneous discrete groupoid:
249    [ -13, -12, -11, -10 ] -> [ -13, -12, -11, -10 ]
250    object homomorphisms:
251    ConjugatorAutomorphism( s3, (15,19,17)(16,20,18) )
252    IdentityMapping( s3 )
253    IdentityMapping( s3 )
254    IdentityMapping( s3 )
255    , groupoid homomorphism : morphism from a homogeneous discrete groupoid:
256    [ -13, -12, -11, -10 ] -> [ -13, -12, -11, -10 ]
257    object homomorphisms:
258    ConjugatorAutomorphism( s3, (15,20)(16,19)(17,18) )
259    IdentityMapping( s3 )
260    IdentityMapping( s3 )
261    IdentityMapping( s3 )
262    , groupoid homomorphism : morphism from a homogeneous discrete groupoid:
263    [ -13, -12, -11, -10 ] -> [ -12, -11, -10, -13 ]
264    object homomorphisms:
265    IdentityMapping( s3 )
266    IdentityMapping( s3 )
267    IdentityMapping( s3 )
268    IdentityMapping( s3 )
269    , groupoid homomorphism : morphism from a homogeneous discrete groupoid:
270    [ -13, -12, -11, -10 ] -> [ -12, -13, -11, -10 ]
271    object homomorphisms:
272    IdentityMapping( s3 )
273    IdentityMapping( s3 )
274    IdentityMapping( s3 )
275    IdentityMapping( s3 )
276     ]
277gap> nobAHs3 := NiceObject( AHs3 );;
278gap> nmonAHs3 := NiceMonomorphism( AHs3 );;
279gap> w := genAHs3[1];;
280gap> w1 := ImageElm( nmonAHs3, w );;
281gap> x := genAHs3[2];;
282gap> x1 := ImageElm( nmonAHs3, x );;
283gap> y := genAHs3[3];;
284gap> y1 := ImageElm( nmonAHs3, y );;
285gap> z := genAHs3[4];;
286gap> z1 := ImageElm( nmonAHs3, z );;
287gap> u := z*w*y*x*z;
288groupoid homomorphism : morphism from a homogeneous discrete groupoid:
289[ -13, -12, -11, -10 ] -> [ -11, -13, -10, -12 ]
290object homomorphisms:
291IdentityMapping( s3 )
292ConjugatorAutomorphism( s3, (15,19,17)(16,20,18) )
293IdentityMapping( s3 )
294ConjugatorAutomorphism( s3, (15,20)(16,19)(17,18) )
295
296gap> u1 := z1*w1*y1*x1*z1;
297(1,2,4,3)(5,17,23,16,8,20,26,13)(6,18,24,15,7,19,25,14)(9,21,27,12,10,22,28,
29811)
299gap> imu := ImageElm( nmonAHs3, u );;
300gap> u1 = imu;
301true
302
303## SubSection 5.6.5
304gap> Hd8 := HomogeneousGroupoid( Gd8,
305>           [ [-20,-19,-18], [-12,-11,-10], [-16,-15,-14] ] );;
306gap> SetName( Hd8, "Hd8" );
307gap> AHd8 := AutomorphismGroupoidOfGroupoid( Hd8 );
308Aut(Hd8)
309gap> ObjectList( AHd8 );
310[ [ -20, -19, -18 ], [ -16, -15, -14 ], [ -12, -11, -10 ] ]
311gap> RaysOfGroupoid( AHd8 ){[2..3]};
312[ groupoid homomorphism :
313    [ [ [(1,2,3,4) : -20 -> -20], [(1,3) : -20 -> -20], [() : -20 -> -19],
314          [() : -20 -> -18] ],
315      [ [(1,2,3,4) : -16 -> -16], [(1,3) : -16 -> -16], [() : -16 -> -15],
316          [() : -16 -> -14] ] ], groupoid homomorphism :
317    [ [ [(1,2,3,4) : -20 -> -20], [(1,3) : -20 -> -20], [() : -20 -> -19],
318          [() : -20 -> -18] ],
319      [ [(1,2,3,4) : -12 -> -12], [(1,3) : -12 -> -12], [() : -12 -> -11],
320          [() : -12 -> -10] ] ] ]
321gap> ObjectGroup( AHd8, [ -12, -11, -10 ] );
322<group with 8 generators>
323
324## Section 5.7
325gap> reps := IrreducibleRepresentations( s4 );;
326gap> rep4 := reps[4];;
327gap> Rs4 := Groupoid( Image( rep4 ), Gs4!.objects );
328single piece groupoid: < Group([ [ [ 0, 1, 0 ], [ 1, 0, 0 ], [ 0, 0, 1 ] ],
329  [ [ 0, 0, 1 ], [ 1, 0, 0 ], [ 0, 1, 0 ] ],
330  [ [ -1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, -1 ] ],
331  [ [ 1, 0, 0 ], [ 0, -1, 0 ], [ 0, 0, -1 ] ] ]), [ -15, -14, -13, -12, -11
332 ] >
333gap> gens := GeneratorsOfGroupoid( Gs4 );
334[ [(1,2,3,4) : -15 -> -15], [(3,4) : -15 -> -15], [() : -15 -> -14],
335  [() : -15 -> -13], [() : -15 -> -12], [() : -15 -> -11] ]
336gap> images := List( gens,
337>        g -> Arrow( Rs4, ImageElm(rep4,g![1]), g![2], g![3] ) );
338[ [[ [ -1, 0, 0 ], [ 0, 0, 1 ], [ 0, -1, 0 ] ] : -15 -> -15],
339  [[ [ 0, 1, 0 ], [ 1, 0, 0 ], [ 0, 0, 1 ] ] : -15 -> -15],
340  [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -14],
341  [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -13],
342  [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -12],
343  [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -11] ]
344gap> mor := GroupoidHomomorphismFromSinglePiece( Gs4, Rs4, gens, images );
345groupoid homomorphism :
346[ [ [(1,2,3,4) : -15 -> -15], [(3,4) : -15 -> -15], [() : -15 -> -14],
347      [() : -15 -> -13], [() : -15 -> -12], [() : -15 -> -11] ],
348  [ [[ [ -1, 0, 0 ], [ 0, 0, 1 ], [ 0, -1, 0 ] ] : -15 -> -15],
349      [[ [ 0, 1, 0 ], [ 1, 0, 0 ], [ 0, 0, 1 ] ] : -15 -> -15],
350      [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -14],
351      [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -13],
352      [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -12],
353      [[ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ] : -15 -> -11] ] ]
354gap> IsMatrixGroupoid( Rs4 );
355true
356gap> a := Arrow( Hs4, (1,4,2), -12, -13 );
357[(1,4,2) : -12 -> -13]
358gap> ImageElm( mor, a );
359[[ [ 0, 0, -1 ], [ -1, 0, 0 ], [ 0, 1, 0 ] ] : -12 -> -13]
360gap> rmor := RestrictedMappingGroupoids( mor, Hd8b );
361groupoid homomorphism :
362[ [ [(1,2,3,4) : -14 -> -14], [(1,3) : -14 -> -14], [(1,2,3) : -14 -> -13],
363      [(1,2,4) : -14 -> -12] ],
364  [ [[ [ -1, 0, 0 ], [ 0, 0, 1 ], [ 0, -1, 0 ] ] : -14 -> -14],
365      [[ [ 1, 0, 0 ], [ 0, 0, -1 ], [ 0, -1, 0 ] ] : -14 -> -14],
366      [[ [ 0, 0, 1 ], [ -1, 0, 0 ], [ 0, -1, 0 ] ] : -14 -> -13],
367      [[ [ 0, -1, 0 ], [ 0, 0, 1 ], [ -1, 0, 0 ] ] : -14 -> -12] ] ]
368gap> #
369gap> SetInfoLevel( InfoGroupoids, gpd_infolevel_saved );;
370gap> STOP_TEST( "gpdaut.tst", 10000 );
371