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 Orbits of affine actions

10 Affine actions

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

\[\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 an affine action, by

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

Algorithms designed for computing with twisted conjugacy classes can be leveraged to do computations involving affine actions, see [Ter25] 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 via the derivation derv.

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 via der.

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

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

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

Returns: the number of orbits under the affine action of K via 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 via 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 via der, or fail if no such element exists.

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 Orbits of affine actions

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

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

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

Returns: the number of elements in orb.

10.3-3 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-2).

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