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


Quelle  Examples.gd   Sprache: unbekannt

 
#
# UGALY: Universal Groups Acting LocallY
#
#! @Chapter Introduction
#! @Chapter Preliminaries
#! @Chapter Compatibility
#! @Chapter Examples
#! @ChapterLabel ukf_examples
#!
#! Several classes of examples of subgroups of $\mathrm{Aut}(B_{d,k})$ that satisfy (C) and or (D) are constructed in <Cite Key="Tor20"/> and implemented in this section. For a given permutation group $F\le S_{d}$, there are always the three local actions $\Gamma(F)$, $\Delta(F)$ and $\Phi(F)$ on $\mathrm{Aut}(B_{d,2})$ that project onto $F$. For some $F$, these are all distinct and yield all universal groups that have $F$ as their $1$-local action, see <Cite Key="Tor20" Where="Theorem 3.32"/>. More examples arise in particular when either point stabilizers in $F$ are not simple, $F$ preserves a partition, or $F$ is not perfect.

#! This section also includes functions to provide the $k$-local actions of the groups $\mathrm{PGL}(2,\mathbb{Q}_{p})$ and $\mathrm{PSL}(2,\mathbb{Q}_{p})$ acting on $T_{p+1}$.

##################################################################################################################
#! @Section Discrete groups
##################################################################################################################

#! Here, we implement the local actions $\Gamma(F),\Delta(F)\le\mathrm{Aut}(B_{d,2})$, both of which satisfy both (C) and (D), see <Cite Key="Tor20" Where="Section 3.4.1"/>.
#!
#! @BeginGroup LocalActionElement
#! @GroupTitle LocalActionElement
#! <Index>gamma, see LocalActionElement</Index>
#!
#! <List>
#! <Mark>for the arguments <A>d</A>, <A>a</A></Mark>
#! <Item> 
#!  Returns: the automorphism $\gamma($<A>a</A>$)=($<A>a</A>$,($<A>a</A>$)_{\omega\in\Omega})\in\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$ and a permutation <A>a</A> $\in S_d$.
#! </Item>
#! <Mark>for the arguments <A>l</A>, <A>d</A>, <A>a</A></Mark>
#! <Item>
#!  Returns: the automorphism $\gamma^{l}($<A>a</A>$)\in\mathrm{Aut}(B_{d,l})$ all of whose $1$-local actions are given by <A>a</A>.
#!
#!  The arguments of this method are a radius <A>l</A> $\in\mathbb{N}$, a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$ and a permutation <A>a</A> $\in S_d$.
#! </Item>
#! <Mark>for the arguments <A>l</A>, <A>d</A>, <A>s</A>, <A>addr</A></Mark>
#! <Item>
#!  Returns: the automorphism of $B_{d,l}$ whose $1$-local actions are given by <A>s</A> at vertices whose address has <A>addr</A> as a prefix and are trivial elsewhere.
#!
#!  The arguments of this method are a radius <A>l</A> $\in\mathbb{N}$, a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, a permutation <A>s</A> $\in S_d$ and an address <A>addr</A> of a vertex in $B_{d,l}$ 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 $\gamma_{z}($<A>aut</A>$)=($<A>aut</A>$,($<A>z</A>$($<A>aut</A>$,\omega))_{\omega\in\Omega})\in\mathrm{Aut}(B_{d,k+1})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, a radius <A>k</A> $\in\mathbb{N}$, an automorphism <A>aut</A> of $B_{d,k}$, and an involutive compatibility cocycle <A>z</A> of a subgroup of $\mathrm{Aut}(B_{d,k})$ that contains <A>aut</A> (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/>).
#! </Item>
#! </List>
#!
#! @Arguments d,a
#! @Label for d, a
DeclareOperation( "LocalActionElement" , [IsInt, IsPerm] );
#!
#! @Arguments l,d,a
#! @Label for l, d, a
DeclareOperation( "LocalActionElement" , [IsInt, IsInt, IsPerm] );
#!
#! @Arguments l,d,s,addr
#! @Label for l, d, s, addr
DeclareOperation( "LocalActionElement" , [IsInt, IsInt, IsPerm, IsList] );
#!
#! @Arguments d,k,aut,z
#! @Label for d, k, aut, z
DeclareOperation( "LocalActionElement" , [IsInt, IsInt, IsPerm, IsMapping] );
#!
#! @BeginExampleSession
#! gap> LocalActionElement(3,(1,2));
#! (1,3)(2,4)(5,6)
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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)
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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)
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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)
#! @EndExampleSession
#!
#! @EndGroup

