Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

10 Affine actions
 10.1 Creating an affine action
 10.2 Operations for affine actions
 10.3 Operations on orbits of affine actions

10 Affine actions

Let \(G\) and \(H\) be groups, let \(H\) act on \(G\) (via automorphisms) by

\[\alpha \colon H \to \operatorname{Aut}(G) \colon h \mapsto \alpha_h\]

and let \(\delta \colon H \to G\) be a group derivation with respect to this action. Then we can construct a new action, called the affine action associated to \(\delta\), by

\[G \times H \to G \colon g^h = \alpha_h(g) \delta(h).\]

If \(K\) is a subgroup of \(H\), then the restriction of the affine action of \(H\) on \(G\) to \(K\) coincides with the affine action of \(K\) on \(G\) associated to the restriction of \(\delta\) to \(K\).

Algorithms designed for computing with twisted conjugacy classes can be leveraged to do computations involving affine actions, see [Ter25, Sec. 10] for a description on this.

Please note that the functions in this chapter require \(G\) and \(H\) to either both be finite, or both be PcpGroups.

10.1 Creating an affine action

10.1-1 AffineActionByGroupDerivation
‣ AffineActionByGroupDerivation( K, der )( function )

Returns: the affine action of K associated to the derivation der.

The group K must be a subgroup of Source(der).

gap> aff := AffineActionByGroupDerivation( H, der );
function( g, k ) ... end

10.2 Operations for affine actions

These functions are analogues of existing GAP functions for group actions.

10.2-1 OrbitAffineAction
‣ OrbitAffineAction( K, g, der )( function )

Returns: the orbit of g under the affine action of K associated to der.

The group K must be a subgroup of Source(der).

10.2-2 OrbitsAffineAction
‣ OrbitsAffineAction( K, der )( function )

Returns: a list containing the orbits under the affine action of K associated to der if there are finitely many, or fail if there are infinitely many.

The group K must be a subgroup of Source(der).

10.2-3 NrOrbitsAffineAction
‣ NrOrbitsAffineAction( K, der )( function )

Returns: the number of orbits under the affine action of K associated to der.

10.2-4 StabiliserAffineAction
‣ StabiliserAffineAction( K, g, der )( function )
‣ StabilizerAffineAction( K, g, der )( function )

Returns: the stabiliser of g under the affine action of K associated to der.

The group K must be a subgroup of Source(der).

10.2-5 RepresentativeAffineAction
‣ RepresentativeAffineAction( K, g1, g2, der )( function )

Returns: an element of K that maps g1 to g2 under the affine action of K associated to der, or fail if no such element exists.

The group K must be a subgroup of Source(der).

gap> g1 := G.1;;
gap> orb := OrbitAffineAction( H, g1, der );
f1^G
gap> NrOrbitsAffineAction( H, der );
10
gap> stab := StabiliserAffineAction( H, g1, der );;
gap> Set( stab );
[ <identity> of ..., f3, f3^2, f2^2*f5, f2*f4*f5,
  f2^2*f3*f5, f2*f3*f4*f5, f2^2*f3^2*f5, f2*f3^2*f4*f5 ]
gap> g2 := G.1*G.4*G.5;;
gap> h := RepresentativeAffineAction( H, g1, g2, der );;
gap> aff( g1, h ) = g2;
true

10.3 Operations on orbits of affine actions

10.3-1 Representative
‣ Representative( orb )( attribute )

Returns: the group element that was used to construct orb.

10.3-2 ActingDomain
‣ ActingDomain( orb )( attribute )

Returns: the group whose affine action orb is an orbit of.

10.3-3 FunctionAction
‣ FunctionAction( orb )( attribute )

Returns: the affine action that orb is an orbit of.

10.3-4 \in
‣ \in( elm, orb )( operation )

Returns: true if elm is an element of orb, otherwise false.

10.3-5 Size
‣ Size( orb )( attribute )

Returns: the number of elements in orb.

10.3-6 StabiliserOfExternalSet
‣ StabiliserOfExternalSet( orb )( attribute )

Returns: the stabiliser of Representative(orb) under the action FunctionAction(orb).

10.3-7 List
‣ List( orb )( function )

Returns: a list containing the elements of orb.

If orb is infinite, this will run forever. It is recommended to first test the finiteness of orb using Size (10.3-5).

10.3-8 Random
‣ Random( orb )( operation )

Returns: a random element in orb.

10.3-9 \=
‣ \=( orb1, orb2 )( operation )

Returns: true if orb1 is equal to orb2, otherwise false.

gap> g2 in orb;
true
gap> G.2 in orb;
false
gap> Size( orb );
8
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind

generated by GAPDoc2HTML