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.
‣ AffineActionByGroupDerivation ( K, der ) | ( function ) |
Returns: the affine action of K via the derivation derv.
gap> aff := AffineActionByGroupDerivation( H, der ); function( g, k ) ... end
These functions are analogues of existing GAP functions for group actions.
‣ OrbitAffineAction ( K, g, der ) | ( function ) |
Returns: the orbit of g under the affine action of K via der.
‣ 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.
‣ NrOrbitsAffineAction ( K, der ) | ( function ) |
Returns: the number of orbits under the affine action of K via der.
‣ StabiliserAffineAction ( K, g, der ) | ( function ) |
‣ StabilizerAffineAction ( K, g, der ) | ( function ) |
Returns: the stabiliser of g under the affine action of K via der.
‣ 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
‣ \in ( elm, orb ) | ( operation ) |
Returns: true
if elm is an element of orb, otherwise false
.
‣ Size ( orb ) | ( attribute ) |
Returns: the number of elements in orb.
‣ 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
generated by GAPDoc2HTML