<!-- ------------------------------------------------------------------- --> <!-- --> <!-- gp2up.xml XMod documentation Chris Wensley --> <!-- & Murat Alp --> <!-- Copyright (C) 2001-2024, Chris Wensley et al, --> <!-- --> <!-- ------------------------------------------------------------------- -->
<?xmlversion="1.0"encoding="UTF-8"?>
<Chapter Label="chap-gp2up">
<Heading>Whitehead group of a crossed module</Heading>
<Index>up 2d-mapping of 2d-group</Index>
<Section Label="sect-der-and-sect">
<Heading>Derivations and Sections</Heading>
<Index>derivation, of crossed module</Index>
<Index>Whitehead monoid</Index>
The Whitehead monoid <M>{\rm Der}(\calX)</M> of <M>\calX</M>
was defined in <Cite Key="W2" /> to be the monoid of all <E>derivations</E>
from <M>R</M> to <M>S</M>, that is the set of all maps
<M>\chi : R \to S</M>, with <E>Whitehead product</E>
<M>\star</M> (on the <E>right</E>) satisfying:
<Display>
{\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).
</Display>
It easily follows that <M>\chi 1 = 1</M>
and <M>\chi(r^{-1}) = ((\chi r)^{-1})^{r^{-1}}</M>,
and that the zero map is the identity for this composition.
<Index>regular derivation</Index>
Invertible elements in the monoid are called <E>regular</E>.
<Index>Whitehead group</Index>
The Whitehead group of <M>\calX</M>
is the group of regular derivations in <M>{\rm Der}(\calX )</M>.
In the next chapter the <E>actor</E> of <M>\calX</M>
is defined as a crossed module whose source and range are permutation
representations of the Whitehead group and the automorphism group of
<M>\calX</M>.
<P/>
<Index>section, of cat1-group</Index>
The construction for cat<M>^1</M>-groups equivalent to the derivation
of a crossed module is the <E>section</E>.
<Index>Whitehead multiplication</Index>
The monoid of sections of <M>\calC = (e;t,h : G \to R)</M>
is the set of group homomorphisms
<M>\xi : R \to G</M>, with Whitehead multiplication <M>\star</M>
(on the <E>right</E>) satisfying:
<Display>
{\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).
</Display>
The embedding <M>e</M> is the identity for this composition,
and <M>h(\xi_1 \star \xi_2) = (h \xi_1)(h \xi_2)</M>.
A section is <E>regular</E> when <M>h \xi</M> is an automorphism, and
the group of regular sections is isomorphic to the Whitehead group.
<P/>
If <M>\epsilon</M> denotes the inclusion of
<M>S = \ker\ t</M> in <M>G</M>
then <M>\partial = h \epsilon : S \to R</M> and
<Display>
\xi r ~=~ (e r)(\epsilon \chi r),
\quad\mbox{which equals}\quad
(r, \chi r) ~\in~ R \ltimes S,
</Display>
determines a section <M>\xi</M> of <M>\calC</M>
in terms of the corresponding derivation <M>\chi</M> of
<M>\calX</M>, and conversely.
<ManSection>
<Oper Name="DerivationByImages"
Arg="X0 ims" />
<Prop Name="IsDerivation"
Arg="map" />
<Prop Name="IsUp2DimensionalMapping"
Arg="chi" />
<Attr Name="UpGeneratorImages"
Arg="chi" />
<Attr Name="UpImagePositions"
Arg="chi" />
<Attr Name="Object2d"
Arg="chi" />
<Oper Name="DerivationImage"
Arg="chi r" />
<Description>
A derivation <M>\chi</M> is stored like a group homomorphisms
by specifying the images of the generating set
<C>StrongGeneratorsStabChain( StabChain(R) )</C> of the range <M>R</M>.
This set of images is stored as the attribute <C>UpGeneratorImages</C>
of <M>\chi</M>.
The function <C>IsDerivation</C> is automatically called to
check that this procedure is well-defined.
The attribute <C>Object2d</C><M>(\chi)</M>
returns the underlying crossed module.
<P/>
Images of the remaining elements may be obtained using axiom
<M>{\bf Der\ 1}</M>.
<C>UpImagePositions(chi)</C> is the list of the images under <M>\chi</M>
of <C>Elements(R)</C> and
<C>DerivationImage(chi,r)</C> returns <M>\chi r</M>.
<P/>
In the following example a cat<M>^1</M>-group <C>C3</C> and the associated
crossed module <C>X3</C> are constructed,
where <C>X3</C> is isomorphic to the inclusion of the normal
cyclic group <C>c3</C> in the symmetric group <C>s3</C>.
The derivation <M>\chi_1</M> maps <C>c3</C> to the identity
and the other <M>3</M> elements to <M>(1,2,3)(4,6,5)</M>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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)
]]>
</Example>
<ManSection>
<Oper Name="PrincipalDerivation"
Arg="X0 s" />
<Description>
The <E>principal derivation</E> determined by <M>s \in S</M>
is the derivation <M>\eta_s : R \to S,\; r \mapsto (s^{-1})^rs</M>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ] )
]]>
</Example>
<ManSection>
<Oper Name="SectionByHomomorphism"
Arg="C hom" />
<Prop Name="IsSection"
Arg="xi" />
<Attr Name="UpHomomorphism"
Arg="xi" />
<Oper Name="SectionByDerivation"
Arg="chi" />
<Oper Name="DerivationBySection"
Arg="xi" />
<Description>
Sections <E>are</E> group homomorphisms but,
although they do not require a special representation,
one is provided in the category <C>IsUp2DimensionalMapping</C>
having attributes <C>Object2d</C>, <C>UpHomomorphism</C>
and <C>UpGeneratorsImages</C>.
Operations <C>SectionByDerivation</C> and <C>DerivationBySection</C>
convert derivations to sections, and vice-versa,
calling <Ref Oper="Cat1GroupOfXMod"/> and <Ref Oper="XModOfCat1Group"/>
automatically.
<P/>
Two strategies for calculating derivations and sections are implemented,
see <Cite Key="AW1" />.
The default method for <Ref Attr="AllDerivations"/>
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
<C>AllSections( <C> )</C> was to compute all endomorphisms
on the range group <C>R</C> of <C>C</C> as possibilities
for the composite <M>h \xi</M>.
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 <Ref Oper="SectionByDerivation"/>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ] )
]]>
</Example>
<ManSection>
<Attr Name="IdentityDerivation"
Arg="X0" />
<Attr Name="IdentitySection"
Arg="C0" />
<Description>
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.
</Description>
</ManSection>
<P/>
<ManSection>
<Oper Name="WhiteheadProduct"
Arg="upi upj" />
<Oper Name="WhiteheadOrder"
Arg="up" />
<Description>
The <C>WhiteheadProduct</C>,
defined in section <Ref Sect="sect-der-and-sect"/>,
may be applied to two derivations to form <M>\chi_i \star \chi_j</M>,
or to two sections to form <M>\xi_i \star \xi_j</M>.
The <C>WhiteheadOrder</C> of a regular derivation <M>\chi</M>
is the smallest power of <M>\chi</M>, using this product,
equal to the <Ref Oper="IdentityDerivation"/>.
</Description>
</ManSection>
<P/>
<Section Label="sect-whitehead-monoids">
<Heading>Whitehead Monoids and Groups</Heading>
As mentioned at the beginning of this chapter,
the Whitehead monoid <M>{\rm Der}(\calX)</M> of <M>\calX</M>
is the monoid of all derivations from <M>R</M> to <M>S</M>.
Monoids of derivations have representation
<C>IsMonoidOfUp2DimensionalMappingsObj</C>.
<Index>IsMonoidOfUp2DimensionalMappingsObj</Index>
Multiplication tables for Whitehead monoids
enable the construction of transformation representations.
<ManSection>
<Attr Name="AllDerivations"
Arg="X0" />
<Attr Name="ImagesList"
Arg="obj" />
<Attr Name="DerivationClass"
Arg="mon" />
<Attr Name="ImagesTable"
Arg="obj" />
<Description>
Using our example <C>X3</C>
we find that there are just nine derivations.
Here <C>AllDerivations</C> returns a collection of up mappings
with attributes:
<List>
<Item>
<C>Object2d</C> - the crossed modules <M>\calX</M>;
</Item>
<Item>
<C>ImagesList</C> - a list, for each derivation, of the images
of the generators of the range group;
</Item>
<Item>
<C>DerivationClass</C> - the string "all"; other classes include"regular"
and "principal";
</Item>
<Item>
<C>ImagesTable</C> - this is a table whose <M>[i,j]</M>-th entry
is the position in the list of elements of <M>S</M> of the image
under the <M>i</M>-th derivation of the <M>j</M>-th element of <M>R</M>.
</Item>
</List>
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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 ]
]]>
</Example>
<ManSection>
<Attr Name="WhiteheadMonoidTable"
Arg="X0" />
<Attr Name="WhiteheadTransformationMonoid"
Arg="X0" />
<Description>
The <C>WhiteheadMonoidTable</C> of <M>\calX</M> is the multiplication
table whose <M>[i,j]</M>-th entry is the position <M>k</M> in the list of
derivations of the Whitehead product <M>\chi_i*\chi_j = \chi_k</M>.
<P/>
Using the rows of the table as transformations, we may construct the
<C>WhiteheadTransformationMonoid</C> of <M>\calX</M>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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 ] ) ]
]]>
</Example>
<ManSection>
<Attr Name="RegularDerivations"
Arg="X0" />
<Attr Name="WhiteheadGroupTable"
Arg="X0" />
<Attr Name="WhiteheadPermGroup"
Arg="X0" />
<Prop Name="IsWhiteheadPermGroup"
Arg="G" />
<Attr Name="WhiteheadRegularGroup"
Arg="X0" />
<Attr Name="WhiteheadGroupIsomorphism"
Arg="X0" />
<Description>
<C>RegularDerivations</C> 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
<C>WhiteheadPermGroup</C> <M>W\calX</M> of <M>\calX</M>.
This group satisfies the property <C>IsWhiteheadPermGroup</C>.
and <M>\calX</M> is its attribute <C>Object2d</C>.
<P/>
Of the nine derivations of <C>X3</C> just six are regular.
The associated group is isomorphic to the symmetric group <C>s3</C>.
<P/>
Taking the rows of the <C>WhiteheadGroupTable</C> as permutations,
we may construct the <C>WhiteheadRegularGroup</C> of <M>\calX</M>.
Then, seeking a <C>SmallerDegreePermutationRepresentation</C>,
we obtain the <C>WhiteheadGroupIsomorphism</C> whose image is the
<C>WhiteheadPermGroup</C> of <M>\calX</M>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ] ]
]]>
</Example>
<ManSection>
<Attr Name="PrincipalDerivations"
Arg="X0" />
<Attr Name="PrincipalDerivationSubgroup"
Arg="X0" />
<Attr Name="WhiteheadHomomorphism"
Arg="X0" />
<Description>
The principal derivations form a subgroup of the Whitehead group.
The <C>PrincipalDerivationSubgroup</C> is the corresponding subgroup
of the <C>WhiteheadPermGroup</C>.
<P/>
The Whitehead homomorphism <M>\eta : S \to W\calX, s \mapsto \eta_s</M>
for <M>\calX</M> maps the source group of <M>\calX</M>
to the Whitehead group of <M>\calX</M>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ]
]]>
</Example>
<B>Exercise:</B><M>~</M>
Use the two crossed module axioms to show that
<M>\eta_{s_1} \star \eta_{s_2} = \eta_{s_1s_2}</M>.
</Section>
<Section Label="sect-derivation-endo">
<Heading>Endomorphisms determined by a derivation</Heading>
<ManSection>
<Oper Name="SourceEndomorphism"
Arg="chi" />
<Description>
A derivation <M>\chi</M> of <M>\calX = (\partial : S \to R)</M>
determines an endomorphism
<M>\sigma_{\chi} : S \to S,~ s \mapsto s(\chi \partial s)</M>.
We may verify that <M>\sigma_{\chi}</M> is a homomorphism by:
<Display>
\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).
</Display>
</Description>
</ManSection>
<P/>
<ManSection>
<Oper Name="Object2dEndomorphism"
Arg="chi" />
<Description>
A derivation <M>\chi</M> of <M>\calX = (\partial : S \to R)</M>
determines an endomorphism <M>\alpha_{\chi} : \calX \to \calX</M>
whose source and range endomorphisms are given by
the previous two operations.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ]
]]>
</Example>
</Section>
<Section Label="sect-whitehead-cat1">
<Heading>Whitehead groups for cat<M>^1</M>-groups</Heading>
<ManSection>
<Attr Name="AllSections"
Arg="C0" />
<Attr Name="RegularSections"
Arg="C0" />
<Description>
These operations are currently obtained by running the equivalent
operation for derivations and then converting the result to sections.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
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) ]
]]>
</Example>
</Section>
</Chapter>
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.