##################################################################################################################

#! @BeginGroup LocalActionGamma
#! @GroupTitle LocalActionGamma

#! <List>
#! <Mark>for the arguments <A>d</A>, <A>F</A></Mark>
#! <Item> 
#!  Returns: the local action $\Gamma($<A>F</A>$)=\{(a,(a)_{\omega})\mid a\in F\}\le\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, and a subgroup <A>F</A> of $S_{d}$.
#! </Item>
#! <Mark>for the arguments <A>l</A>, <A>d</A>, <A>F</A></Mark>
#! <Item>
#!  Returns: the group $\Gamma^{l}($<A>F</A>$)\le\mathrm{Aut}(B_{d,l})$.
#!
#!  The arguments of this method are a radius <A>l</A> $\in\mathbb{N}$, a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, and a subgroup <A>F</A> of $S_d$.
#! </Item>
#! <Mark>for the arguments <A>F</A>, <A>z</A></Mark>
#! <Item>
#!  Returns: the group $\Gamma_{z}($<A>F</A>$)=\{(a,($<A>z</A>$(a,\omega))_{\omega\in\Omega})\mid a\in$<A>F</A>$\}\le\mathrm{Aut}(B_{d,k+1})$.
#!
#!  The arguments of this method are a local action <A>F</A> $\le\mathrm{Aut}(B_{d,k})$ and an involutive compatibility cocycle <A>z</A> of <A>F</A> (see <Ref Attr="InvolutiveCompatibilityCocycle" Label="for IsLocalAction"/>).
#! </Item>
#! </List>
#!
#! @Arguments d,F
#! @Label for d, F
DeclareOperation( "LocalActionGamma" , [IsInt, IsPermGroup] );
#!
#! @Arguments l,d,F
#! @Label for l, d, F
DeclareOperation( "LocalActionGamma" , [IsInt, IsInt, IsPermGroup] );
#!
#! @Arguments F,z
#! @Label for F, z
DeclareOperation( "LocalActionGamma" , [IsLocalAction, IsMapping] );
#!
#! @BeginExampleSession
#! 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) ])
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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) ])
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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 ]
#! @EndExampleSession
#! @EndGroup

##################################################################################################################

#! @BeginGroup LocalActionDelta
#! @GroupTitle LocalActionDelta
#! 
#! <List>
#! <Mark>for the arguments <A>d</A>, <A>F</A></Mark>
#! <Item> 
#!  Returns: the group $\Delta($<A>F</A>$)\le\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, and a <E>transitive</E> subgroup <A>F</A> of $S_{d}$.
#! </Item>
#! <Mark>for the arguments <A>d</A>, <A>F</A>, <A>C</A></Mark>
#! <Item>
#!  Returns: the group $\Delta($<A>F</A>$,$<A>C</A>$)\le\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, a <E>transitive</E> subgroup <A>F</A> of $S_d$, and a central subgroup <A>C</A> of the stabilizer <A>F</A>$_{1}$ of $1$ in <A>F</A>.
#! </Item>
#! </List>
#!
#! @Arguments d,F
#! @Label for d, F
DeclareOperation( "LocalActionDelta" , [IsInt, IsPermGroup] );
#!
#! @Arguments d,F,C
#! @Label for d, F, C
DeclareOperation( "LocalActionDelta" , [IsInt, IsPermGroup, IsPermGroup] );
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#! 
#! @EndGroup

##################################################################################################################
#! @Section Maximal extensions
##################################################################################################################

#! For any $F\le\mathrm{Aut}(B_{d,k})$ that satisfies (C), the group $\Phi(F)\le\mathrm{Aut}(B_{d,k+1})$ is the maximal extension of $F$ that satisfies (C) as well. It stems from the action of $\mathrm{U}_{k}(F)$ on balls of radius $k+1$ in $T_{d}$.
#!
#! @BeginGroup LocalActionPhi1
#! @GroupTitle LocalActionPhi

