[MathJax on]
5 Whitehead group of a crossed module
5.1 Derivations and Sections
The Whitehead monoid Der(calX) of calX was defined in [Whi48] to be the monoid of all derivations from R to S, that is the set of all maps χ : R -> S, with Whitehead multiplication ⋆ (on the right) satisfying:
{\bf Der\ 1}: \chi(qr) ~=~ (\chi q)^{r} \; (\chi r),
\qquad
{\bf Der\ 2}: (\chi_1 \star \chi_2)(r)
~=~ (\chi_2 r)(\chi_1 r)(\chi_2 \partial \chi_1 r).
The zero map is the identity for this composition. Invertible elements in the monoid are called regular. The Whitehead group of calX is the group of regular derivations in Der(calX ). In the next chapter the actor of calX is defined as a crossed module whose source and range are permutation representations of the Whitehead group and the automorphism group of calX.
The construction for cat1-groups equivalent to the derivation of a crossed module is the section. The monoid of sections of calC = (e;t,h : G -> R) is the set of group homomorphisms ξ : R -> G, with Whitehead multiplication ⋆ (on the right) satisfying:
{\bf Sect\ 1}: t \circ \xi ~=~ {\rm id}_R,
\quad
{\bf Sect\ 2}: (\xi_1 \star \xi_2)(r)
~=~ (\xi_1 r)(e h \xi_1 r)^{-1}(\xi_2 h \xi_1 r)
~=~ (\xi_2 h \xi_1 r)(e h \xi_1 r)^{-1}(\xi_1 r).
The embedding e is the identity for this composition, and h(ξ_1 ⋆ ξ_2) = (h ξ_1)(h ξ_2). A section is regular when h ξ is an automorphism, and the group of regular sections is isomorphic to the Whitehead group.
If ϵ denotes the inclusion of S = ker t in G then ∂ = h ϵ : S -> R and
\xi r ~=~ (e r)(e \chi r),
\quad\mbox{which equals}\quad
(r, \chi r) ~\in~ R \ltimes S,
determines a section ξ of calC in terms of the corresponding derivation χ of calX, and conversely.
5.1-1 DerivationByImages
‣ DerivationByImages ( X0, ims ) | ( operation ) |
‣ IsDerivation ( map ) | ( property ) |
‣ IsUp2DimensionalMapping ( chi ) | ( property ) |
‣ UpGeneratorImages ( chi ) | ( attribute ) |
‣ UpImagePositions ( chi ) | ( attribute ) |
‣ DerivationImage ( chi, r ) | ( operation ) |
A derivation χ is stored like a group homomorphisms by specifying the images of the generating set StrongGeneratorsStabChain( StabChain(R) )
of the range R. This set of images is stored as the attribute UpGeneratorImages
of χ. The function IsDerivation
is automatically called to check that this procedure is well-defined.
Images of the remaining elements may be obtained using axiom Der 1. UpImagePositions(chi)
is the list of the images under χ of Elements(R)
and DerivationImage(chi,r)
returns χ r.
In the following example a cat1-group C3
and the associated crossed module X3
are constructed, where X3
is isomorphic to the inclusion of the normal cyclic group c3
in the symmetric group s3
. The derivation χ_1 maps c3
to the identity and the other 3 elements to (1,2,3)(4,6,5).
gap> g18 := Group( (1,2,3), (4,5,6), (2,3)(5,6) );;
gap> SetName( g18, "g18" );
gap> gen18 := GeneratorsOfGroup( g18 );;
gap> g1 := gen18[1];; g2 := gen18[2];; g3 := gen18[3];;
gap> s3 := Subgroup( g18, gen18{[2..3]} );;
gap> SetName( s3, "s3" );;
gap> t := GroupHomomorphismByImages( g18, s3, gen18, [g2,g2,g3] );;
gap> h := GroupHomomorphismByImages( g18, s3, gen18, [(),g2,g3] );;
gap> e := GroupHomomorphismByImages( s3, g18, [g2,g3], [g2,g3] );;
gap> C3 := Cat1Group( t, h, e );
[g18=>s3]
gap> SetName( Kernel(t), "c3" );;
gap> X3 := XModOfCat1Group( C3 );
[c3->s3]
gap> R3 := Range( X3 );;
gap> StrongGeneratorsStabChain( StabChain( R3 ) );
[ (4,5,6), (2,3)(5,6) ]
gap> chi1 := DerivationByImages( X3, [ (), (1,2,3)(4,6,5) ] );
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],
[ (), (1,2,3)(4,6,5) ] )
gap> [ IsUp2DimensionalMapping( chi1 ), IsDerivation( chi1 ) ];
[ true, true ]
gap> UpGeneratorImages( chi1 );
[ (), (1,2,3)(4,6,5) ]
gap> UpImagePositions( chi1 );
[ 1, 1, 1, 2, 2, 2 ]
gap> DerivationImage( chi1, (2,3)(4,5) );
(1,2,3)(4,6,5)
5.1-2 PrincipalDerivation
‣ PrincipalDerivation ( X0, s ) | ( operation ) |
The principal derivation determined by s ∈ S is the derivation η_s : R -> S, r ↦ (s^-1)^rs.
gap> eta := PrincipalDerivation( X3, (1,2,3)(4,6,5) );
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (), (1,3,2)(4,5,6) ] )
5.1-3 SectionByHomomorphism
‣ SectionByHomomorphism ( C, hom ) | ( operation ) |
‣ IsSection ( hom ) | ( property ) |
‣ SectionByDerivation ( chi ) | ( operation ) |
‣ DerivationBySection ( xi ) | ( operation ) |
Sections are group homomorphisms, so do not need a special representation. Operations SectionByDerivation
and DerivationBySection
convert derivations to sections, and vice-versa, calling Cat1GroupOfXMod
(2.5-3) and XModOfCat1Group
(2.5-3) automatically.
Two strategies for calculating derivations and sections are implemented, see [AW00]. The default method for AllDerivations
(5.2-1) is to search for all possible sets of images using a backtracking procedure, and when all the derivations are found it is not known which are regular. In early versions of this package, the default method for AllSections( <C> )
was to compute all endomorphisms on the range group R
of C
as possibilities for the composite h ξ. A backtrack method then found possible images for such a section. In the current version the derivations of the associated crossed module are calculated, and these are all converted to sections using SectionByDerivation
.
gap> hom2 := GroupHomomorphismByImages( s3, g18, [ (4,5,6), (2,3)(5,6) ],
> [ (1,3,2)(4,6,5), (1,2)(4,6) ] );;
gap> xi2 := SectionByHomomorphism( C3, hom2 );
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ],
[ (1,3,2)(4,6,5), (1,2)(4,6) ] )
gap> [ IsUp2DimensionalMapping( xi2 ), IsSection( xi2 ) ];
[ true, true ]
gap> chi2 := DerivationBySection( xi2 );
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ] )
gap> xi1 := SectionByDerivation( chi1 );
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ],
[ (1,2,3), (1,2)(4,6) ] )
5.1-4 IdentityDerivation
‣ IdentityDerivation ( X0 ) | ( attribute ) |
‣ IdentitySection ( C0 ) | ( attribute ) |
The identity derivation maps the range group to the identity subgroup of the source, while the identity section is just the range embedding considered as a section.
gap> IdentityDerivation( X3 );
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (), () ] )
gap> IdentitySection(C3);
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ],
[ (4,5,6), (2,3)(5,6) ] )
5.1-5 WhiteheadProduct
‣ WhiteheadProduct ( chi1, chi2 ) | ( operation ) |
‣ WhiteheadOrder ( chi ) | ( operation ) |
The WhiteheadProduct
may be applied to two derivations to form χ_1 ⋆ χ_2, or to two sections to form ξ_1 ⋆ ξ_2. The WhiteheadOrder
of a regular derivation χ is the smallest power of χ, using this product, equal to the IdentityDerivation
(5.1-4).
gap> chi12 := WhiteheadProduct( chi1, chi2 );
DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (1,2,3)(4,6,5), () ] )
gap> xi12 := WhiteheadProduct( xi1, xi2 );
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ],
[ (1,2,3), (2,3)(5,6) ] )
gap> xi12 = SectionByDerivation( chi12 );
true
gap> [ WhiteheadOrder( chi2 ), WhiteheadOrder( xi2 ) ];
[ 2, 2 ]
5.2 Whitehead Groups and Monoids
As mentioned at the beginning of this chapter, the Whitehead monoid Der(calX) of calX is the monoid of all derivations from R to S. Monoids of derivations have representation IsMonoidOfUp2DimensionalMappingsObj
. Multiplication tables for Whitehead monoids enable the construction of transformation representations.
5.2-1 AllDerivations
‣ AllDerivations ( X0 ) | ( attribute ) |
‣ ImagesTable ( obj ) | ( attribute ) |
‣ DerivationClass ( mon ) | ( attribute ) |
‣ WhiteheadMonoidTable ( X0 ) | ( attribute ) |
‣ WhiteheadTransformationMonoid ( X0 ) | ( attribute ) |
Using our example X3
we find that there are just nine derivations.
gap> all3 := AllDerivations( X3 );
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
[ (1,3,2)(4,5,6), () ]
[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ]
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ]
[ (1,2,3)(4,6,5), () ]
[ (1,2,3)(4,6,5), (1,3,2)(4,5,6) ]
[ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ]
gap> DerivationClass( all3 );
"all"
gap> Perform( ImagesTable( all3 ), Display );
[ 1, 1, 1, 1, 1, 1 ]
[ 1, 1, 1, 3, 3, 3 ]
[ 1, 1, 1, 2, 2, 2 ]
[ 1, 3, 2, 1, 3, 2 ]
[ 1, 3, 2, 3, 2, 1 ]
[ 1, 3, 2, 2, 1, 3 ]
[ 1, 2, 3, 1, 2, 3 ]
[ 1, 2, 3, 3, 1, 2 ]
[ 1, 2, 3, 2, 3, 1 ]
gap> wmt3 := WhiteheadMonoidTable( X3 );;
gap> Perform( wmt3, Display );
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
[ 2, 3, 1, 5, 6, 4, 8, 9, 7 ]
[ 3, 1, 2, 6, 4, 5, 9, 7, 8 ]
[ 4, 6, 5, 1, 3, 2, 7, 9, 8 ]
[ 5, 4, 6, 2, 1, 3, 8, 7, 9 ]
[ 6, 5, 4, 3, 2, 1, 9, 8, 7 ]
[ 7, 7, 7, 7, 7, 7, 7, 7, 7 ]
[ 8, 8, 8, 8, 8, 8, 8, 8, 8 ]
[ 9, 9, 9, 9, 9, 9, 9, 9, 9 ]
gap> wtm3 := WhiteheadTransformationMonoid( X3 );
<transformation monoid of degree 9 with 3 generators>
gap> GeneratorsOfMonoid( wtm3 );
[ Transformation( [ 2, 3, 1, 5, 6, 4, 8, 9, 7 ] ),
Transformation( [ 4, 6, 5, 1, 3, 2, 7, 9, 8 ] ),
Transformation( [ 7, 7, 7, 7, 7, 7, 7, 7, 7 ] ) ]
5.2-2 RegularDerivations
‣ RegularDerivations ( X0 ) | ( attribute ) |
‣ ImagesList ( obj ) | ( attribute ) |
‣ WhiteheadGroupTable ( X0 ) | ( attribute ) |
‣ WhiteheadPermGroup ( X0 ) | ( attribute ) |
RegularDerivations
are those derivations which are invertible in the monoid. Multiplication tables for the Whitehead group enable the construction of permutation representations.
Of the nine derivations of X3
just six are regular. The associated group is isomorphic to the symmetric group s3
.
gap> reg3 := RegularDerivations( X3 );
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
[ (1,3,2)(4,5,6), () ]
[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ]
[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ]
gap> wgt3 := WhiteheadGroupTable( X3 );;
gap> Perform( wgt3, Display );
[ [ 1, 2, 3, 4, 5, 6 ],
[ 2, 3, 1, 5, 6, 4 ],
[ 3, 1, 2, 6, 4, 5 ],
[ 4, 6, 5, 1, 3, 2 ],
[ 5, 4, 6, 2, 1, 3 ],
[ 6, 5, 4, 3, 2, 1 ] ]
gap> wpg3 := WhiteheadPermGroup( X3 );
Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ])
5.2-3 PrincipalDerivations
‣ PrincipalDerivations ( X0 ) | ( attribute ) |
The principal derivations form a subgroup of the Whitehead group.
gap> PDX3 := PrincipalDerivations( X3 );
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
5.2-4 AllSections
‣ AllSections ( C0 ) | ( attribute ) |
‣ RegularSections ( C0 ) | ( attribute ) |
These operations have been declared but are not yet implemented. The interested user should, instead, work with the corresponding derivations.