<?xml version="1.0" encoding="UTF-8"?>
<!-- This is an automatically generated file. -->
<Chapter Label="Chapter_ukf_examples">
<Heading>Examples</Heading>
<P/>
Several classes of examples of subgroups of <Math>\mathrm{Aut}(B_{d,k})</Math> that satisfy (C) and or (D) are constructed in <Cite Key="Tor20"/> and implemented in this section. For a given permutation group <Math>F\le S_{d}</Math>, there are always the three local actions <Math>\Gamma(F)</Math>, <Math>\Delta(F)</Math> and <Math>\Phi(F)</Math> on <Math>\mathrm{Aut}(B_{d,2})</Math> that project onto <Math>F</Math>. For some <Math>F</Math>, these are all distinct and yield all universal groups that have <Math>F</Math> as their <Math>1</Math>-local action, see <Cite Key="Tor20" Where="Theorem 3.32"/>. More examples arise in particular when either point stabilizers in <Math>F</Math> are not simple, <Math>F</Math> preserves a partition, or <Math>F</Math> is not perfect.
This section also includes functions to provide the <Math>k</Math>-local actions of the groups <Math>\mathrm{PGL}(2,\mathbb{Q}_{p})</Math> and <Math>\mathrm{PSL}(2,\mathbb{Q}_{p})</Math> acting on <Math>T_{p+1}</Math>.
<Section Label="Chapter_Examples_Section_Discrete_groups">
<Heading>Discrete groups</Heading>
Here, we implement the local actions <Math>\Gamma(F),\Delta(F)\le\mathrm{Aut}(B_{d,2})</Math>, both of which satisfy both (C) and (D), see <Cite Key="Tor20" Where="Section 3.4.1"/>.
<P/>
<ManSection Label="LocalActionElement">
<Heading>LocalActionElement</Heading>
<Oper Arg="d,a" Name="LocalActionElement" Label="for d, a"/>
<Oper Arg="l,d,a" Name="LocalActionElement" Label="for l, d, a"/>
<Oper Arg="l,d,s,addr" Name="LocalActionElement" Label="for l, d, s, addr"/>
<Oper Arg="d,k,aut,z" Name="LocalActionElement" Label="for d, k, aut, z"/>
<Description>
<Index>gamma, see LocalActionElement</Index>
<P/>
<List>
<Mark>for the arguments <A>d</A>, <A>a</A></Mark>
<Item>
Returns: the automorphism <Math>\gamma(</Math><A>a</A><Math>)=(</Math><A>a</A><Math>,(</Math><A>a</A><Math>)_{\omega\in\Omega})\in\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math> and a permutation <A>a</A> <Math>\in S_d</Math>.
</Item>
<Mark>for the arguments <A>l</A>, <A>d</A>, <A>a</A></Mark>
<Item>
Returns: the automorphism <Math>\gamma^{l}(</Math><A>a</A><Math>)\in\mathrm{Aut}(B_{d,l})</Math> all of whose <Math>1</Math>-local actions are given by <A>a</A>.
<P/>
The arguments of this method are a radius <A>l</A> <Math>\in\mathbb{N}</Math>, a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math> and a permutation <A>a</A> <Math>\in S_d</Math>.
</Item>
<Mark>for the arguments <A>l</A>, <A>d</A>, <A>s</A>, <A>addr</A></Mark>
<Item>
Returns: the automorphism of <Math>B_{d,l}</Math> whose <Math>1</Math>-local actions are given by <A>s</A> at vertices whose address has <A>addr</A> as a prefix and are trivial elsewhere.
<P/>
The arguments of this method are a radius <A>l</A> <Math>\in\mathbb{N}</Math>, a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a permutation <A>s</A> <Math>\in S_d</Math> and an address <A>addr</A> of a vertex in <Math>B_{d,l}</Math> whose last entry is fixed by <A>s</A>.
</Item>
<Mark>for the arguments <A>d</A>, <A>k</A>, <A>aut</A>, <A>z</A></Mark>
<Item>
Returns: the automorphism <Math>\gamma_{z}(</Math><A>aut</A><Math>)=(</Math><A>aut</A><Math>,(</Math><A>z</A><Math>(</Math><A>aut</A><Math>,\omega))_{\omega\in\Omega})\in\mathrm{Aut}(B_{d,k+1})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a radius <A>k</A> <Math>\in\mathbb{N}</Math>, an automorphism <A>aut</A> of <Math>B_{d,k}</Math>, and an involutive compatibility cocycle <A>z</A> of a subgroup of <Math>\mathrm{Aut}(B_{d,k})</Math> that contains <A>aut</A> (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/>).
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> LocalActionElement(3,(1,2));
(1,3)(2,4)(5,6)
]]></Example>
<P/>
<Example><![CDATA[
gap> LocalActionElement(2,3,(1,2));
(1,3)(2,4)(5,6)
gap> LocalActionElement(3,3,(1,2));
(1,5)(2,6)(3,8)(4,7)(9,11)(10,12)
]]></Example>
<P/>
<Example><![CDATA[
gap> LocalActionElement(3,3,(1,2),[1,3]);
(3,4)
gap> LocalActionElement(3,3,(1,2),[]);
(1,5)(2,6)(3,8)(4,7)(9,11)(10,12)
]]></Example>
<P/>
<Example><![CDATA[
gap> S3:=LocalAction(3,1,SymmetricGroup(3));;
gap> z1:=AllInvolutiveCompatibilityCocycles(S3)[1];;
gap> LocalActionElement(3,1,(1,2),z1);
(1,4)(2,3)(5,6)
gap> z3:=AllInvolutiveCompatibilityCocycles(S3)[3];;
gap> LocalActionElement(3,1,(1,2),z3);
(1,3)(2,4)(5,6)
]]></Example>
<P/>
<ManSection Label="LocalActionGamma">
<Heading>LocalActionGamma</Heading>
<Oper Arg="d,F" Name="LocalActionGamma" Label="for d, F"/>
<Oper Arg="l,d,F" Name="LocalActionGamma" Label="for l, d, F"/>
<Oper Arg="F,z" Name="LocalActionGamma" Label="for F, z"/>
<Description>
<List>
<Mark>for the arguments <A>d</A>, <A>F</A></Mark>
<Item>
Returns: the local action <Math>\Gamma(</Math><A>F</A><Math>)=\{(a,(a)_{\omega})\mid a\in F\}\le\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, and a subgroup <A>F</A> of <Math>S_{d}</Math>.
</Item>
<Mark>for the arguments <A>l</A>, <A>d</A>, <A>F</A></Mark>
<Item>
Returns: the group <Math>\Gamma^{l}(</Math><A>F</A><Math>)\le\mathrm{Aut}(B_{d,l})</Math>.
<P/>
The arguments of this method are a radius <A>l</A> <Math>\in\mathbb{N}</Math>, a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, and a subgroup <A>F</A> of <Math>S_d</Math>.
</Item>
<Mark>for the arguments <A>F</A>, <A>z</A></Mark>
<Item>
Returns: the group <Math>\Gamma_{z}(</Math><A>F</A><Math>)=\{(a,(</Math><A>z</A><Math>(a,\omega))_{\omega\in\Omega})\mid a\in</Math><A>F</A><Math>\}\le\mathrm{Aut}(B_{d,k+1})</Math>.
<P/>
The arguments of this method are a local action <A>F</A> <Math>\le\mathrm{Aut}(B_{d,k})</Math> and an involutive compatibility cocycle <A>z</A> of <A>F</A> (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/>).
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> F:=TransitiveGroup(4,3);;
gap> LocalActionGamma(4,F);
Group([ (1,5,9,10)(2,6,7,11)(3,4,8,12), (1,8)(2,7)(3,9)(4,5)(10,12) ])
]]></Example>
<P/>
<Example><![CDATA[
gap> LocalActionGamma(3,SymmetricGroup(3));
Group([ (1,4,5)(2,3,6), (1,3)(2,4)(5,6) ])
gap> LocalActionGamma(2,3,SymmetricGroup(3));
Group([ (1,4,5)(2,3,6), (1,3)(2,4)(5,6) ])
gap> LocalActionGamma(3,3,SymmetricGroup(3));
Group([ (1,8,10)(2,7,9)(3,5,12)(4,6,11), (1,5)(2,6)(3,8)(4,7)(9,11)(10,12) ])
]]></Example>
<P/>
<Example><![CDATA[
gap> F:=SymmetricGroup(3);;
gap> rho:=SignHomomorphism(F);;
gap> H:=LocalActionPi(2,3,F,rho,[1]);;
gap> z:=InvolutiveCompatibilityCocycle(H);;
gap> g:=LocalActionGamma(H,z);;
gap> [NrMovedPoints(g),TransitiveIdentification(g)];
[ 12, 8 ]
]]></Example>
<ManSection Label="LocalActionDelta">
<Heading>LocalActionDelta</Heading>
<Oper Arg="d,F" Name="LocalActionDelta" Label="for d, F"/>
<Oper Arg="d,F,C" Name="LocalActionDelta" Label="for d, F, C"/>
<Description>
<P/>
<List>
<Mark>for the arguments <A>d</A>, <A>F</A></Mark>
<Item>
Returns: the group <Math>\Delta(</Math><A>F</A><Math>)\le\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, and a <E>transitive</E> subgroup <A>F</A> of <Math>S_{d}</Math>.
</Item>
<Mark>for the arguments <A>d</A>, <A>F</A>, <A>C</A></Mark>
<Item>
Returns: the group <Math>\Delta(</Math><A>F</A><Math>,</Math><A>C</A><Math>)\le\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a <E>transitive</E> subgroup <A>F</A> of <Math>S_d</Math>, and a central subgroup <A>C</A> of the stabilizer <A>F</A><Math>_{1}</Math> of <Math>1</Math> in <A>F</A>.
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> F:=SymmetricGroup(3);;
gap> D:=LocalActionDelta(3,F);
Group([ (1,3,6)(2,4,5), (1,3)(2,4), (1,2)(3,4)(5,6) ])
gap> F1:=Stabilizer(F,1);;
gap> D1:=LocalActionDelta(3,F,F1);
Group([ (1,4,5)(2,3,6), (1,3)(2,4)(5,6), (1,2)(3,4)(5,6) ])
gap> D=D1;
false
gap> G:=AutBall(3,2);;
gap> D^G=D1^G;
true
]]></Example>
<P/>
<Example><![CDATA[
gap> F:=PrimitiveGroup(5,3);
AGL(1, 5)
gap> F1:=Stabilizer(F,1);
Group([ (2,3,4,5) ])
gap> C:=Group((2,4)(3,5));
Group([ (2,4)(3,5) ])
gap> Index(F1,C);
2
gap> Index(LocalActionDelta(5,F,F1),LocalActionDelta(5,F,C));
2
]]></Example>
<P/>
</Section>
<Section Label="Chapter_Examples_Section_Maximal_extensions">
<Heading>Maximal extensions</Heading>
For any <Math>F\le\mathrm{Aut}(B_{d,k})</Math> that satisfies (C), the group <Math>\Phi(F)\le\mathrm{Aut}(B_{d,k+1})</Math> is the maximal extension of <Math>F</Math> that satisfies (C) as well. It stems from the action of <Math>\mathrm{U}_{k}(F)</Math> on balls of radius <Math>k+1</Math> in <Math>T_{d}</Math>.
<P/>
<ManSection Label="LocalActionPhi1">
<Heading>LocalActionPhi</Heading>
<Oper Arg="F" Name="LocalActionPhi" Label="for F"/>
<Oper Arg="l,F" Name="LocalActionPhi" Label="for l, F"/>
<Description>
<List>
<Mark>for the argument <A>F</A></Mark>
<Item>
Returns: the group <Math>\Phi_{k}(</Math><A>F</A><Math>)=\{(a,(a_{\omega})_{\omega})\mid a\in </Math><A>F</A><Math>,\ \forall \omega\in\Omega:\ a_{\omega}\in C_{F}(a,\omega)\}\le\mathrm{Aut}(B_{d,k+1})</Math>.
<P/>
The argument of this method is a local action <A>F</A> <Math>\le\mathrm{Aut}(B_{d,k})</Math>.
</Item>
<Mark>for the arguments <A>l</A>, <A>F</A></Mark>
<Item>
Returns: the group <Math>\Phi^{l}(</Math><A>F</A><Math>)=\Phi_{l-1}\circ\cdots\circ\Phi_{k+1}\circ\Phi_{k}(</Math><A>F</A><Math>)\le\mathrm{Aut}(B_{d,l})</Math>.
<P/>
The arguments of this method are a radius <A>l</A> <Math>\in\mathbb{N}</Math> and a local action <A>F</A> <Math>\le\mathrm{Aut}(B_{d,k})</Math>.
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> S3:=LocalAction(3,1,SymmetricGroup(3));;
gap> LocalActionPhi(S3);
Group([ (), (1,4,5)(2,3,6), (1,3)(2,4)(5,6), (1,2), (3,4), (5,6) ])
gap> last=AutBall(3,2);
true
gap> A3:=LocalAction(3,1,AlternatingGroup(3));;
gap> LocalActionPhi(A3);
Group([ (), (1,4,5)(2,3,6) ])
gap> last=LocalActionGamma(3,AlternatingGroup(3));
true
]]></Example>
<P/>
<Example><![CDATA[
gap> S3:=LocalAction(3,1,SymmetricGroup(3));;
gap> groups:=ConjugacyClassRepsCompatibleGroupsWithProjection(2,S3);
[ Group([ (1,2)(3,5)(4,6), (1,4,5)(2,3,6) ]),
Group([ (1,2)(3,4)(5,6), (1,2)(3,5)(4,6), (1,4,5)(2,3,6) ]),
Group([ (3,4)(5,6), (1,2)(3,4), (1,4,5)(2,3,6), (3,5,4,6) ]),
Group([ (3,4)(5,6), (1,2)(3,4), (1,4,5)(2,3,6), (3,5)(4,6) ]),
Group([ (3,4)(5,6), (1,2)(3,4), (1,4,5)(2,3,6), (5,6), (3,5,4,6) ]) ]
gap> for G in groups do Print(Size(G),",",Size(LocalActionPhi(G)),"\n"); od;
6,6
12,12
24,192
24,192
48,3072
]]></Example>
<P/>
<Example><![CDATA[
gap> LocalActionPhi(3,LocalAction(4,1,SymmetricGroup(4)));
<permutation group with 34 generators>
gap> last=AutBall(4,3);
true
]]></Example>
<P/>
<Example><![CDATA[
gap> rho:=SignHomomorphism(SymmetricGroup(3));;
gap> F:=LocalActionPi(2,3,SymmetricGroup(3),rho,[1]);; Size(F);
24
gap> P:=LocalActionPhi(4,F);; Size(P);
12288
gap> IsSubgroup(AutBall(3,4),P);
true
gap> SatisfiesC(P);
true
]]></Example>
<P/>
</Section>
<Section Label="Chapter_Examples_Section_Normal_subgroups_and_partitions">
<Heading>Normal subgroups and partitions</Heading>
When point stabilizers in <Math>F\le S_{d}</Math> are not simple, or <Math>F</Math> preserves a partition, more universal groups can be constructed as follows.
<P/>
<ManSection Label="LocalActionPhi2">
<Heading>LocalActionPhi</Heading>
<Oper Arg="d,F,N" Name="LocalActionPhi" Label="for d, F, N"/>
<Oper Arg="d,F,P" Name="LocalActionPhi" Label="for d, F, P"/>
<Oper Arg="F,P" Name="LocalActionPhi" Label="for F, P"/>
<Description>
<P/>
<List>
<Mark>for the arguments <A>d</A>, <A>F</A>, <A>N</A></Mark>
<Item>
Returns: the group <Math>\Phi(</Math><A>F</A><Math>,</Math><A>N</A><Math>)\le\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a <E>transitive</E> permutation group <A>F</A> <Math>\le S_{d}</Math> and a normal subgroup <A>N</A> of the stabilizer <A>F</A><Math>_{1}</Math> of <Math>1</Math> in <A>F</A>.
</Item>
<Mark>for the arguments <A>d</A>, <A>F</A>, <A>P</A></Mark>
<Item>
Returns: the group <Math>\Phi(</Math><A>F</A><Math>,</Math><A>P</A><Math>)=\{(a,(a_{\omega})_{\omega})\mid a\in </Math><A>F</A><Math>,\ a_{\omega}\in C_{F}(a,\omega)</Math> constant w.r.t. <A>P</A><Math>\}\le\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math> and a permutation group <A>F</A> <Math>\le S_{d}</Math> and a partition <A>P</A> of <C>[1..d]</C> preserved by <A>F</A>.
</Item>
<Mark>for the arguments <A>F</A>, <A>P</A></Mark>
<Item>
Returns: the group <Math>\Phi_{k}(</Math><A>F</A><Math>,</Math><A>P</A><Math>)=\{(\alpha,(\alpha_{\omega})_{\omega})\mid \alpha\in <A>F</A>,\ \alpha_{\omega}\in C_{F}(\alpha,\omega)</Math> constant w.r.t. <A>P</A><Math>\}\le\mathrm{Aut}(B_{d,k+1})</Math>.
<P/>
The arguments of this method are a local action <A>F</A> <Math>\le\mathrm{Aut}(B_{d,k})</Math> and a partition <A>P</A> of <C>[1..d]</C> preserverd by <Math>\pi</Math><A>F</A> <Math>\le S_{d}</Math>. This method assumes that all compatibility sets with respect to a partition element are non-empty and that all compatibility sets of the identity with respect to a partition element are non-trivial.
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> F:=SymmetricGroup(4);;
gap> F1:=Stabilizer(F,1);
Sym( [ 2 .. 4 ] )
gap> grps:=NormalSubgroups(F1);
[ Sym( [ 2 .. 4 ] ), Alt( [ 2 .. 4 ] ), Group(()) ]
gap> N:=grps[2];
Alt( [ 2 .. 4 ] )
gap> LocalActionPhi(4,F,N);
Group([ (1,5,9,10)(2,6,7,11)(3,4,8,12), (1,4)(2,5)(3,6)(7,8)(10,11), (1,2,3) ])
gap> Index(F1,N);
2
gap> Index(LocalActionPhi(4,F,F1),LocalActionPhi(4,F,N));
16
]]></Example>
<P/>
<Example><![CDATA[
gap> F:=TransitiveGroup(4,3);
D(4)
gap> P:=Blocks(F,[1..4]);
[ [ 1, 3 ], [ 2, 4 ] ]
gap> G:=LocalActionPhi(4,F,P);
Group([ (1,5,9,10)(2,6,7,11)(3,4,8,12), (1,8)(2,7)(3,9)(4,5)(10,12), (1,3)
(8,9), (4,5)(10,12) ])
gap> mt:=RandomSource(IsMersenneTwister,1);;
gap> aut:=Random(mt,G);
(1,3)(4,12)(5,10)(6,11)(8,9)
gap> LocalAction(1,4,2,aut,[1]); LocalAction(1,4,2,aut,[3]);
(2,4)
(2,4)
gap> LocalAction(1,4,2,aut,[2]); LocalAction(1,4,2,aut,[4]);
(1,3)(2,4)
(1,3)(2,4)
]]></Example>
<P/>
<Example><![CDATA[
gap> H:=TransitiveGroup(4,3);
D(4)
gap> P:=Blocks(H,[1..4]);
[ [ 1, 3 ], [ 2, 4 ] ]
gap> F:=LocalActionPhi(4,H,P);;
gap> G:=LocalActionPhi(F,P);;
gap> SatisfiesC(G);
true
]]></Example>
<P/>
</Section>
<Section Label="Chapter_Examples_Section_Abelian_quotients">
<Heading>Abelian quotients</Heading>
When a permutation group <Math>F\le S_{d}</Math> is not perfect, i.e. it admits an abelian quotient <Math>\rho:F\twoheadrightarrow A</Math>, more universal groups can be constructed by imposing restrictions of the form <Math>\prod_{r\in R}\prod_{x\in S(b,r)}\rho(\sigma_{1}(\alpha,x))=1</Math> on elements <Math>\alpha\in\Phi^{k}(F)\le\mathrm{Aut}(B_{d,k})</Math>.
<P/>
<ManSection>
<Func Arg="F" Name="SignHomomorphism" />
<Returns> the sign homomorphism from <A>F</A> to <Math>S_{2}</Math>.
</Returns>
<Description>
The argument of this method is a permutation group <A>F</A> <Math>\le S_{d}</Math>. This method can be used as an example for the argument <A>rho</A> in the methods <Ref Func="SpheresProduct"/> and <Ref Func="LocalActionPi"/>.
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> F:=SymmetricGroup(3);;
gap> sign:=SignHomomorphism(F);
MappingByFunction( Sym( [ 1 .. 3 ] ), Sym( [ 1 .. 2 ] ), function( g ) ... end )
gap> Image(sign,(2,3));
(1,2)
gap> Image(sign,(1,2,3));
()
]]></Example>
<ManSection>
<Func Arg="F" Name="AbelianizationHomomorphism" />
<Returns> the homomorphism from <A>F</A> to <Math>F/[F,F]</Math>.
</Returns>
<Description>
The argument of this method is a permutation group <A>F</A> <Math>\le S_{d}</Math>. This method can be used as an example for the argument <A>rho</A> in the methods <Ref Func="SpheresProduct"/> and <Ref Func="LocalActionPi"/>.
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> F:=PrimitiveGroup(5,3);
AGL(1, 5)
gap> ab:=AbelianizationHomomorphism(PrimitiveGroup(5,3));
[ (2,3,4,5), (1,2,3,5,4) ] -> [ f1, <identity> of ... ]
gap> Elements(Range(ab));
[ <identity> of ..., f1, f2, f1*f2 ]
gap> StructureDescription(Range(ab));
"C4"
]]></Example>
<ManSection>
<Func Arg="d,k,aut,rho,R" Name="SpheresProduct" />
<Returns> the product <Math>\prod_{r\in R}\prod_{x\in S(b,r)}</Math><A>rho</A><Math>(\sigma_{1}(</Math><A>aut</A><Math>,x))\in\mathrm{im}(</Math><A>rho</A><Math>)</Math>.
</Returns>
<Description>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a radius <A>k</A> <Math>\in\mathbb{N}</Math>, an automorphism <A>aut</A> of <Math>B_{d,k}</Math> all of whose <Math>1</Math>-local actions are in the domain of the homomorphism <A>rho</A> from a subgroup of <Math>S_d</Math> to an abelian group, and a sublist <A>R</A> of <C>[0..k-1]</C>. This method is used in the implementation of <Ref Func="LocalActionPi"/>.
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> rho:=SignHomomorphism(SymmetricGroup(3));;
gap> SpheresProduct(3,2,LocalActionElement(2,3,(1,2)),rho,[0]);
(1,2)
gap> SpheresProduct(3,2,LocalActionElement(2,3,(1,2)),rho,[0,1]);
()
]]></Example>
<P/>
<Example><![CDATA[
gap> F:=PrimitiveGroup(5,3);
AGL(1, 5)
gap> rho:=AbelianizationHomomorphism(F);;
gap> Elements(Range(rho));
[ <identity> of ..., f1, f2, f1*f2 ]
gap> StructureDescription(Range(rho));
"C4"
gap> mt:=RandomSource(IsMersenneTwister,1);;
gap> aut:=Random(mt,F);
(1,4,3,5)
gap> SpheresProduct(5,3,LocalActionElement(3,5,aut),rho,[2]);
<identity> of ...
gap> SpheresProduct(5,3,LocalActionElement(3,5,aut),rho,[1,2]);
f1
gap> SpheresProduct(5,3,LocalActionElement(3,5,aut),rho,[0,1,2]);
f2
]]></Example>
<ManSection>
<Func Arg="l,d,F,rho,R" Name="LocalActionPi" />
<Returns> the group <Math>\Pi^{l}(</Math><A>F</A><Math>,</Math><A>rho</A><Math>,</Math><A>R</A><Math>)=\{\alpha\in\Phi^{l}(F)\mid \prod_{r\in R}\prod_{x\in S(b,r)}</Math><A>rho</A><Math>(\sigma_{1}(\alpha,x))=1\}\le\mathrm{Aut}(B_{d,l})</Math>.
</Returns>
<Description>
The arguments of this method are a degree <A>l</A> <Math>\in\mathbb{N}_{\ge 2}</Math>, a radius <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a permutation group <A>F</A> <Math>\le S_d</Math>, a homomorphism <Math>\rho</Math> from <A>F</A> to an abelian group that is surjective on every point stabilizer in <A>F</A>, and a non-empty, non-zero subset <A>R</A> of <C>[0..l-1]</C> that contains <Math>l-1</Math>.
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> F:=LocalAction(5,1,PrimitiveGroup(5,3));
AGL(1, 5)
gap> rho1:=AbelianizationHomomorphism(F);;
gap> rho2:=SignHomomorphism(F);;
gap> LocalActionPi(3,5,F,rho1,[0,1,2]);
<permutation group with 4 generators>
gap> Index(LocalActionPhi(3,F),last);
4
gap> LocalActionPi(3,5,F,rho2,[0,1,2]);
<permutation group with 5 generators>
gap> Index(LocalActionPhi(3,F),last);
2
]]></Example>
</Section>
<Section Label="Chapter_Examples_Section_Semidirect_products">
<Heading>Semidirect products</Heading>
When a subgroup <Math>F\le\mathrm{Aut}(B_{d,k})</Math> satisfies (C) and admits an involutive compatibility cocycle <Math>z</Math> (which is automatic when <Math>k=1</Math>) one can characterise the kernels <Math>K\le\Phi_{k}(F)\cap\ker(\pi_{k})</Math> that fit into a <Math>z</Math>-split exact sequence <Math>1\to K\to\Sigma(F,K)\to F\to 1</Math> for some subgroup <Math>\Sigma(F,K)\le\mathrm{Aut}(B_{d,k+1})</Math> that satisfies (C). This characterisation is implemented in this section.
<P/>
<ManSection Label="CompatibleKernels">
<Heading>CompatibleKernels</Heading>
<Oper Arg="d,F" Name="CompatibleKernels" Label="for d, F"/>
<Oper Arg="F,z" Name="CompatibleKernels" Label="for F, z"/>
<Description>
<P/>
<List>
<Mark>for the arguments <A>d</A>, <A>F</A></Mark>
<Item>
Returns: the list of kernels <Math>K\le\prod_{\omega\in\Omega}F_{\omega}\cong\ker\pi\le\mathrm{Aut}(B_{d,2})</Math> that are preserved by the action <A>F</A> <Math>\curvearrowright\prod_{\omega\in\Omega}F_{\omega}</Math>, <Math>a\cdot(a_{\omega})_{\omega}:=(aa_{a^{-1}\omega}a^{-1})_{\omega}</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, and a permutation group <A>F</A> <Math>\le S_{d}</Math>. The kernels output by this method are compatible with <A>F</A> with respect to the standard cocycle (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/>) and can be used in the method <Ref Oper="LocalActionSigma"/>.
</Item>
<Mark>for the arguments <A>F</A>, <A>z</A></Mark>
<Item>
Returns: the list of kernels <Math>K\le\Phi_{k}(F)\cap\ker(\pi_{k})\le\mathrm{Aut}(B_{d,k+1})</Math> that are normalized by <Math>\Gamma_{z}(</Math><A>F</A><Math>)</Math> and such that for all <Math>k\in K</Math> and <Math>\omega\in\Omega</Math> there is <Math>k_{\omega}\in K</Math> with <Math>\mathrm{pr}_{\omega}k_{\omega}=z(\mathrm{pr}_{\omega}k,\omega)^{-1}</Math>.
<P/>
The arguments of this method are a local action <A>F</A> <Math>\le\mathrm{Aut}(B_{d,k})</Math> that satisfies (C) and an involutive compatibility cocycle <A>z</A> of <A>F</A> (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/>). It can be used in the method <Ref Oper="LocalActionSigma"/>.
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> CompatibleKernels(3,SymmetricGroup(3));
[ Group(()), Group([ (1,2)(3,4)(5,6) ]), Group([ (3,4)(5,6), (1,2)(5,6) ]),
Group([ (5,6), (3,4), (1,2) ]) ]
]]></Example>
<P/>
<Example><![CDATA[
gap> P:=SymmetricGroup(3);;
gap> rho:=SignHomomorphism(P);;
gap> F:=LocalActionPi(2,3,P,rho,[1]);;
gap> z:=InvolutiveCompatibilityCocycle(F);;
gap> CompatibleKernels(F,z);
[ Group(()), Group([ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12) ]),
Group([ (1,2)(3,4)(5,6)(7,8), (5,6)(7,8)(9,10)(11,12) ]),
Group([ (5,6)(7,8), (1,2)(3,4), (9,10)(11,12) ]) ]
]]></Example>
<ManSection Label="LocalActionSigma">
<Heading>LocalActionSigma</Heading>
<Oper Arg="d,F,K" Name="LocalActionSigma" Label="for d, F, K"/>
<Oper Arg="F,K,z" Name="LocalActionSigma" Label="for F, K, z"/>
<Description>
<P/>
<List>
<Mark>for the arguments <A>d</A>, <A>F</A>, <A>K</A></Mark>
<Item>
Returns: the semidirect product <Math>\Sigma(</Math><A>F</A><Math>,</Math><A>K</A><Math>)\le\mathrm{Aut}(B_{d,2})</Math>.
<P/>
The arguments of this method are a degree <A>d</A> <Math>\in\mathbb{N}_{\ge 3}</Math>, a subgroup <A>F</A> of <Math>S_{d}</Math> and a compatible kernel <A>K</A> for <A>F</A> (see <Ref Oper="CompatibleKernels"/>).
</Item>
<Mark>for the arguments <A>F</A>, <A>K</A>, <A>z</A></Mark>
<Item>
Returns: the semidirect product <Math>\Sigma_{z}(</Math><A>F</A><Math>,</Math><A>K</A><Math>)\le\mathrm{Aut}(B_{d,k+1})</Math>.
<P/>
The arguments of this method are a local action <A>F</A> of <Math>\mathrm{Aut}(B_{d,k})</Math> that satisfies (C) and a kernel <A>K</A> that is compatible for <A>F</A> with respect to the involutive compatibility cocycle <A>z</A> (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/> and <Ref Oper="CompatibleKernels"/>) of <A>F</A>.
</Item>
</List>
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> S3:=SymmetricGroup(3);;
gap> kernels:=CompatibleKernels(3,S3);
[ Group(()), Group([ (1,2)(3,4)(5,6) ]), Group([ (3,4)(5,6), (1,2)(5,6) ]),
Group([ (5,6), (3,4), (1,2) ]) ]
gap> for K in kernels do Print(Size(LocalActionSigma(3,S3,K)),"\n"); od;
6
12
24
48
]]></Example>
<P/>
<Example><![CDATA[
gap> P:=SymmetricGroup(3);;
gap> rho:=SignHomomorphism(P);;
gap> F:=LocalActionPi(2,3,P,rho,[1]);;
gap> z:=InvolutiveCompatibilityCocycle(F);;
gap> kernels:=CompatibleKernels(F,z);
[ Group(()), Group([ (1,2)(3,4)(5,6)(7,8)(9,10)(11,12) ]),
Group([ (1,2)(3,4)(5,6)(7,8), (5,6)(7,8)(9,10)(11,12) ]),
Group([ (5,6)(7,8), (1,2)(3,4), (9,10)(11,12) ]) ]
gap> for K in kernels do Print(Size(LocalActionSigma(F,K,z)),"\n"); od;
24
48
96
192
]]></Example>
</Section>
<Section Label="Section_pgl">
<Heading>PGL8322; over the p-adic numbers</Heading>
Here, we implement functions to provide the <Math>k</Math>-local actions of the groups <Math>\mathrm{PGL}(2,\mathbb{Q}_{p})</Math> and <Math>\mathrm{PSL}(2,\mathbb{Q}_{p})</Math> acting on <Math>T_{p+1}</Math>. This section is due to Tasman Fell.
<ManSection>
<Func Arg="p,k" Name="LocalActionPGL2Qp" />
<Returns> the subgroup of <Math>\mathrm{Aut}(B_{p+1,k})</Math> induced by the action of <Math>\mathrm{PGL}(2,\mathbb{Z}_{p})</Math> on the ball of radius <A>k</A> around the vertex corresponding to the identity lattice of the Bruhat-Tits tree of <Math>\mathrm{PGL}(2,\mathbb{Q}_{p})</Math>.
</Returns>
<Description>
The arguments of this method are a prime <A>p</A> and a radius <A>k</A> <Math>\in\mathbb{N}_{\ge 1}</Math>.
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> LocalActionPGL2Qp(3,1)=SymmetricGroup(4);
true
gap> F:=LocalActionPGL2Qp(5,3);; Size(F);
1875000
gap> SatisfiesC(F);
true
]]></Example>
<ManSection>
<Func Arg="p,k" Name="LocalActionPSL2Qp" />
<Returns> the subgroup of <Math>\mathrm{Aut}(B_{p+1,k})</Math> induced by the action of <Math>\mathrm{PSL}(2,\mathbb{Z}_{p})</Math> on the ball of radius <A>k</A> around the vertex corresponding to the identity lattice of the Bruhat-Tits tree of <Math>\mathrm{PGL}(2,\mathbb{Q}_{p})</Math>.
</Returns>
<Description>
The arguments of this method are a prime <A>p</A> and a radius <A>k</A> <Math>\in\mathbb{N}_{\ge 1}</Math>.
<P/>
</Description>
</ManSection>
<P/>
<Example><![CDATA[
gap> LocalActionPSL2Qp(3,1)=AlternatingGroup(4);
true
gap> F:=LocalActionPSL2Qp(5,3);; Size(F);
937500
gap> SatisfiesC(F);
true
]]></Example>
</Section>
</Chapter>
¤ Dauer der Verarbeitung: 0.17 Sekunden
¤
*© Formatika GbR, Deutschland
|
|