The *actor* of \(\mathcal{X}\) is a crossed module \(\Act(\mathcal{X}) = (\Delta : \mathcal{W}(\mathcal{X}) \to \Aut(\mathcal{X}))\) which was shown by Lue and Norrie, in [Nor87] and [Nor90] to give the automorphism object of a crossed module \(\mathcal{X}\). In this implementation, the source of the actor is a permutation representation \(W\) of the Whitehead group of regular derivations, and the range of the actor is a permutation representation \(A\) of the automorphism group \(\Aut(\mathcal{X})\) of \(\mathcal{X}\).

`‣ AutomorphismPermGroup` ( xmod ) | ( attribute ) |

`‣ GeneratingAutomorphisms` ( xmod ) | ( attribute ) |

`‣ PermAutomorphismAsXModMorphism` ( xmod, perm ) | ( operation ) |

The automorphisms \(( \sigma, \rho )\) of \(\mathcal{X}\) form a group \(\Aut(\mathcal{X})\) of crossed module isomorphisms. The function `AutomorphismPermGroup`

finds a set of `GeneratingAutomorphisms`

for \(\Aut(\mathcal{X})\), and then constructs a permutation representation of this group, which is used as the range of the actor crossed module of \(\mathcal{X}\). The individual automorphisms can be constructed from the permutation group using the function `PermAutomorphismAsXModMorphism`

. The example below uses the crossed module `X3=[c3->s3]`

constructed in section 5.1.

gap> APX3 := AutomorphismPermGroup( X3 ); Group([ (5,7,6), (1,2)(3,4)(6,7) ]) gap> Size( APX3 ); 6 gap> genX3 := GeneratingAutomorphisms( X3 ); [ [[c3->s3] => [c3->s3]], [[c3->s3] => [c3->s3]] ] gap> e6 := Elements( APX3 )[6]; (1,2)(3,4)(5,7) gap> m6 := PermAutomorphismAsXModMorphism( X3, e6 );; gap> Display( m6 ); Morphism of crossed modules :- : Source = [c3->s3] with generating sets: [ (1,2,3)(4,6,5) ] [ (4,5,6), (2,3)(5,6) ] : Range = Source : Source Homomorphism maps source generators to: [ (1,3,2)(4,5,6) ] : Range Homomorphism maps range generators to: [ (4,6,5), (2,3)(4,5) ]

`‣ WhiteheadXMod` ( xmod ) | ( attribute ) |

`‣ LueXMod` ( xmod ) | ( attribute ) |

`‣ NorrieXMod` ( xmod ) | ( attribute ) |

`‣ ActorXMod` ( xmod ) | ( attribute ) |

An automorphism \(( \sigma, \rho )\) of `X`

acts on the Whitehead monoid by \(\chi^{(\sigma,\rho)} = \sigma \circ \chi \circ \rho^{-1}\), and this determines the action for the actor. In fact the four groups \(R, S, W, A\), the homomorphisms between them, and the various actions, give five crossed modules forming a *crossed square*:

\(\mathcal{X} = (\partial : S \to R),~\) the initial crossed module, on the left,

\(\mathcal{W}(\mathcal{X}) = (\eta : S \to W),~\) the Whitehead crossed module of \(\mathcal{X}\), at the top,

\(\mathcal{N}(X) = (\alpha : R \to A),~\) the Norrie crossed module of \(\mathcal{X}\), at the bottom,

\(\Act(\mathcal{X}) = ( \Delta : W \to A),~\) the actor crossed module of \(\mathcal{X}\), on the right, and

\(\mathcal{L}(\mathcal{X}) = (\Delta\circ\eta = \alpha\circ\partial : S \to A),~\) the Lue crossed module of \(\mathcal{X}\), along the top-left to bottom-right diagonal.

