@@ -41,13 +41,13 @@ so as to produce digraphs of type <C>IsFpWeightedDigraph</C>.
4141</ManSection >
4242<Example >
4343<![CDATA[
44- gap> V1 := [ 5, 6 ];;
45- gap> fg1 := FreeGroup( "y" );;
44+ gap> V1 := [7,8 ];;
45+ gap> fg1 := FreeGroup("y");;
4646gap> y := fg1.1;;
47- gap> A1 := [ [ y, 5, 6 ], [ y^-1, 6, 5 ] ] ;
47+ gap> A1 := [ [y,7,8 ], [y^-1,8,7]]; ;
4848gap> D1 := FpWeightedDigraph( fg1, V1, A1 );
49- weighted digraph with vertices: [ 5, 6 ]
50- and arcs: [ [ y, 5, 6 ], [ y^-1, 6, 5 ] ]
49+ weighted digraph with vertices: [ 7, 8 ]
50+ and arcs: [ [ y, 7, 8 ], [ y^-1, 8, 7 ] ]
5151gap> inv1 := InvolutoryArcs( D1 );
5252[ 2, 1 ]
5353]]>
@@ -62,15 +62,15 @@ of each inverse arc in the list of arcs.
6262In the second example the graph is a complete digraph on three vertices.
6363<Example >
6464<![CDATA[
65- gap> fg3 := FreeGroup( 3, "z" );;
66- gap> z1 := fg3.1;; z2 := fg3.2;; z3 := fg3.3;;
67- gap> ob3 := [ 7, 8, 9 ];;
68- gap> A3 := [[z1,7,8 ],[z2,8,9 ],[z3,9,7 ],[z1^-1,8,7 ],[z2^-1,9,8 ],[z3^-1,7,9 ]];;
65+ gap> fg3 := FreeGroup(3, "z");;
66+ gap> z1:= fg3.1;; z2:= fg3.2;; z3:= fg3.3;;
67+ gap> ob3 := [11,12,13 ];;
68+ gap> A3 := [[z1,11,12 ],[z2,12,13 ],[z3,13,11 ],[z1^-1,12,11 ],[z2^-1,13,12 ],[z3^-1,11,13 ]];;
6969gap> D3 := FpWeightedDigraph( fg3, ob3, A3 );
70- weighted digraph with vertices: [ 7, 8, 9 ]
71- and arcs: [ [ z1, 7, 8 ], [ z2, 8, 9 ], [ z3, 9, 7 ], [ z1^-1, 8, 7 ],
72- [ z2^-1, 9, 8 ], [ z3^-1, 7, 9 ] ]
73- [ gap> inob3 := InvolutoryArcs( D3 );
70+ weighted digraph with vertices: [ 11, 12, 13 ]
71+ and arcs: [ [ z1, 11, 12 ], [ z2, 12, 13 ], [ z3, 13, 11 ], [ z1^-1, 12, 11 ],
72+ [ z2^-1, 13, 12 ], [ z3^-1, 11, 13 ] ]
73+ gap> inob3 := InvolutoryArcs( D3 );
7474[ 4, 5, 6, 1, 2, 3 ]
7575]]>
7676</Example >
@@ -162,9 +162,9 @@ gap> ## defining graph of groups G1
162162gap> G1 := GraphOfGroups( D1, [fa,fb], [homy,homybar] );
163163Graph of Groups: 2 vertices; 2 arcs; groups [ fa, fb ]
164164gap> Display( G1 );
165- Graph of Groups with :-
166- vertices: [ 5, 6 ]
167- arcs: [ [ y, 5, 6 ], [ y^-1, 6, 5 ] ]
165+ Graph of Groups with :-
166+ vertices: [ 7, 8 ]
167+ arcs: [ [ y, 7, 8 ], [ y^-1, 8, 7 ] ]
168168 groups: [ fa, fb ]
169169isomorphisms: [ [ [ a^3 ], [ b^2 ] ], [ [ b^2 ], [ a^3 ] ] ]
170170gap> IsGraphOfGroups( G1 );
@@ -282,13 +282,13 @@ so the resulting word is a loop at vertex <M>5</M>.
282282<Example >
283283<![CDATA[
284284gap> L1 := [ a^7, 1, b^-6, 2, a^-11, 1, b^9, 2, a^7 ];;
285- gap> gw1 := GraphOfGroupsWord( G1, 5 , L1 );
286- (5 )a^7.y.b^-6.y^-1.a^-11.y.b^9.y^-1.a^7(5 )
285+ gap> gw1 := GraphOfGroupsWord( G1, 7 , L1 );
286+ (7 )a^7.y.b^-6.y^-1.a^-11.y.b^9.y^-1.a^7(7 )
287287gap> IsGraphOfGroupsWord( gw1 );
288288true
289- gap> [ TailOfGraphOfGroupsWord(gw1), HeadOfGraphOfGroupsWord(gw1) ];
290- [ 5, 5 ]
291- gap> GraphOfGroupsOfWord(gw1);
289+ gap> [ TailOfGraphOfGroupsWord( gw1 ), HeadOfGraphOfGroupsWord( gw1 ) ];
290+ [ 7, 7 ]
291+ gap> GraphOfGroupsOfWord( gw1 );
292292Graph of Groups: 2 vertices; 2 arcs; groups [ fa, fb ]
293293gap> WordOfGraphOfGroupsWord( gw1 );
294294[ a^7, 1, b^-6, 2, a^-11, 1, b^9, 2, a^7 ]
@@ -334,7 +334,7 @@ a^{-1}b^{-1}a^{10}.
334334<Example >
335335<![CDATA[
336336gap> nw1 := ReducedGraphOfGroupsWord( gw1 );
337- (5 )a^-1.y.b^-1.y^-1.a^10(5 )
337+ (7 )a^-1.y.b^-1.y^-1.a^10(7 )
338338]]>
339339</Example >
340340</Section >
@@ -345,7 +345,7 @@ gap> nw1 := ReducedGraphOfGroupsWord( gw1 );
345345
346346<ManSection >
347347 <Oper Name =" FreeProductWithAmalgamation"
348- Arg =" gp1, gp2, iso" />
348+ Arg =" gp1, gp2, iso, verts " />
349349 <Attr Name =" FreeProductWithAmalgamationInfo"
350350 Arg =" fpa" />
351351 <Prop Name =" IsFreeProductWithAmalgamation"
@@ -385,34 +385,34 @@ amalgamated over a cyclic subgroup <C>c3</C>.
385385</ManSection >
386386<Example >
387387<![CDATA[
388- gap> ## set up the first group s3 and a subgroup c3=<a1>
388+ ## set up the first group s3 and a subgroup c3=<a1>
389389gap> fg2 := FreeGroup( 2, "a" );;
390- gap> rel1 := [ fg2.1^3, fg2.2^2, (fg2.1*fg2.2)^2 ];;
390+ gap> rel1 := [fg2.1^3, fg2.2^2, (fg2.1*fg2.2)^2];;
391391gap> s3 := fg2/rel1;;
392392gap> gs3 := GeneratorsOfGroup(s3);;
393- gap> SetName( s3, "s3" );
394- gap> a1 := gs3[1];; a2 := gs3[2];;
393+ gap> SetName(s3,"s3");
394+ gap> a1:= gs3[1];; a2:= gs3[2];;
395395gap> H1 := Subgroup(s3,[a1]);;
396- gap> ## then the second group a4 and subgroup c3=<b1>
396+ ## then the second group a4 and subgroup c3=<b1>
397397gap> f2 := FreeGroup( 2, "b" );;
398- gap> rel2 := [ f2.1^3, f2.2^3, (f2.1*f2.2)^2 ];;
398+ gap> rel2 := [f2.1^3, f2.2^3, (f2.1*f2.2)^2];;
399399gap> a4 := f2/rel2;;
400400gap> ga4 := GeneratorsOfGroup(a4);;
401- gap> SetName( a4, "a4" );
402- gap> b1 := ga4[1]; b2 := ga4[2];;
401+ gap> SetName(a4,"a4");
402+ gap> b1 := ga4[1];; b2:= ga4[2];;
403403gap> H2 := Subgroup(a4,[b1]);;
404404gap> ## form the isomorphism and the fpa group
405405gap> iso := GroupHomomorphismByImages(H1,H2,[a1],[b1]);;
406406gap> inv := InverseGeneralMapping(iso);;
407- gap> fpa := FreeProductWithAmalgamation( s3, a4, iso );
407+ gap> fpa := FreeProductWithAmalgamation( s3, a4, iso, [7,8] );
408408<fp group on the generators [ f1, f2, f3, f4 ]>
409409gap> RelatorsOfFpGroup( fpa );
410410[ f1^2, f2^3, (f2*f1)^2, f3^3, f4^3, (f4*f3)^2, f2*f3^-1 ]
411411gap> gg1 := GraphOfGroupsRewritingSystem( fpa );;
412412gap> Display( gg1 );
413413Graph of Groups with :-
414- vertices: [ 5, 6 ]
415- arcs: [ [ y, 5, 6 ], [ y^-1, 6, 5 ] ]
414+ vertices: [ 7, 8 ]
415+ arcs: [ [ y, 7, 8 ], [ y^-1, 8, 7 ] ]
416416 groups: [ s3, a4 ]
417417isomorphisms: [ [ [ a1 ], [ b1 ] ], [ [ b1 ], [ a1 ] ] ]
418418gap> LeftTransversalsOfGraphOfGroups( gg1 );
@@ -450,11 +450,11 @@ graph of groups rewriting system.
450450</ManSection >
451451<Example >
452452<![CDATA[
453- gap> fpainfo;
453+ gap> fpainfo := FreeProductWithAmalgamationInfo( fpa ) ;
454454rec( embeddings := [ [ a2, a1 ] -> [ f1, f2 ], [ b1, b2 ] -> [ f3, f4 ] ],
455455 groups := [ s3, a4 ], isomorphism := [ a1 ] -> [ b1 ],
456456 positions := [ [ 1, 2 ], [ 3, 4 ] ],
457- subgroups := [ Group([ a1 ]), Group([ b1 ]) ] )
457+ subgroups := [ Group([ a1 ]), Group([ b1 ]) ], vertices := [ 7, 8 ] )
458458gap> emb2 := Embedding( fpa, 2 );
459459[ b1, b2 ] -> [ f3, f4 ]
460460gap> ImageElm( emb2, b1^b2 );
@@ -467,7 +467,7 @@ f4*f3^-1
467467
468468<ManSection >
469469 <Oper Name =" HnnExtension"
470- Arg =" gp, iso" />
470+ Arg =" gp, iso, verts " />
471471 <Attr Name =" HnnExtensionInfo"
472472 Arg =" gp, iso" />
473473 <Prop Name =" IsHnnExtension"
@@ -492,20 +492,20 @@ of order 3.
492492<![CDATA[
493493gap> H3 := Subgroup(a4,[b2]);;
494494gap> i23 := GroupHomomorphismByImages( H2, H3, [b1], [b2] );;
495- gap> hnn := HnnExtension( a4, i23 );
496- <fp group on the generators [ fe1, fe2, fe3 ]>
495+ gap> hnn := HnnExtension( a4, i23, [9] );
496+ <fp group of size infinity on the generators [ fe1, fe2, fe3 ]>
497497gap> phnn := PresentationFpGroup( hnn );;
498498gap> TzPrint( phnn );
499499#I generators: [ fe1, fe2, fe3 ]
500500#I relators:
501501#I 1. 3 [ 1, 1, 1 ]
502502#I 2. 3 [ 2, 2, 2 ]
503503#I 3. 4 [ 1, 2, 1, 2 ]
504- #I 4. 4 [ -3, 1, 3, -2 ]
504+ #I 4. 4 [ -3, 1, 3, -2 ]
505505gap> gg2 := GraphOfGroupsRewritingSystem( hnn );
506506Graph of Groups: 1 vertices; 2 arcs; groups [ a4 ]
507507gap> LeftTransversalsOfGraphOfGroups( gg2 );
508- [ [ <identity ...>, b2^-1, b1^-1*b2^-1, b1*b2^-1 ],
508+ [ [ <identity ...>, b2^-1, b1^-1*b2^-1, b1*b2^-1 ],
509509 [ <identity ...>, b1^-1, b1, b2^-1*b1 ] ]
510510gap> gh := GeneratorsOfGroup( hnn );;
511511gap> w3 := (gh[1]^gh[2])*gh[3]^-1*(gh[1]*gh[3]*gh[2]^2)^2*gh[3]*gh[2];
@@ -524,7 +524,7 @@ storing the group, subgroups and isomorphism involved in their construction.
524524gap> hnninfo := HnnExtensionInfo( hnn );
525525rec( embeddings := [ [ b1, b2 ] -> [ fe1, fe2 ] ], group := a4,
526526 isomorphism := [ b1 ] -> [ b2 ],
527- subgroups := [ Group([ b1 ]), Group([ b2 ]) ] )
527+ subgroups := [ Group([ b1 ]), Group([ b2 ]) ], vertices := [ 9 ] )
528528gap> emb := Embedding( hnn, 1 );
529529[ b1, b2 ] -> [ fe1, fe2 ]
530530gap> ImageElm( emb, b1^b2 );
@@ -580,51 +580,51 @@ on one generator, and full subgroupoids with groups
580580</ManSection >
581581<Example >
582582<![CDATA[
583- gap> Gfa := SinglePieceGroupoid( fa, [-2,-1 ] );;
583+ gap> Gfa := SinglePieceGroupoid( fa, [-4,-3 ] );;
584584gap> ofa := One( fa );;
585585gap> SetName( Gfa, "Gfa" );
586- gap> Uhy := Subgroupoid( Gfa, [ [ hy, [-2,-1 ] ] ] );;
586+ gap> Uhy := Subgroupoid( Gfa, [ [ hy, [-4,-3 ] ] ] );;
587587gap> SetName( Uhy, "Uhy" );
588- gap> Gfb := SinglePieceGroupoid( fb, [-4,-3 ] );;
588+ gap> Gfb := SinglePieceGroupoid( fb, [-6,-5 ] );;
589589gap> ofb := One( fb );;
590590gap> SetName( Gfb, "Gfb" );
591- gap> Uhybar := Subgroupoid( Gfb, [ [ hybar, [-4,-3 ] ] ] );;
591+ gap> Uhybar := Subgroupoid( Gfb, [ [ hybar, [-6,-5 ] ] ] );;
592592gap> SetName( Uhybar, "Uhybar" );
593593gap> gens := GeneratorsOfGroupoid( Uhy );;
594594gap> gensbar := GeneratorsOfGroupoid( Uhybar );;
595595gap> mory := GroupoidHomomorphismFromSinglePiece(
596596> Uhy, Uhybar, gens, gensbar );
597597groupoid homomorphism : Uhy -> Uhybar
598- [ [ [a^3 : -2 -> -2 ], [<identity ...> : -2 -> -1 ] ],
599- [ [b^2 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ] ]
598+ [ [ [a^3 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ],
599+ [ [b^2 : -6 -> -6 ], [<identity ...> : -6 -> -5 ] ] ]
600600gap> morybar := InverseGeneralMapping( mory );
601601groupoid homomorphism : Uhybar -> Uhy
602- [ [ [b^2 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ],
603- [ [a^3 : -2 -> -2 ], [<identity ...> : -2 -> -1 ] ] ]
602+ [ [ [b^2 : -6 -> -6 ], [<identity ...> : -6 -> -5 ] ],
603+ [ [a^3 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ] ]
604604gap> gg3 := GraphOfGroupoids( D1, [Gfa,Gfb], [Uhy,Uhybar], [mory,morybar] );;
605605gap> Display( gg3 );
606606Graph of Groupoids with :-
607- vertices: [ 5, 6 ]
608- arcs: [ [ y, 5, 6 ], [ y^-1, 6, 5 ] ]
607+ vertices: [ 7, 8 ]
608+ arcs: [ [ y, 7, 8 ], [ y^-1, 8, 7 ] ]
609609 groupoids:
610610fp single piece groupoid: Gfa
611- objects: [ -2 , -1 ]
611+ objects: [ -4 , -3 ]
612612 group: fa = <[ a ]>
613613fp single piece groupoid: Gfb
614- objects: [ -4 , -3 ]
614+ objects: [ -6 , -5 ]
615615 group: fb = <[ b ]>
616616subgroupoids: single piece groupoid: Uhy
617- objects: [ -2 , -1 ]
617+ objects: [ -4 , -3 ]
618618 group: hy = <[ a^3 ]>
619619single piece groupoid: Uhybar
620- objects: [ -4 , -3 ]
620+ objects: [ -6 , -5 ]
621621 group: hybar = <[ b^2 ]>
622622isomorphisms: [ groupoid homomorphism : Uhy -> Uhybar
623- [ [ [a^3 : -2 -> -2 ], [<identity ...> : -2 -> -1 ] ],
624- [ [b^2 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ] ],
623+ [ [ [a^3 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ],
624+ [ [b^2 : -6 -> -6 ], [<identity ...> : -6 -> -5 ] ] ],
625625 groupoid homomorphism : Uhybar -> Uhy
626- [ [ [b^2 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ],
627- [ [a^3 : -2 -> -2 ], [<identity ...> : -2 -> -1 ] ] ] ]
626+ [ [ [b^2 : -6 -> -6 ], [<identity ...> : -6 -> -5 ] ],
627+ [ [a^3 : -4 -> -4 ], [<identity ...> : -4 -> -3 ] ] ] ]
628628gap> IsGraphOfGroupoids( gg3 );
629629true
630630]]>
@@ -659,53 +659,54 @@ Compare the normal form <C>nw3</C> below with the normal form <C>nw1</C> above.
659659</ManSection >
660660<Example >
661661<![CDATA[
662- gap> f1 := Arrow( Gfa, a^7, -1 , -2 );;
663- gap> f2 := Arrow( Gfb, b^-6, -4 , -4 );;
664- gap> f3 := Arrow( Gfa, a^-11, -2 , -1 );;
665- gap> f4 := Arrow( Gfb, b^9, -3 , -4 );;
666- gap> f5 := Arrow( Gfa, a^7, -2 , -2 );;
662+ gap> f1 := Arrow( Gfa, a^7, -3 , -4 );;
663+ gap> f2 := Arrow( Gfb, b^-6, -6 , -6 );;
664+ gap> f3 := Arrow( Gfa, a^-11, -4 , -3 );;
665+ gap> f4 := Arrow( Gfb, b^9, -5 , -6 );;
666+ gap> f5 := Arrow( Gfa, a^7, -4 , -3 );;
667667gap> L3 := [ f1, 1, f2, 2, f3, 1, f4, 2, f5 ];
668- [ [a^7 : -1 -> -2 ], 1, [b^-6 : -4 -> -4 ], 2, [a^-11 : -2 -> -1 ], 1,
669- [b^9 : -3 -> -4 ], 2, [a^7 : -2 -> -2 ] ]
670- gap> gw3 := GraphOfGroupoidsWord( gg3, 5 , L3);
671- (5 )[a^7 : -1 -> -2 ].y.[b^-6 : -4 -> -4 ].y^-1.[a^-11 : -2 -> -1 ].y.[b^9 :
672- -3 -> -4 ].y^-1.[a^7 : -2 -> -2](5 )
668+ [ [a^7 : -3 -> -4 ], 1, [b^-6 : -6 -> -6 ], 2, [a^-11 : -4 -> -3 ], 1,
669+ [b^9 : -5 -> -6 ], 2, [a^7 : -4 -> -3 ] ]
670+ gap> gw3 := GraphOfGroupoidsWord( gg3, 7 , L3);
671+ (7 )[a^7 : -3 -> -4 ].y.[b^-6 : -6 -> -6 ].y^-1.[a^-11 : -4 -> -3 ].y.[b^9 :
672+ -5 -> -6 ].y^-1.[a^7 : -4 -> -3](7 )
673673gap> nw3 := ReducedGraphOfGroupoidsWord( gw3 );
674- (5 )[a^-1 : -1 -> -1 ].y.[b^-1 : -3 -> -3 ].y^-1.[a^10 : -1 -> -2](5 )
674+ (7 )[a^-1 : -3 -> -3 ].y.[b^-1 : -5 -> -6 ].y^-1.[a^10 : -4 -> -3](7 )
675675]]>
676676</Example >
677677
678678The reduction proceeds as follows.
679679<List >
680680<Item >
681- <M > [a^7 : -1 \to -2] = [a^{-2} : -1 \to -1]*[a^9 : -1 \to -2]
682- \stackrel{y}{\to} [a^{-2} : -1 \to -1]*[b^6 : -3 \to -4] </M >
681+ <M > [a^7 : -3 \to -4] = [a^{-2} : -3 \to -4]*[a^9 : -4 \to -4]
682+ \stackrel{y}{\to} [a^{-2} : -3 \to -4]*[b^6 : -6 \to -6] </M >
683+ </Item >
684+ <Item >
685+ <M > [b^6 : -6 \to -6]*[b^{-6} : -6 \to -6] = [\mathrm{id} : -6 \to -6]
686+ \stackrel{\bar{y}}{\to} [\mathrm{id} : -4 \to -4] </M >
683687</Item >
684688<Item >
685- <M > [b^6 : -3 \to -4]*[b^{-6 } : -4 \to -4] = [\mathrm{id } : -3 \to -4 ]
686- \stackrel{\bar{y}}{\to} [\mathrm{id } : -1 \to -2 ] </M >
689+ <M > [a^{-2} : -3 \to -4]*[\mathrm{id } : -4 \to -4]*[a^{-11 } : -4 \to -3 ]
690+ = [a^{-13 } : -3 \to -3 ] </M >
687691</Item >
688692<Item >
689- <M > [a^{-2 } : -1 \to -1]*[\mathrm{id } : -1 \to -2 ]*[a^{-11 } : -2 \to -1 ]
690- = [a^{-13 } : -1 \to -1 ] </M >
693+ <M > [a^{-13 } : -3 \to -3] = [a^{-1 } : -3 \to -3 ]*[a^{-12 } : -3 \to -3 ]
694+ \stackrel{y}{\to} [a^{-1 } : -3 \to -3]*[b^{-8} : -5 \to -5 ] </M >
691695</Item >
692696<Item >
693- <M > [a ^{-13 } : -1 \to -1] = [a^{-1} : -1 \to -1]*[a^{-12} : -1 \to -1 ]
694- \stackrel{y}{\to} [a ^{-1} : -1 \to -1 ]*[b^{-8} : -3 \to -3 ] </M >
697+ <M > [b ^{-8 } : -5 \to -5]*[b^9 : -5 \to -6 ]
698+ = [b ^{-1} : -5 \to -6 ]*[b^2 : -6 \to -6 ] </M >
695699</Item >
696700<Item >
697- <M > [b^{-8} : -3 \to -3]*[b^9 : -3 \to -4]
698- = [b^{-1} : -3 \to -3]*[b^2 : -3 \to -4]
699- \stackrel{\bar{y}}{\to} [b^{-1} : -3 \to -3]*[a^3 : -1 \to -2] </M >
701+ <M > [b^2 : -6 \to -6] \stackrel{\bar{y}}{\to} [a^3 : -4 \to -4] </M >
700702</Item >
701703<Item >
702- <M > [a^3 := -1 \to -2 ]*[a^7 : -2 \to -2 ] = [a^{10} : -1 \to -2 ] </M >
704+ <M > [a^3 := -4 \to -4 ]*[a^7 : -4 \to -3 ] = [a^{10} : -4 \to -3 ] </M >
703705</Item >
704706</List >
705707
706708So the resulting word is
707- <M >~(a^{-1} : -1, -1)(b^{-1} : -3, -3)(a^{10} : -1, -2)</M >.
708- Notice that all the arrows except the final one are loops.
709+ <M >~[a^{-1} : -3, -3][b^{-1} : -5, -6][a^{10} : -4, -3]</M >.
709710</Section >
710711
711712</Chapter >
0 commit comments