Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346<!-- ------------------------------------------------------------------- -->1<!-- -->2<!-- gp2up.xml XMod documentation Chris Wensley -->3<!-- & Murat Alp -->4<!-- Copyright (C) 2001-2017, Chris Wensley et al, -->5<!-- School of Computer Science, Bangor University, U.K. -->6<!-- -->7<!-- ------------------------------------------------------------------- -->89<?xml version="1.0" encoding="UTF-8"?>1011<Chapter Label="chap-gp2up">12<Heading>Derivations and Sections</Heading>13<Index>up 2d-mapping of 2d-group</Index>1415<Section Label="sect-whitehead-mult">16<Heading>Whitehead Multiplication</Heading>17<Index>Whitehead multiplication</Index>1819<ManSection>20<Prop Name="IsDerivation"21Arg="map" />22<Prop Name="IsSection"23Arg="map" />24<Prop Name="IsUp2DimensionalMapping"25Arg="map" />26<Description>27<Index>derivation, of crossed module</Index>28<Index>Whitehead monoid</Index>29The Whitehead monoid <M>{\rm Der}(\mathcal{X})</M> of <M>\mathcal{X}</M>30was defined in <Cite Key="W2" /> to be the monoid of all <E>derivations</E>31from <M>R</M> to <M>S</M>, that is the set of all maps32<M>\chi : R \to S</M>, with <E>Whitehead multiplication</E>33<M>\star</M> (on the <E>right</E>) satisfying:34<Display>35{\bf Der\ 1}: \chi(qr) ~=~ (\chi q)^{r} \; (\chi r),36\qquad37{\bf Der\ 2}: (\chi_1 \star \chi_2)(r)38~=~ (\chi_2 r)(\chi_1 r)(\chi_2 \partial \chi_1 r).39</Display>40The zero map is the identity for this composition.41<Index>regular derivation</Index>42Invertible elements in the monoid are called <E>regular</E>.43<Index>Whitehead group</Index>44The Whitehead group of <M>\mathcal{X}</M>45is the group of regular derivations in <M>{\rm Der}(\mathcal{X} )</M>.46In the next chapter the <E>actor</E> of <M>\mathcal{X}</M>47is defined as a crossed module whose source and range are permutation48representations of the Whitehead group and the automorphism group of49<M>\mathcal{X}</M>.50<P/>51<Index>section, of cat1-group</Index>52The construction for cat1-groups equivalent to the derivation of a53crossed module is the <E>section</E>.54<Index>Whitehead multiplication</Index>55The monoid of sections of <M>\mathcal{C} = (e;t,h : G \to R)</M>56is the set of group homomorphisms57<M>\xi : R \to G</M>, with Whitehead multiplication <M>\star</M>58(on the <E>right</E>) satisfying:59<Display>60{\bf Sect\ 1}: t \circ \xi ~=~ {\rm id}_R,61\quad62{\bf Sect\ 2}: (\xi_1 \star \xi_2)(r)63~=~ (\xi_1 r)(e h \xi_1 r)^{-1}(\xi_2 h \xi_1 r)64~=~ (\xi_2 h \xi_1 r)(e h \xi_1 r)^{-1}(\xi_1 r).65</Display>66The embedding <M>e</M> is the identity for this composition,67and <M>h(\xi_1 \star \xi_2) = (h \xi_1)(h \xi_2)</M>.68A section is <E>regular</E> when <M>h \xi</M> is an automorphism, and69the group of regular sections is isomorphic to the Whitehead group.70<P/>71If <M>\epsilon</M> denotes the inclusion of72<M>S = {\rm ker} t</M> in <M>G</M>73then <M>\partial = h \epsilon : S \to R</M> and74<Display>75\xi r ~=~ (e r)(e \chi r),76\quad\mbox{which equals}\quad77(r, \chi r) ~\in~ R \ltimes S,78</Display>79determines a section <M>\xi</M> of <M>\mathcal{C}</M>80in terms of the corresponding derivation <M>\chi</M> of81<M>\mathcal{X}</M>, and conversely.82</Description>83</ManSection>848586<ManSection>87<Oper Name="DerivationByImages"88Arg="X0 ims" />89<Description>90Derivations are stored like group homomorphisms by specifying the images91of a generating set.92Images of the remaining elements may then be obtained using axiom93<M>{\bf Der\ 1}</M>.94The function <C>IsDerivation</C> is automatically called to95check that this procedure is well-defined.96<P/>97In the following example a cat1-group <C>C3</C> and the associated98crossed module <C>X3</C> are constructed,99where <C>X3</C> is isomorphic to the inclusion of the normal100cyclic group <C>c3</C> in the symmetric group <C>s3</C>.101</Description>102</ManSection>103<P/>104<Example>105<![CDATA[106gap> g18 := Group( (1,2,3), (4,5,6), (2,3)(5,6) );;107gap> SetName( g18, "g18" );108gap> gen18 := GeneratorsOfGroup( g18 );;109gap> g1 := gen18[1];; g2 := gen18[2];; g3 := gen18[3];;110gap> s3 := Subgroup( g18, gen18{[2..3]} );;111gap> SetName( s3, "s3" );;112gap> t := GroupHomomorphismByImages( g18, s3, gen18, [g2,g2,g3] );;113gap> h := GroupHomomorphismByImages( g18, s3, gen18, [(),g2,g3] );;114gap> e := GroupHomomorphismByImages( s3, g18, [g2,g3], [g2,g3] );;115gap> C3 := Cat1( t, h, e );116[g18=>s3]117gap> SetName( Kernel(t), "c3" );;118gap> X3 := XModOfCat1( C3 );;119gap> Display( X3 );120Crossed module [c3->s3] :-121: Source group has generators:122[ (1,2,3)(4,6,5) ]123: Range group has generators:124[ (4,5,6), (2,3)(5,6) ]125: Boundary homomorphism maps source generators to:126[ (4,6,5) ]127: Action homomorphism maps range generators to automorphisms:128(4,5,6) --> { source gens --> [ (1,2,3)(4,6,5) ] }129(2,3)(5,6) --> { source gens --> [ (1,3,2)(4,5,6) ] }130These 2 automorphisms generate the group of automorphisms.131: associated cat1-group is [g18=>s3]132133gap> imchi := [ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ];;134gap> chi := DerivationByImages( X3, imchi );135DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],136[ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ] )137]]>138</Example>139140<ManSection>141<Oper Name="SectionByImages"142Arg="C ims" />143<Oper Name="SectionByDerivation"144Arg="chi" />145<Oper Name="DerivationBySection"146Arg="xi" />147<Description>148Sections <E>are</E> group homomorphisms,149so do not need a special representation.150Operations <C>SectionByDerivation</C> and <C>DerivationBySection</C>151convert derivations to sections, and vice-versa,152calling <C>Cat1OfXMod</C> and <C>XModOfCat1</C> automatically.153<P/>154Two strategies for calculating derivations and sections are implemented,155see <Cite Key="AW1" />.156The default method for <C>AllDerivations</C> is to search for all possible157sets of images using a backtracking procedure, and when all the derivations158are found it is not known which are regular.159In early versions of this package, the default method for160<C>AllSections( <C> )</C> was to compute all endomorphisms161on the range group <C>R</C> of <C>C</C> as possibilities162for the composite <M>h \xi</M>.163A backtrack method then found possible images for such a section.164In the current version the derivations of the associated crossed module165are calculated, and these are all converted to sections166using <C>SectionByDerivation</C>.167</Description>168</ManSection>169<P/>170<Example>171<![CDATA[172gap> xi := SectionByDerivation( chi );173SectionByImages( s3, g18, [ (4,5,6), (2,3)(5,6) ], [ (1,2,3), (1,2)(4,6) ] )174]]>175</Example>176</Section>177178179180<Section><Heading>Whitehead Groups and Monoids</Heading>181182<ManSection>183<Attr Name="RegularDerivations"184Arg="X0" />185<Attr Name="AllDerivations"186Arg="X0" />187<Attr Name="RegularSections"188Arg="C0" />189<Attr Name="AllSections"190Arg="C0" />191<Attr Name="ImagesList"192Arg="obj" />193<Attr Name="ImagesTable"194Arg="obj" />195<Description>196There are two functions to determine the elements of the Whitehead group197and the Whitehead monoid of a crossed module,198namely <C>RegularDerivations</C> and <C>AllDerivations</C>.199(The functions <C>RegularSections</C> and <C>AllSections</C>200perform corresponding tasks for a cat1-group.)201<P/>202Using our example <C>X3</C>203we find that there are just nine derivations.204(In fact, six of them regular, as we shall see in the next section.205The associated group is isomorphic to the symmetric group <C>s3</C>.)206</Description>207</ManSection>208<P/>209<Example>210<![CDATA[211gap> all3 := AllDerivations( X3 );;212gap> imall3 := ImagesList( all3 );;213gap> PrintListOneItemPerLine( imall3 );214[ [ (), () ],215[ (), (1,3,2)(4,5,6) ],216[ (), (1,2,3)(4,6,5) ],217[ (1,3,2)(4,5,6), () ],218[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ],219[ (1,3,2)(4,5,6), (1,2,3)(4,6,5) ],220[ (1,2,3)(4,6,5), () ],221[ (1,2,3)(4,6,5), (1,3,2)(4,5,6) ],222[ (1,2,3)(4,6,5), (1,2,3)(4,6,5) ]223]224gap> KnownAttributesOfObject( all3 );225[ "Object2d", "ImagesList", "AllOrRegular", "ImagesTable" ]226gap> PrintListOneItemPerLine( ImagesTable( all3 ) );227[ [ 1, 1, 1, 1, 1, 1 ],228[ 1, 1, 1, 3, 3, 3 ],229[ 1, 1, 1, 2, 2, 2 ],230[ 1, 3, 2, 1, 3, 2 ],231[ 1, 3, 2, 3, 2, 1 ],232[ 1, 3, 2, 2, 1, 3 ],233[ 1, 2, 3, 1, 2, 3 ],234[ 1, 2, 3, 3, 1, 2 ],235[ 1, 2, 3, 2, 3, 1 ]236]237]]>238</Example>239240241<ManSection>242<Oper Name="CompositeDerivation"243Arg="chi1 chi2" />244<Attr Name="UpImagePositions"245Arg="chi" />246<Attr Name="UpGeneratorImages"247Arg="chi" />248<Oper Name="CompositeSection"249Arg="xi1 xi2" />250<Description>251The Whitehead product <M>\chi_1 \star \chi_2</M> is implemented as252<C>CompositeDerivation(<chi1>,<chi2>)</C>.253The composite of two sections is just the composite of homomorphisms.254</Description>255</ManSection>256<P/>257<Example>258<![CDATA[259gap> reg3 := RegularDerivations( X3 );;260gap> imder3 := ImagesList( reg3 );; Length( imder3 );2616262gap> chi4 := DerivationByImages( X3, imder3[4] );263DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (1,3,2)(4,5,6), () ] )264gap> chi5 := DerivationByImages( X3, imder3[5] );265DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ],266[ (1,3,2)(4,5,6), (1,3,2)(4,5,6) ] )267gap> im4 := UpImagePositions( chi4 );268[ 1, 3, 2, 1, 3, 2 ]269gap> im5 := UpImagePositions( chi5 );270[ 1, 3, 2, 3, 2, 1 ]271gap> chi45 := chi4 * chi5;272DerivationByImages( s3, c3, [ (4,5,6), (2,3)(5,6) ], [ (), (1,3,2)(4,5,6) ] )273gap> im45 := UpImagePositions( chi45 );274[ 1, 1, 1, 3, 3, 3 ]275gap> Position( imder3, UpGeneratorImages( chi45 ) );2762277]]>278</Example>279280<ManSection>281<Attr Name="WhiteheadGroupTable"282Arg="X0" />283<Attr Name="WhiteheadMonoidTable"284Arg="X0" />285<Attr Name="WhiteheadPermGroup"286Arg="X0" />287<Attr Name="WhiteheadTransMonoid"288Arg="X0" />289<Description>290Multiplication tables for the Whitehead group or monoid291enable the construction of permutation or transformation representations.292</Description>293</ManSection>294<P/>295<Example>296<![CDATA[297gap> wgt3 := WhiteheadGroupTable( X3 );;298gap> PrintListOneItemPerLine( wgt3 );299[ [ 1, 2, 3, 4, 5, 6 ],300[ 2, 3, 1, 5, 6, 4 ],301[ 3, 1, 2, 6, 4, 5 ],302[ 4, 6, 5, 1, 3, 2 ],303[ 5, 4, 6, 2, 1, 3 ],304[ 6, 5, 4, 3, 2, 1 ]305]306gap> wpg3 := WhiteheadPermGroup( X3 );307Group([ (1,2,3)(4,5,6), (1,4)(2,6)(3,5) ])308gap> wmt3 := WhiteheadMonoidTable( X3 );;309gap> PrintListOneItemPerLine( wmt3 );310[ [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ],311[ 2, 3, 1, 5, 6, 4, 8, 9, 7 ],312[ 3, 1, 2, 6, 4, 5, 9, 7, 8 ],313[ 4, 6, 5, 1, 3, 2, 7, 9, 8 ],314[ 5, 4, 6, 2, 1, 3, 8, 7, 9 ],315[ 6, 5, 4, 3, 2, 1, 9, 8, 7 ],316[ 7, 7, 7, 7, 7, 7, 7, 7, 7 ],317[ 8, 8, 8, 8, 8, 8, 8, 8, 8 ],318[ 9, 9, 9, 9, 9, 9, 9, 9, 9 ]319]320gap> wtm3 := WhiteheadTransMonoid( X3 );321<transformation monoid on 9 pts with 3 generators>322gap> GeneratorsOfMonoid( wtm3 );323[ Transformation( [ 2, 3, 1, 5, 6, 4, 8, 9, 7 ] ),324Transformation( [ 4, 6, 5, 1, 3, 2, 7, 9, 8 ] ),325Transformation( [ 7, 7, 7, 7, 7, 7, 7, 7, 7 ] ) ]326]]>327</Example>328329</Section>330331</Chapter>332333334