#! <List>
#! <Mark>for the argument <A>F</A></Mark>
#! <Item>
#!  Returns: the group $\Phi_{k}($<A>F</A>$)=\{(a,(a_{\omega})_{\omega})\mid a\in $<A>F</A>$,\ \forall \omega\in\Omega:\ a_{\omega}\in C_{F}(a,\omega)\}\le\mathrm{Aut}(B_{d,k+1})$.
#!
#!  The argument of this method is a local action <A>F</A> $\le\mathrm{Aut}(B_{d,k})$.
#! </Item>
#! <Mark>for the arguments <A>l</A>, <A>F</A></Mark>
#! <Item> 
#!  Returns: the group $\Phi^{l}($<A>F</A>$)=\Phi_{l-1}\circ\cdots\circ\Phi_{k+1}\circ\Phi_{k}($<A>F</A>$)\le\mathrm{Aut}(B_{d,l})$.
#!
#!  The arguments of this method are a radius <A>l</A> $\in\mathbb{N}$ and a local action <A>F</A> $\le\mathrm{Aut}(B_{d,k})$.
#! </Item>
#! </List>
#!
#! @Arguments F
#! @Label for F
DeclareOperation( "LocalActionPhi" , [IsLocalAction] );
#!
#! @Arguments l,F
#! @Label for l, F
DeclareOperation( "LocalActionPhi" , [IsInt, IsLocalAction] );
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @BeginExampleSession
#! gap> LocalActionPhi(3,LocalAction(4,1,SymmetricGroup(4)));
#! <permutation group with 34 generators>
#! gap> last=AutBall(4,3);
#! true
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @EndGroup LocalActionPhi1

##################################################################################################################
#! @Section Normal subgroups and partitions
##################################################################################################################

#! When point stabilizers in $F\le S_{d}$ are not simple, or $F$ preserves a partition, more universal groups can be constructed as follows.
#!
#! @BeginGroup LocalActionPhi2
#! @GroupTitle LocalActionPhi
#!
#! <List>
#! <Mark>for the arguments <A>d</A>, <A>F</A>, <A>N</A></Mark>
#! <Item>
#!  Returns: the group $\Phi($<A>F</A>$,$<A>N</A>$)\le\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, a <E>transitive</E> permutation group <A>F</A> $\le S_{d}$ and a normal subgroup <A>N</A> of the stabilizer <A>F</A>$_{1}$ of $1$ in <A>F</A>. 
#! </Item>
#! <Mark>for the arguments <A>d</A>, <A>F</A>, <A>P</A></Mark>
#! <Item> 
#!  Returns: the group $\Phi($<A>F</A>$,$<A>P</A>$)=\{(a,(a_{\omega})_{\omega})\mid a\in $<A>F</A>$,\ a_{\omega}\in C_{F}(a,\omega)$ constant w.r.t. <A>P</A>$\}\le\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$ and a permutation group <A>F</A> $\le S_{d}$ 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 $\Phi_{k}($<A>F</A>$,$<A>P</A>$)=\{(\alpha,(\alpha_{\omega})_{\omega})\mid \alpha\in <A>F</A>,\ \alpha_{\omega}\in C_{F}(\alpha,\omega)$ constant w.r.t. <A>P</A>$\}\le\mathrm{Aut}(B_{d,k+1})$.
#!
#!  The arguments of this method are a local action <A>F</A> $\le\mathrm{Aut}(B_{d,k})$ and a partition <A>P</A> of <C>[1..d]</C> preserverd by $\pi$<A>F</A> $\le S_{d}$. 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>
#!
#! @Arguments d,F,N
#! @Label for d, F, N
DeclareOperation( "LocalActionPhi" , [IsInt, IsPermGroup, IsPermGroup] );
#!
#! @Arguments d,F,P
#! @Label for d, F, P
DeclareOperation( "LocalActionPhi" , [IsInt, IsPermGroup, IsList] );
#!
#! @Arguments F,P
#! @Label for F, P
DeclareOperation( "LocalActionPhi" , [IsLocalAction, IsList] );
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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)
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @EndGroup LocalActionPhi2

##################################################################################################################
#! @Section Abelian quotients
##################################################################################################################

#! When a permutation group $F\le S_{d}$ is not perfect, i.e. it admits an abelian quotient $\rho:F\twoheadrightarrow A$, more universal groups can be constructed by imposing restrictions of the form $\prod_{r\in R}\prod_{x\in S(b,r)}\rho(\sigma_{1}(\alpha,x))=1$ on elements $\alpha\in\Phi^{k}(F)\le\mathrm{Aut}(B_{d,k})$.
#!
#! @Description
#! The argument of this method is a permutation group <A>F</A> $\le S_{d}$. This method can be used as an example for the argument <A>rho</A> in the methods <Ref Func="SpheresProduct"/> and <Ref Func="LocalActionPi"/>.
#!
#! @Returns
#! the sign homomorphism from <A>F</A> to $S_{2}$.
#!
#! @Arguments F
#!
DeclareGlobalFunction( "SignHomomorphism" );
#!
#! @BeginExampleSession
#! 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));
#! ()
#! @EndExampleSession

