GAP (XMod) - Chapter 5: Whitehead group of a crossed module

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

[MathJax on]

5 Whitehead group of a crossed module
5.1 Derivations and Sections
5.1-1 DerivationByImages
5.1-2 PrincipalDerivation
5.1-3 SectionByHomomorphism
5.1-4 IdentityDerivation
5.1-5 WhiteheadProduct
5.2 Whitehead Groups and Monoids
5.2-1 AllDerivations
5.2-2 RegularDerivations
5.2-3 PrincipalDerivations
5.2-4 AllSections

### 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`( map ) | ( property )

`‣ UpImagePositions`( chi ) | ( attribute )

`‣ UpGeneratorImages`( chi ) | ( attribute )

Derivations are stored like group homomorphisms by specifying the images of a generating set. Images of the remaining elements may then be obtained using axiom Der 1. The function `IsDerivation` is automatically called to check that this procedure is well-defined.

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`.

    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> imchi1 := [ (), (1,2,3)(4,6,5) ];;
    gap> chi1 := DerivationByImages( X3, imchi1 );
    DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],
    [ (), (1,2,3)(4,6,5) ] )
    gap> [ IsUp2DimensionalMapping( chi1 ), IsDerivation( chi1 ) ];
    [ true, true ]
    gap> UpImagePositions( chi1 );
    [ 1, 1, 1, 2, 2, 2 ]
    gap> UpGeneratorImages( chi1 );
    [ (), (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.

[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 Bib Ind

generated by GAPDoc2HTML