gap> WGX3 := WhiteheadPermGroup( X3 ); Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ]) gap> WX3 := WhiteheadXMod( X3 );; gap> Display( WX3 ); Crossed module Whitehead[c3->s3] :- : Source group has generators: [ (1,2,3)(4,6,5) ] : Range group has generators: [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ] : Boundary homomorphism maps source generators to: [ (1,2,3)(4,5,6) ] : Action homomorphism maps range generators to automorphisms: (1,2,3)(4,5,6) --> { source gens --> [ (1,2,3)(4,6,5) ] } (1,4)(2,6)(3,5) --> { source gens --> [ (1,3,2)(4,5,6) ] } These 2 automorphisms generate the group of automorphisms. gap> LX3 := LueXMod( X3 );; gap> Display( LX3 ); Crossed module Lue[c3->s3] :- : Source group has generators: [ (1,2,3)(4,6,5) ] : Range group has generators: [ (5,7,6), (1,2)(3,4)(6,7) ] : Boundary homomorphism maps source generators to: [ (5,7,6) ] : Action homomorphism maps range generators to automorphisms: (5,7,6) --> { source gens --> [ (1,2,3)(4,6,5) ] } (1,2)(3,4)(6,7) --> { source gens --> [ (1,3,2)(4,5,6) ] } These 2 automorphisms generate the group of automorphisms. gap> NX3 := NorrieXMod( X3 );; gap> Display( NX3 ); Crossed module Norrie[c3->s3] :- : Source group has generators: [ (4,5,6), (2,3)(5,6) ] : Range group has generators: [ (5,7,6), (1,2)(3,4)(6,7) ] : Boundary homomorphism maps source generators to: [ (5,6,7), (1,2)(3,4)(6,7) ] : Action homomorphism maps range generators to automorphisms: (5,7,6) --> { source gens --> [ (4,5,6), (2,3)(4,5) ] } (1,2)(3,4)(6,7) --> { source gens --> [ (4,6,5), (2,3)(5,6) ] } These 2 automorphisms generate the group of automorphisms. gap> AX3 := ActorXMod( X3 );; gap> Display( AX3); Crossed module Actor[c3->s3] :- : Source group has generators: [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ] : Range group has generators: [ (5,7,6), (1,2)(3,4)(6,7) ] : Boundary homomorphism maps source generators to: [ (5,7,6), (1,2)(3,4)(6,7) ] : Action homomorphism maps range generators to automorphisms: (5,7,6) --> { source gens --> [ (1,2,3)(4,5,6), (1,6)(2,5)(3,4) ] } (1,2)(3,4)(6,7) --> { source gens --> [ (1,3,2)(4,6,5), (1,4)(2,6)(3,5) ] } These 2 automorphisms generate the group of automorphisms. gap> IAX3 := InnerActorXMod( X3 );; gap> Display( IAX3 ); Crossed module InnerActor[c3->s3] :- : Source group has generators: [ (1,2,3)(4,5,6) ] : Range group has generators: [ (5,6,7), (1,2)(3,4)(6,7) ] : Boundary homomorphism maps source generators to: [ (5,7,6) ] : Action homomorphism maps range generators to automorphisms: (5,6,7) --> { source gens --> [ (1,2,3)(4,5,6) ] } (1,2)(3,4)(6,7) --> { source gens --> [ (1,3,2)(4,6,5) ] } These 2 automorphisms generate the group of automorphisms.

`‣ XModCentre` ( xmod ) | ( attribute ) |

`‣ InnerActorXMod` ( xmod ) | ( attribute ) |

`‣ InnerMorphism` ( xmod ) | ( attribute ) |

Pairs of boundaries or identity mappings provide six morphisms of crossed modules. In particular, the boundaries of \(\mathcal{W}(\mathcal{X})\) and \(\mathcal{N}(\mathcal{X})\) form the *inner morphism* of \(\mathcal{X}\), mapping source elements to principal derivations and range elements to inner automorphisms. The image of \(\mathcal{X}\) under this morphism is the *inner actor* of \(\mathcal{X}\), while the kernel is the *centre* of \(\mathcal{X}\). In the example which follows, the inner morphism of `X3=(c3->s3)`

, from Chapter 5, is an inclusion of crossed modules.

Note that we appear to have defined *two* sorts of *centre* for a crossed module: `XModCentre`

here, and `CentreXMod`

(4.1-7) in the chapter on isoclinism. We suspect that these two definitions give the same answer, but this remains to be resolved.

gap> IMX3 := InnerMorphism( X3 );; gap> Display( IMX3 ); Morphism of crossed modules :- : Source = [c3->s3] with generating sets: [ (1,2,3)(4,6,5) ] [ (4,5,6), (2,3)(5,6) ] : Range = Actor[c3->s3] with generating sets: [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ] [ (5,7,6), (1,2)(3,4)(6,7) ] : Source Homomorphism maps source generators to: [ (1,2,3)(4,5,6) ] : Range Homomorphism maps range generators to: [ (5,6,7), (1,2)(3,4)(6,7) ] gap> IsInjective( IMX3 ); true gap> ZX3 := XModCentre( X3 ); [Group( () )->Group( () )]

generated by GAPDoc2HTML