##################################################################################################################

#! @Description
#! The argument of this method is a permutation group <A>F</A> $\le S_{d}$. This method can be used as an example for the argument <A>rho</A> in the methods <Ref Func="SpheresProduct"/> and <Ref Func="LocalActionPi"/>.
#!
#! @Returns
#! the homomorphism from <A>F</A> to $F/[F,F]$.
#!
#! @Arguments F
#!
DeclareGlobalFunction( "AbelianizationHomomorphism" );
#!
#! @BeginExampleSession
#! 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"
#! @EndExampleSession

##################################################################################################################

#! @Description
#! The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, a radius <A>k</A> $\in\mathbb{N}$, an automorphism <A>aut</A> of $B_{d,k}$ all of whose $1$-local actions are in the domain of the homomorphism <A>rho</A> from a subgroup of $S_d$ 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"/>.
#!
#! @Returns
#! the product $\prod_{r\in R}\prod_{x\in S(b,r)}$<A>rho</A>$(\sigma_{1}($<A>aut</A>$,x))\in\mathrm{im}($<A>rho</A>$)$.
#!
#! @Arguments d,k,aut,rho,R
#!
DeclareGlobalFunction( "SpheresProduct" );
#!
#! @BeginExampleSession
#! 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]);
#! ()
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession

##################################################################################################################

#! @Description
#! The arguments of this method are a degree <A>l</A> $\in\mathbb{N}_{\ge 2}$, a radius <A>d</A> $\in\mathbb{N}_{\ge 3}$, a permutation group <A>F</A> $\le S_d$, a homomorphism $\rho$ 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 $l-1$.
#!
#! @Returns
#! the group $\Pi^{l}($<A>F</A>$,$<A>rho</A>$,$<A>R</A>$)=\{\alpha\in\Phi^{l}(F)\mid \prod_{r\in R}\prod_{x\in S(b,r)}$<A>rho</A>$(\sigma_{1}(\alpha,x))=1\}\le\mathrm{Aut}(B_{d,l})$.
#!
#! @Arguments l,d,F,rho,R
#!
DeclareGlobalFunction( "LocalActionPi" );
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession

##################################################################################################################
#! @Section Semidirect products
##################################################################################################################

#! When a subgroup $F\le\mathrm{Aut}(B_{d,k})$ satisfies (C) and admits an involutive compatibility cocycle $z$ (which is automatic when $k=1$) one can characterise the kernels $K\le\Phi_{k}(F)\cap\ker(\pi_{k})$ that fit into a $z$-split exact sequence $1\to K\to\Sigma(F,K)\to F\to 1$ for some subgroup $\Sigma(F,K)\le\mathrm{Aut}(B_{d,k+1})$ that satisfies (C). This characterisation is implemented in this section.
#!
#! @BeginGroup CompatibleKernels
#! @GroupTitle CompatibleKernels
#!
#! <List>
#! <Mark>for the arguments <A>d</A>, <A>F</A></Mark>
#! <Item> 
#!  Returns: the list of kernels $K\le\prod_{\omega\in\Omega}F_{\omega}\cong\ker\pi\le\mathrm{Aut}(B_{d,2})$ that are preserved by the action <A>F</A> $\curvearrowright\prod_{\omega\in\Omega}F_{\omega}$, $a\cdot(a_{\omega})_{\omega}:=(aa_{a^{-1}\omega}a^{-1})_{\omega}$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, and a permutation group <A>F</A> $\le S_{d}$. 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 $K\le\Phi_{k}(F)\cap\ker(\pi_{k})\le\mathrm{Aut}(B_{d,k+1})$ that are normalized by $\Gamma_{z}($<A>F</A>$)$ and such that for all $k\in K$ and $\omega\in\Omega$ there is $k_{\omega}\in K$ with $\mathrm{pr}_{\omega}k_{\omega}=z(\mathrm{pr}_{\omega}k,\omega)^{-1}$.
#!
#!  The arguments of this method are a local action <A>F</A> $\le\mathrm{Aut}(B_{d,k})$ 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>
#!
#! @Arguments d,F
#! @Label for d, F
DeclareOperation( "CompatibleKernels" , [IsInt, IsPermGroup] );
#!
#! @Arguments F,z
#! @Label for F, z
DeclareOperation( "CompatibleKernels" , [IsLocalAction, IsMapping] );
#!
#! @BeginExampleSession
#! 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) ]) ]
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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) ]) ]
#! @EndExampleSession

