<!-- ------------------------------------------------------------------- -->
<!--                                                                     -->
<!--  gp2act.xml            XMod documentation            Chris Wensley  -->
<!--                                                        & Murat Alp  -->
<!--  Copyright (C) 1996-2018, Chris Wensley et al,                      --> 
<!--  School of Computer Science, Bangor University, U.K.                --> 
<!--                                                                     -->
<!-- ------------------------------------------------------------------- -->

<?xml version="1.0" encoding="UTF-8"?>

<Chapter Label="chap-gp2act">
<Heading>Actors of 2d-groups</Heading>

<Section><Heading>Actor of a crossed module</Heading>
<Index>actor</Index>

The <E>actor</E> of <M>\mathcal{X}</M>  is a crossed module
<M>\Act(\mathcal{X}) = 
(\Delta : \mathcal{W}(\mathcal{X}) \to \Aut(\mathcal{X}))</M>
which was shown by Lue and Norrie, in <Cite Key="N2" /> 
and <Cite Key="N1" /> to give the automorphism object 
of a crossed module <M>\mathcal{X}</M>.
In this implementation, the source of the actor is a permutation 
representation <M>W</M> of the Whitehead group of regular derivations, 
and the range of the actor is a permutation representation <M>A</M> 
of the automorphism group <M>\Aut(\mathcal{X})</M> of <M>\mathcal{X}</M>.

<ManSection>
   <Attr Name="AutomorphismPermGroup"
         Arg="xmod" />
   <Attr Name="GeneratingAutomorphisms"
         Arg="xmod" />
   <Oper Name="PermAutomorphismAsXModMorphism"
         Arg="xmod perm" />
<Description>
The automorphisms <M>( \sigma, \rho )</M> of <M>\mathcal{X}</M> form a group 
<M>\Aut(\mathcal{X})</M> of crossed module isomorphisms. 
The function <Ref Attr="AutomorphismPermGroup"/> finds a set of 
<Ref Attr="GeneratingAutomorphisms"/> for <M>\Aut(\mathcal{X})</M>, 
and then constructs a permutation representation of this group, 
which is used as the range of the actor crossed module of <M>\mathcal{X}</M>. 
The individual automorphisms can be constructed from the permutation group 
using the function <Ref Oper="PermAutomorphismAsXModMorphism"/>. 
The example below uses the crossed module <Code>X3=[c3->s3]</Code> 
constructed in section <Ref Sect="sect-whitehead-mult" />. 
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ]
]]>
</Example>


<ManSection>
   <Attr Name="WhiteheadXMod"
         Arg="xmod" />
   <Attr Name="LueXMod"
         Arg="xmod" />
   <Attr Name="NorrieXMod"
         Arg="xmod" />
   <Attr Name="ActorXMod"
         Arg="xmod" />
<Description>
An automorphism <M>( \sigma, \rho )</M> of <C>X</C> 
acts on the Whitehead monoid by
<M>\chi^{(\sigma,\rho)} = \sigma \circ \chi \circ \rho^{-1}</M>, 
and this determines the action for the actor.
In fact the four groups <M>R, S, W, A</M>,  the homomorphisms between them, 
and the various actions, 
give five crossed modules forming a <E>crossed square</E>:
<Index>crossed square</Index>
<List>
<Item>
<M>\mathcal{X} = (\partial : S \to R),~</M>  
the initial crossed module, on the left,
</Item>
<Item>
<M>\mathcal{W}(\mathcal{X}) = (\eta : S \to W),~</M>  
the Whitehead crossed module of <M>\mathcal{X}</M>, at the top,
</Item>
<Item>
<M>\mathcal{N}(X) = (\alpha : R \to A),~</M> 
the Norrie crossed module of <M>\mathcal{X}</M>, at the bottom, 
</Item>
<Item>
<M>\Act(\mathcal{X}) = ( \Delta : W \to A),~</M> 
the actor crossed module of <M>\mathcal{X}</M>, on the right, and 
</Item>
<Item>
<M>\mathcal{L}(\mathcal{X}) 
   = (\Delta\circ\eta = \alpha\circ\partial : S \to A),~</M> 
the Lue crossed module of <M>\mathcal{X}</M>, 
along the top-left to bottom-right diagonal. 
</Item>
</List>
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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.
]]>
</Example>

<ManSection>
   <Attr Name="XModCentre"
         Arg="xmod" />
   <Attr Name="InnerActorXMod"
         Arg="xmod" />
   <Attr Name="InnerMorphism"
         Arg="xmod" />
<Description>
Pairs of boundaries or identity mappings
provide six morphisms of crossed modules.
In particular, the boundaries of <M>\mathcal{W}(\mathcal{X})</M> 
and <M>\mathcal{N}(\mathcal{X})</M> 
form the <E>inner morphism</E> of <M>\mathcal{X}</M>, 
mapping source elements to principal derivations
and range elements to inner automorphisms.  
The image of <M>\mathcal{X}</M> under this morphism is the 
<E>inner actor</E> of <M>\mathcal{X}</M>, 
while the kernel is the <E>centre</E> of <M>\mathcal{X}</M>.
In the example which follows, the inner morphism of
<Code>X3=(c3->s3)</Code>, from Chapter <Ref Chap="chap-gp2up" />,
is an inclusion of crossed modules. 
<P/>
Note that we appear to have defined <E>two</E> sorts of <E>centre</E> 
for a crossed module: <Ref Attr="XModCentre"/> here, 
and <Ref Func="CentreXMod" /> in the chapter on isoclinism. 
We suspect that these two definitions give the same answer, 
but this remains to be resolved.  
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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( () )]
]]>
</Example>

</Section>

</Chapter>
