%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%W  induce2.tex                XMOD documentation               Chris Wensley
%W                                                                & Murat Alp
%%
%H  $Id: induce2.tex,v 2.006 2004/09/06 gap Exp $
%%
%Y  Copyright (C) 1999,2001 University of St. Andrews, North Haugh,
%Y                          St. Andrews, Fife KY16 9SS, Scotland
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Chapter{Induced Constructions}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\Section{Induced crossed modules}

\> IsInducedXMod( <xmod> ) P
\> IsInducedCat1( <cat1> ) P
\> InducedXMod( <args> ) F
\> InducedCat1( <args> ) F
\> MorphismOfInducedXMod( <xmod> ) A

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

\beginexample
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]]
\endexample

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.

\beginexample
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) ]
\endexample

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)'.

\beginexample
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 ] ] ]
\endexample

\> AllInducedXMods( <Q> ) O

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
%E
