The actor of calX is a crossed module Act(calX) = (∆ : calW(calX) -> Aut(calX)) which was shown by Lue and Norrie, in [Nor87] and [Nor90] to give the automorphism object of a crossed module calX. 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(calX) of calX.
‣ AutomorphismPermGroup ( xmod ) | ( attribute ) |
‣ GeneratingAutomorphisms ( xmod ) | ( attribute ) |
‣ PermAutomorphismAsXModMorphism ( xmod, perm ) | ( operation ) |
The automorphisms ( σ, ρ ) of calX form a group Aut(calX) of crossed module isomorphisms. The function AutomorphismPermGroup
finds a set of GeneratingAutomorphisms
for Aut(calX), and then constructs a permutation representation of this group, which is used as the range of the actor crossed module of calX. 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 ( σ, ρ ) of X
acts on the Whitehead monoid by χ^(σ,ρ) = σ ∘ χ ∘ ρ^-1, and this determines the action for the actor. In fact the four groups S, W, R, A, the homomorphisms between them, and the various actions, give five crossed modules forming a crossed square (see ActorCrossedSquare
(8.2-5)).
calW(calX) = (η : S -> W),~ the Whitehead crossed module of calX, at the top,
calX = (∂ : S -> R),~ the initial crossed module, on the left,
Act(calX) = ( ∆ : W -> A),~ the actor crossed module of calX, on the right,
calN(X) = (α : R -> A),~ the Norrie crossed module of calX, on the bottom, and
calL(calX) = (∆∘η = α∘∂ : S -> A),~ the Lue crossed module of calX, 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.
The main methods for these operations are written for permutation crossed modules. For other crossed modules an isomorphism to a permutation crodssed module is found first, and then the main method is applied to the image. In the example the crossed module XAq8
is the automorphism crossed module of the quaternion group.
gap> StructureDescription( WhiteheadXMod( XAq8 ) ); [ "Q8", "C2 x C2 x C2" ] gap> StructureDescription( LueXMod( XAq8 ) ); [ "Q8", "S4" ] gap> StructureDescription( NorrieXMod( XAq8 ) ); [ "S4", "S4" ] gap> StructureDescription( ActorXMod( XAq8 ) ); [ "C2 x C2 x C2", "S4" ]
‣ 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 calW(calX) and calN(calX) form the inner morphism of calX, mapping source elements to principal derivations and range elements to inner automorphisms. The image of calX under this morphism is the inner actor of calX, while the kernel is the centre of calX. 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( () )] 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.
generated by GAPDoc2HTML