We recall the following notation from the Introduction which is essential throughout this manual, cf. [Tor20]. Let \Omega be a set of cardinality d\in\mathbb{N}_{\ge 3} and let T_{d}=(V,E) denote the d-regular tree, following the graph theory notation in [Ser80]. A labelling l of T_{d} is a map l:E\to\Omega such that for every x\in V the restriction l_{x}:E(x)\to\Omega,\ e\mapsto l(e) is a bijection, and l(e)=l(\overline{e}) for all e\in E. For every k\in\mathbb{N}, fix a tree B_{d,k} which is isomorphic to a ball of radius k around a vertex in T_{d} and carry over the labelling of T_{d} to B_{d,k} via the chosen isomorphism. We denote the center of B_{d,k} by b.
For every x\in V there is a unique, label-respecting isomorphism l_{x}^{k}:B(x,k)\to B_{d,k}. We define the k-local action \sigma_{k}(g,x)\in\mathrm{Aut}(B_{d,k}) of an automorphism g\!\in\!\mathrm{Aut}(T_{d}) at a vertex x\in V via the map
\sigma_{k}:\mathrm{Aut}(T_{d})\times V\to\mathrm{Aut}(B_{d,k}), \sigma_{k}(g,x)\mapsto \sigma_{k}(g,x):=l_{gx}^{k}\circ g\circ (l_{x}^{k})^{-1}.
In this package, local actions F\le\mathrm{Aut}(B_{d,k}) are handled as objects of the category IsLocalAction
(2.1-1) and have several attributes and properties introduced throughout this manual. Most importantly, a local action always stores the degree d and the radius k of the ball B_{d,k} that it acts on.
‣ IsLocalAction ( F ) | ( filter ) |
Returns: true
if F is an object of the category IsLocalAction
, and false
otherwise.
Local actions F\le\mathrm{Aut}(B_{d,k}) are stored together with their degree (see LocalActionDegree
(2.1-4)), radius (see LocalActionRadius
(2.1-5)) as well as other attributes and properties in this category. They can be initialised using the creator operation LocalAction
(2.1-2).
gap> G:=WreathProduct(SymmetricGroup(2),SymmetricGroup(3)); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> IsLocalAction(G); false gap> H:=AutBall(3,2); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> IsLocalAction(H); true gap> K:=LocalAction(3,2,G); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> IsLocalAction(K); true
‣ LocalAction ( d, k, F ) | ( operation ) |
Returns: the regular rooted tree group G as an object of the category IsLocalAction
(2.1-1), checking that F is indeed a subgroup of \mathrm{Aut}(B_{d,k}).
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3}, a radius k \in\mathbb{N}_{0} and a group F \le\mathrm{Aut}(B_{d,k}).
gap> G:=WreathProduct(SymmetricGroup(2),SymmetricGroup(3)); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> IsLocalAction(G); false gap> G:=LocalAction(3,2,G); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> IsLocalAction(G); true
‣ LocalActionNC ( d, k, F ) | ( operation ) |
Returns: the regular rooted tree group G as an object of the category IsLocalAction
(2.1-1), without checking that F is indeed a subgroup of \mathrm{Aut}(B_{d,k}).
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3}, a radius k \in\mathbb{N}_{0} and a group F \le\mathrm{Aut}(B_{d,k}).
‣ LocalActionDegree ( F ) | ( attribute ) |
Returns: the degree d of the ball B_{d,k} that F is acting on.
The argument of this attribute is a local action F \le\mathrm{Aut}(B_{d,k}) (see IsLocalAction
(2.1-1)).
gap> A4:=LocalAction(4,1,AlternatingGroup(4)); Alt( [ 1 .. 4 ] ) gap> F:=LocalActionPhi(3,A4); <permutation group with 18 generators> gap> LocalActionDegree(F); 4
‣ LocalActionRadius ( F ) | ( attribute ) |
Returns: the radius k of the ball B_{d,k} that F is acting on.
The argument of this attribute is a local action F \le\mathrm{Aut}(B_{d,k}) (see IsLocalAction
(2.1-1)).
gap> A4:=LocalAction(4,1,AlternatingGroup(4)); Alt( [ 1 .. 4 ] ) gap> F:=LocalActionPhi(3,A4); <permutation group with 18 generators> gap> LocalActionRadius(F); 3
‣ LocalAction ( r, d, k, aut, addr ) | ( operation ) |
Returns: the r-local action \sigma_{r}(aut,addr) of the automorphism aut of B_{d,k} at the vertex represented by the address addr.
The arguments of this method are a radius r, a degree d \in\mathbb{N}_{\ge 3}, a radius k \in\mathbb{N}, an automorphism aut of B_{d,k}, and an address addr.
gap> a:=(1,3,5)(2,4,6);; a in AutBall(3,2); true gap> LocalAction(2,3,2,a,[]); (1,3,5)(2,4,6) gap> LocalAction(1,3,2,a,[]); (1,2,3) gap> LocalAction(1,3,2,a,[1]); (1,2)
gap> mt:=RandomSource(IsMersenneTwister,1);; gap> b:=Random(mt,AutBall(3,4)); (1,18,11,5,23,14,4,20,10,7,22,16)(2,17,12,6,24,13,3,19,9,8,21,15) gap> LocalAction(2,3,4,b,[3,1]); (1,2)(3,6,4,5) gap> LocalAction(3,3,4,b,[3,1]); Error, the sum of input argument r=3 and the length of input argument addr=[ 3, 1 ] must not exceed input argument k=4
‣ Projection ( F, r ) | ( operation ) |
Returns: the restriction of the projection map \mathrm{Aut}(B_{d,k})\to\mathrm{Aut}(B_{d,r}) to F.
The arguments of this method are a local action F \le\mathrm{Aut}(B_{d,k}), and a projection radius r \le k.
gap> F:=LocalActionGamma(4,3,SymmetricGroup(3)); Group([ (1,16,19)(2,15,20)(3,13,18)(4,14,17)(5,10,23)(6,9,24)(7,12,22) (8,11,21), (1,9)(2,10)(3,12)(4,11)(5,15)(6,16)(7,13)(8,14)(17,21)(18,22) (19,24)(20,23) ]) gap> pr:=Projection(F,2); <action homomorphism> gap> mt:=RandomSource(IsMersenneTwister,1);; gap> a:=Random(mt,F);; Image(pr,a); (1,2)(3,5)(4,6)
‣ ImageOfProjection ( F, r ) | ( function ) |
Returns: the local action \sigma_{r}(F,b)\le\mathrm{Aut}(B_{d,r}).
The arguments of this method are a local action F \le\mathrm{Aut}(B_{d,k}), and a projection radius r \le k. This method uses LocalAction
(2.1-6) on generators rather than Projection
(2.1-7) on the group to compute the image.
gap> AutBall(3,2); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> ImageOfProjection(AutBall(3,2),1); Group([ (), (), (), (1,2,3), (1,2) ])
The automorphism groups of the finite labelled balls B_{d,k} lie at the center of this package. The method AutBall
(2.2-1) produces these automorphism groups as iterated wreath products. The result is a permutation group on the set of leaves of B_{d,k}.
‣ AutBall ( d, k ) | ( function ) |
Returns: the local action \mathrm{Aut}(B_{d,k}) as a permutation group of the d\cdot (d-1)^{k-1} leaves of B_{d,k}.
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3} and a radius k \in\mathbb{N}_{0}.
gap> G:=AutBall(3,2); Group([ (1,2), (3,4), (5,6), (1,3,5)(2,4,6), (1,3)(2,4) ]) gap> Size(G); 48
The vertices at distance n from the center b of B_{d,k} are addressed as elements of the set
\Omega^{(n)}:=\{(\omega_{1},\ldots,\omega_{n})\in\Omega^{n}\mid \forall l\in\{1,\ldots,n-1\}:\ \omega_{l}\neq\omega_{l+1}\},
i.e. as lists of length n of elements from [1..d]
such that no two consecutive entries are equal. They are ordered according to the lexicographic order on \Omega^{(n)}. The center b itself is addressed by the empty list []
. Note that the leaves of B_{d,k} correspond to elements of \Omega^{(k)}.
‣ BallAddresses ( d, k ) | ( function ) |
Returns: a list of all addresses of vertices in B_{d,k} in ascending order with respect to length, lexicographically ordered within each level. See AddressOfLeaf
(2.3-3) and LeafOfAddress
(2.3-4) for the correspondence between the leaves of B_{d,k} and addresses of length k.
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3} and a radius k \in\mathbb{N}_{0}.
gap> BallAddresses(3,1); [ [ ], [ 1 ], [ 2 ], [ 3 ] ] gap> BallAddresses(3,2); [ [ ], [ 1 ], [ 2 ], [ 3 ], [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 3 ], [ 3, 1 ], [ 3, 2 ] ]
‣ LeafAddresses ( d, k ) | ( function ) |
Returns: a list of addresses of the leaves of B_{d,k} in lexicographic order.
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3} and a radius k \in\mathbb{N}_{0}.
gap> LeafAddresses(3,2); [ [ 1, 2 ], [ 1, 3 ], [ 2, 1 ], [ 2, 3 ], [ 3, 1 ], [ 3, 2 ] ]
‣ AddressOfLeaf ( d, k, lf ) | ( function ) |
Returns: the address of the leaf lf of B_{d,k} with respect to the lexicographic order.
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3}, a radius k \in\mathbb{N}, and a leaf lf of B_{d,k}.
gap> AddressOfLeaf(3,2,1); [ 1, 2 ] gap> AddressOfLeaf(3,3,1); [ 1, 2, 1 ]
‣ LeafOfAddress ( d, k, addr ) | ( function ) |
Returns: the smallest leaf (integer) whose address has addr as a prefix.
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3}, a radius k \in\mathbb{N}, and an address addr.
gap> LeafOfAddress(3,2,[1,2]); 1 gap> LeafOfAddress(3,2,[3]); 5 gap> LeafOfAddress(3,2,[]); 1
‣ ImageAddress ( d, k, aut, addr ) | ( function ) |
Returns: the address of the image of the vertex represented by the address addr under the automorphism aut of B_{d,k}.
The arguments of this method are a degree d \in\mathbb{N}_{\ge 3}, a radius k \in\mathbb{N}, an automorphism aut of B_{d,k}, and an address addr.
gap> ImageAddress(3,2,(1,2),[1,2]); [ 1, 3 ] gap> ImageAddress(3,2,(1,2),[1]); [ 1 ]
‣ ComposeAddresses ( addr1, addr2 ) | ( function ) |
Returns: the concatenation of the addresses addr1 and addr2 with reduction as per [Tor20, Section 3.2].
The arguments of this method are two addresses addr1 and addr2.
gap> ComposeAddresses([1,3],[2,1]); [ 1, 3, 2, 1 ] gap> ComposeAddresses([1,3,2],[2,1]); [ 1, 3, 1 ]
generated by GAPDoc2HTML