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 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

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 \({\rm 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 \(\chi : R \to S\), with Whitehead multiplication \(\star\) (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 \({\rm 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 \to R)\) is the set of group homomorphisms \(\xi : R \to G\), with Whitehead multiplication \(\star\) (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(\xi_1 \star \xi_2) = (h \xi_1)(h \xi_2)\). A section is regular when \(h \xi\) is an automorphism, and the group of regular sections is isomorphic to the Whitehead group.

If \(\epsilon\) denotes the inclusion of \(S = \ker\ t\) in \(G\) then \(\partial = h \epsilon : S \to R\) and

\[ \xi r ~=~ (e r)(e \chi r), \quad\mbox{which equals}\quad (r, \chi r) ~\in~ R \ltimes S, \]

determines a section \(\xi\) of \(\calC\) in terms of the corresponding derivation \(\chi\) 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 \({\bf 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 \in S\) is the derivation \(\eta_s : R \to S,\; r \mapsto (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-2) and `XModOfCat1Group` (2.5-2) 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 \xi\). 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 \(\chi_1 \star \chi_2\), or to two sections to form \(\xi_1 \star \xi_2\). The `WhiteheadOrder` of a regular derivation \(\chi\) is the smallest power of \(\chi\), 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 \({\rm 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 Bib Ind

generated by GAPDoc2HTML