#! @EndGroup CompatibleKernels

##################################################################################################################

#! @BeginGroup LocalActionSigma
#! @GroupTitle LocalActionSigma
#!
#! <List>
#! <Mark>for the arguments <A>d</A>, <A>F</A>, <A>K</A></Mark>
#! <Item> 
#!  Returns: the semidirect product $\Sigma($<A>F</A>$,$<A>K</A>$)\le\mathrm{Aut}(B_{d,2})$.
#!
#!  The arguments of this method are a degree <A>d</A> $\in\mathbb{N}_{\ge 3}$, a subgroup <A>F</A> of $S_{d}$ 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 $\Sigma_{z}($<A>F</A>$,$<A>K</A>$)\le\mathrm{Aut}(B_{d,k+1})$.
#!
#!  The arguments of this method are a local action <A>F</A> of $\mathrm{Aut}(B_{d,k})$ 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>
#!
#! @Arguments d,F,K
#! @Label for d, F, K
DeclareOperation( "LocalActionSigma" , [IsInt, IsPermGroup, IsPermGroup] );
#!
#! @Arguments F,K,z
#! @Label for F, K, z
DeclareOperation( "LocalActionSigma" , [IsLocalAction, IsPermGroup, IsMapping] );
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession
#!
#! @BeginExampleSession
#! 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
#! @EndExampleSession

#! @EndGroup LocalActionSigma

##################################################################################################################

##################################################################################################################
#! @Section PGL₂ over the p-adic numbers
#! @SectionLabel pgl
##################################################################################################################

#! Here, we implement functions to provide the $k$-local actions of the groups $\mathrm{PGL}(2,\mathbb{Q}_{p})$ and $\mathrm{PSL}(2,\mathbb{Q}_{p})$ acting on $T_{p+1}$. This section is due to Tasman Fell.

# internal function
# outputs the representative in P1(Zp/p^kZp) of the lattice in Qp^2 represented by the integer matrix L
DeclareGlobalFunction( "GetP1RepresentativeFromLattice" );

##################################################################################################################

# internal function
# outputs the action of an integer matrix M, representing an element of PGL2Zp, on the k-sphere as a permutation
DeclareGlobalFunction( "GetPGL2QpPermutationFromMatrix" );

##################################################################################################################

#! @Description
#! The arguments of this method are a prime <A>p</A> and a radius <A>k</A> $\in\mathbb{N}_{\ge 1}$.
#!
#! @Returns
#! the subgroup of $\mathrm{Aut}(B_{p+1,k})$ induced by the action of $\mathrm{PGL}(2,\mathbb{Z}_{p})$ on the ball of radius <A>k</A> around the vertex corresponding to the identity lattice of the Bruhat-Tits tree of $\mathrm{PGL}(2,\mathbb{Q}_{p})$.
#!
#! @Arguments p,k
#!
DeclareGlobalFunction( "LocalActionPGL2Qp" );
#!
#! @BeginExampleSession
#! gap> LocalActionPGL2Qp(3,1)=SymmetricGroup(4);
#! true
#! gap> F:=LocalActionPGL2Qp(5,3);; Size(F);
#! 1875000
#! gap> SatisfiesC(F);
#! true
#! @EndExampleSession

##################################################################################################################

#! @Description
#! The arguments of this method are a prime <A>p</A> and a radius <A>k</A> $\in\mathbb{N}_{\ge 1}$.
#!
#! @Returns
#! the subgroup of $\mathrm{Aut}(B_{p+1,k})$ induced by the action of $\mathrm{PSL}(2,\mathbb{Z}_{p})$ on the ball of radius <A>k</A> around the vertex corresponding to the identity lattice of the Bruhat-Tits tree of $\mathrm{PGL}(2,\mathbb{Q}_{p})$.
#!
#! @Arguments p,k
#!
DeclareGlobalFunction( "LocalActionPSL2Qp" );
#!
#! @BeginExampleSession
#! gap> LocalActionPSL2Qp(3,1)=AlternatingGroup(4);
#! true
#! gap> F:=LocalActionPSL2Qp(5,3);; Size(F);
#! 937500
#! gap> SatisfiesC(F);
#! true
#! @EndExampleSession

##################################################################################################################

#! @Chapter Discreteness



[ Dauer der Verarbeitung: 0.19 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