Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

5 Whitehead group of a crossed module
 5.1 Derivations and Sections
 5.2 Whitehead Monoids and Groups
 5.3 Endomorphisms determined by a derivation
 5.4 Whitehead groups for cat^1-groups

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 product (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).

It easily follows that χ 1 = 1 and χ(r^-1) = ((χ r)^-1)^r^-1}, and that 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 cat^1-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)(\epsilon \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 )
‣ Object2d( 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. The attribute Object2d(χ) returns the underlying crossed module.

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 cat^1-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> Object2d( chi1 );
[c3->s3]
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( xi )( property )
‣ UpHomomorphism( xi )( attribute )
‣ SectionByDerivation( chi )( operation )
‣ DerivationBySection( xi )( operation )

Sections are group homomorphisms but, although they do not require a special representation, one is provided in the category IsUp2DimensionalMapping having attributes Object2d, UpHomomorphism and UpGeneratorsImages. 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> Object2d( xi2 );
[g18 => s3]
gap> UpHomomorphism( xi2 );         
[ (4,5,6), (2,3)(5,6) ] -> [ (1,3,2)(4,6,5), (1,2)(4,6) ]
gap> UpGeneratorImages( xi2 );
[ (1,3,2)(4,6,5), (1,2)(4,6) ]
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( upi, upj )( operation )
‣ WhiteheadOrder( up )( operation )

The WhiteheadProduct, defined in section 5.1, may be applied to two derivations to form χ_i ⋆ χ_j, or to two sections to form ξ_i ⋆ ξ_j. 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,3,2)(4,5,6), () ] )
gap> xi12 := WhiteheadProduct( xi1, xi2 );
SectionByHomomorphism( s3, g18, [ (4,5,6), (2,3)(5,6) ], 
[ (1,3,2)(4,6,5), (2,3)(5,6) ] )
gap> xi12 = SectionByDerivation( chi12 ); 
true 
gap> [ WhiteheadOrder( chi2 ), WhiteheadOrder( xi2 ) ];
[ 2, 2 ]

5.2 Whitehead Monoids and Groups

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 )
‣ ImagesList( obj )( attribute )
‣ DerivationClass( mon )( attribute )
‣ ImagesTable( obj )( attribute )

Using our example X3 we find that there are just nine derivations. Here AllDerivations returns a collection of up mappings with attributes:


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 ]

5.2-2 WhiteheadMonoidTable
‣ WhiteheadMonoidTable( X0 )( attribute )
‣ WhiteheadTransformationMonoid( X0 )( attribute )

The WhiteheadMonoidTable of calX is the multiplication table whose [i,j]-th entry is the position k in the list of derivations of the Whitehead product χ_i*χ_j = χ_k.

Using the rows of the table as transformations, we may construct the WhiteheadTransformationMonoid of calX.


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-3 RegularDerivations
‣ RegularDerivations( X0 )( attribute )
‣ WhiteheadGroupTable( X0 )( attribute )
‣ WhiteheadPermGroup( X0 )( attribute )
‣ IsWhiteheadPermGroup( G )( property )
‣ WhiteheadRegularGroup( X0 )( attribute )
‣ WhiteheadGroupIsomorphism( X0 )( attribute )

RegularDerivations are those derivations which are invertible in the monoid. The multiplication table for a Whitehead group - a subtable of the Whitehead monoid table - enables the construction of a permutation representation WhiteheadPermGroup WcalX of calX. This group satisfies the property IsWhiteheadPermGroup. and calX is its attribute Object2d.

Of the nine derivations of X3 just six are regular. The associated group is isomorphic to the symmetric group s3.

Taking the rows of the WhiteheadGroupTable as permutations, we may construct the WhiteheadRegularGroup of calX. Then, seeking a SmallerDegreePermutationRepresentation, we obtain the WhiteheadGroupIsomorphism whose image is the WhiteheadPermGroup of calX.


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> DerivationClass( reg3 );
"regular"
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), (1,2) ])
gap> IsWhiteheadPermGroup( wpg3 );
true
gap> Object2d( wpg3 );
[c3->s3]
gap> WhiteheadRegularGroup( X3 );
Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ])
gap> MappingGeneratorsImages( WhiteheadGroupIsomorphism( X3 ) );
[ [ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ], [ (1,2,3), (1,2) ] ]

