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