Induced Constructions
Induced crossed modules
induced crossed module
A morphism of crossed modules (\sigma, \rho) : {\cal X}_1 \to {\cal X}_2 factors uniquely through an induced crossed module \rho_{\ast} {\cal X}_1 = (\delta ~:~ \rho_{\ast} S_1 \to R_2). Similarly, a morphism of cat1-groups factors through an induced cat1-group. Calculation of induced crossed modules of {\cal X} also provides an algebraic means of determining the homotopy 2-type of homotopy pushouts of the classifying space of {\cal X}. For more background from algebraic topology see references in \cite{BH1}, \cite{BW1}, \cite{BW2}. Induced crossed modules and induced cat1-groups also provide the building blocks for constructing pushouts in the categories XMod and Cat1.

Data for the cases of algebraic interest is provided by a conjugation crossed module {\cal X} = (\partial ~:~ S \to R) and a homomorphism \iota from R to a third group Q. The output from the calculation is a crossed module \iota_{\ast}{\cal X} = (\delta ~:~ \iota_{\ast}S \to Q) together with a morphism of crossed modules {\cal X} \to \iota_{\ast}{\cal X}. When \iota is a surjection with kernel K then \iota_{\ast}S = [S,K] (see \cite{BH1}). When \iota is an inclusion the induced crossed module may be calculated using a copower construction \cite{BW1} or, in the case when R is normal in Q, as a coproduct of crossed modules (\cite{BW2}, but not yet implemented). When \iota is neither a surjection nor an inclusion, \iota is written as the composite of the surjection onto the image and the inclusion of the image in Q, and then the composite induced crossed module is constructed. These constructions use Tietze transformation routines in the library file tietze.gi.

As a first, surjective example, we take for {\cal X} the normal inclusion crossed module of a4 in s4, and for \iota the surjection from s4 to s3 with kernel k4. The induced crossed module is isomorphic to X3.
gap> s4gens := [ (1,2), (2,3), (3,4) ];; gap> s4 := Group( s4gens );; SetName(s4,"s4"); gap> a4gens := [ (1,2,3), (2,3,4) ];; gap> a4 := Subgroup( s4, a4gens );; SetName( a4, "a4" ); gap> s3 := Group( (5,6),(6,7) );; SetName( s3, "s3" ); gap> epi := GroupHomomorphismByImages( s4, s3, s4gens, [(5,6),(6,7),(5,6)] );; gap> X4 := XModByNormalSubgroup( s4, a4 );; gap> indX4 := SurjectiveInducedXMod( X4, epi ); [a4/ker->s3] gap> morX4 := MorphismOfInducedXMod( indX4 ); [[a4->s4] => [a4/ker->s3]]

For a second, injective example we take for {\cal X} the conjugation crossed module (\partial ~:~ c4 \to d8) of Chapter 3, and for \iota the inclusion incd8 of d8 in d16. The induced crossed module has c4 \times c4 as source.

gap> incd8 := RangeHom( inc8 );; gap> [ Source(incd8), Range(incd8), IsInjective(incd8) ]; [ d8, d16, true ] gap> indX8 := InducedXMod( X8, incd8 ); #I Simplified presentation for induced group :- <presentation with 2 gens and 3 rels of total length 12> #I generators: [ f11, f14 ] #I relators: #I 1. 4 [ 1, 1, 1, 1 ] #I 2. 4 [ 2, 2, 2, 2 ] #I 3. 4 [ 2, -1, -2, 1 ] #I induced group has Size: 16 #I factor 1 is abelian with invariants: [ 4, 4 ] i*([c4->d8]) gap> Display( indX8 ); Crossed module i*([c4->d8]) :- : Source group has generators: [ ( 1, 2, 6, 3)( 4, 7,12, 9)( 5, 8,13,10)(11,14,16,15), ( 1, 4,11, 5)( 2, 7,14, 8)( 3, 9,15,10)( 6,12,16,13) ] : Range group d16 has generators: [ (11,12,13,14,15,16,17,18), (12,18)(13,17)(14,16) ] : Boundary homomorphism maps source generators to: [ (11,13,15,17)(12,14,16,18), (11,17,15,13)(12,18,16,14) ] : Action homomorphism maps range generators to automorphisms: (11,12,13,14,15,16,17,18) --> { source gens --> [ ( 1, 5,11, 4)( 2, 8,14, 7)( 3,10,15, 9)( 6,13,16,12), ( 1, 3, 6, 2)( 4, 9,12, 7)( 5,10,13, 8)(11,15,16,14) ] } (12,18)(13,17)(14,16) --> { source gens --> [ ( 1, 3, 6, 2)( 4, 9,12, 7)( 5,10,13, 8)(11,15,16,14), ( 1, 5,11, 4)( 2, 8,14, 7)( 3,10,15, 9)( 6,13,16,12) ] } These 2 automorphisms generate the group of automorphisms. gap> morX8 := MorphismOfInducedXMod( indX8 ); [[c4->d8] => i*([c4->d8])] gap> Display( morX8 ); Morphism of crossed modules :- : Source = [c4->d8] with generating sets: [ (11,13,15,17)(12,14,16,18) ] [ (11,13,15,17)(12,14,16,18), (12,18)(13,17)(14,16) ] : Range = i*([c4->d8]) with generating sets: [ ( 1, 2, 6, 3)( 4, 7,12, 9)( 5, 8,13,10)(11,14,16,15), ( 1, 4,11, 5)( 2, 7,14, 8)( 3, 9,15,10)( 6,12,16,13) ] [ (11,12,13,14,15,16,17,18), (12,18)(13,17)(14,16) ] : Source Homomorphism maps source generators to: [ ( 1, 2, 6, 3)( 4, 7,12, 9)( 5, 8,13,10)(11,14,16,15) ] : Range Homomorphism maps range generators to: [ (11,13,15,17)(12,14,16,18), (12,18)(13,17)(14,16) ]

For a third example we take the identity mapping on s3 as boundary, and the inclusion of s3 in s4 as iota. The induced group is a general linear group GL(2,3).

gap> s3b := Subgroup( s4, [ (2,3), (3,4) ] );; SetName( s3b, "s3b" ); gap> indX3 := InducedXMod( s4, s3b, s3b ); #I Simplified presentation for induced group :- <presentation with 2 gens and 4 rels of total length 33> #I generators: [ f11, f112 ] #I relators: #I 1. 2 [ 1, 1 ] #I 2. 3 [ 2, 2, 2 ] #I 3. 12 [ 1, -2, 1, 2, 1, 2, 1, -2, 1, 2, 1, 2 ] #I 4. 16 [ -2, 1, -2, 1, -2, 1, -2, 1, -2, 1, -2, 1, -2, 1, -2, 1 ] #I induced group has Size: 48 #I IdGroup = [ [ 48, 29 ] ] i*([s3b->s3b]) gap> isoX3 := IsomorphismGroups( Source( indX3 ), GeneralLinearGroup(2,3) ); [ (1,2)(4,5)(6,8), (2,3,4)(5,6,7) ] -> [ [ [ Z(3)^0, 0*Z(3) ], [ Z(3), Z(3) ] ], [ [ Z(3)^0, Z(3)^0 ], [ 0*Z(3), Z(3)^0 ] ] ]
This function calculates all the induced crossed modules InducedXMod( Q, P, M ), where P runs over all conjugacy classes of subgroups of Q and M runs over all non-trivial subgroups of P.