5.2-4 PrincipalDerivations
‣ PrincipalDerivations( X0 )( attribute )
‣ PrincipalDerivationSubgroup( X0 )( attribute )
‣ WhiteheadHomomorphism( X0 )( attribute )

The principal derivations form a subgroup of the Whitehead group. The PrincipalDerivationSubgroup is the corresponding subgroup of the WhiteheadPermGroup.

The Whitehead homomorphism η : S -> WcalX, s ↦ η_s for calX maps the source group of calX to the Whitehead group of calX.


gap> PDX3 := PrincipalDerivations( X3 );
monoid of derivations with images list:
[ (), () ]
[ (), (1,3,2)(4,5,6) ]
[ (), (1,2,3)(4,6,5) ]
gap> PDSX3 := PrincipalDerivationSubgroup( X3 );
Group([ (1,2,3) ])
gap> Whom3 := WhiteheadHomomorphism( X3 );
[ (1,2,3)(4,6,5) ] -> [ (1,2,3) ]

Exercise:~ Use the two crossed module axioms to show that η_s_1 ⋆ η_s_2 = η_s_1s_2.

5.3 Endomorphisms determined by a derivation

5.3-1 SourceEndomorphism
‣ SourceEndomorphism( chi )( operation )

A derivation χ of calX = (∂ : S -> R) determines an endomorphism σ_χ : S -> S,~ s ↦ s(χ ∂ s). We may verify that σ_χ is a homomorphism by:

\sigma_{\chi}(s_1s_2) ~=~ s_1s_2\chi((\partial s_1)(\partial s_2)) ~=~ s_1s_2(\chi\partial s_1)^{\partial s_2}(\chi\partial s_2) ~=~ s_1(\chi\partial s_1)s_2(\chi\partial s_2) ~=~ (\sigma_{\chi}s_1)(\sigma_{\chi}s_2).


gap> sigma2 := SourceEndomorphism( chi2 );
[ (1,2,3)(4,6,5) ] -> [ (1,3,2)(4,5,6) ]

5.3-2 RangeEndomorphism
‣ RangeEndomorphism( chi )( operation )

A derivation χ of calX = (∂ : S -> R) determines an endomorphism ρ_χ : R -> R,~ r ↦ r(∂ χ r).


gap> rho2 := RangeEndomorphism( chi2 );
[ (4,5,6), (2,3)(5,6) ] -> [ (4,6,5), (2,3)(4,6) ]

5.3-3 Object2dEndomorphism
‣ Object2dEndomorphism( chi )( operation )

A derivation χ of calX = (∂ : S -> R) determines an endomorphism α_χ : calX -> calX whose source and range endomorphisms are given by the previous two operations.


gap> alpha2 := Object2dEndomorphism( chi2 );;
gap> Display( alpha2 );
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,6) ]

5.4 Whitehead groups for cat^1-groups

5.4-1 AllSections
‣ AllSections( C0 )( attribute )
‣ RegularSections( C0 )( attribute )

These operations are currently obtained by running the equivalent operation for derivations and then converting the result to sections.


gap> AllSections( C3 );
monoid of sections with images list:
[ (4,5,6), (2,3)(5,6) ]
[ (4,5,6), (1,3)(4,5) ]
[ (4,5,6), (1,2)(4,6) ]
[ (1,3,2)(4,6,5), (2,3)(5,6) ]
[ (1,3,2)(4,6,5), (1,3)(4,5) ]
[ (1,3,2)(4,6,5), (1,2)(4,6) ]
[ (1,2,3), (2,3)(5,6) ]
[ (1,2,3), (1,3)(4,5) ]
[ (1,2,3), (1,2)(4,6) ]
gap> RegularSections( C3 );         
monoid of sections with images list:
[ (4,5,6), (2,3)(5,6) ]
[ (4,5,6), (1,3)(4,5) ]
[ (4,5,6), (1,2)(4,6) ]
[ (1,3,2)(4,6,5), (2,3)(5,6) ]
[ (1,3,2)(4,6,5), (1,3)(4,5) ]
[ (1,3,2)(4,6,5), (1,2)(4,6) ]

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bib Ind

generated by GAPDoc2HTML