Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  gp2ind.xml   Sprache: XML

 
<!-- ------------------------------------------------------------------- -->
<!--                                                                     -->
<!--  gp2ind.xml            XMod documentation            Chris Wensley  -->
<!--                                                        & Murat Alp  -->
<!--  Copyright (C) 2001-2025, Chris Wensley et al,                      --> 
<!--                                                                     -->
<!-- ------------------------------------------------------------------- -->

<?xml version="1.0" encoding="UTF-8"?>

<Chapter Label="chap-gp2ind">
<Heading>Induced constructions</Heading>

Before describing general functions for computing induced structures, 
we consider coproducts of crossed modules which provide induced 
crossed modules in certain cases. 


<Section><Heading>Coproducts of crossed modules</Heading>

Need to add here a reference (or two) for coproducts. 

<ManSection>
   <Oper Name="CoproductXMod"
         Arg="X1, X2" />
   <Attr Name="CoproductInfo"
         Arg="X0" />
<Description>
This function calculates the coproduct crossed module of two or more 
crossed modules which have a common range <M>R</M>. 
The standard method applies to 
<M>\calX_1 = (\partial_1 : S_1 \to R)</M> 
and <M>\calX_2 = (\partial_2 : S_2 \to R)</M>. 
See below for the case of three or more crossed modules. 
<P/>
The source <M>S_2</M> of <M>\calX_2</M> acts on <M>S_1</M> 
via <M>\partial_2</M> and the action of <M>\calX_1</M>, 
so we can form a precrossed module 
<M>(\partial' : S_1 \ltimes S_2 \to R)
where <M>\partial'(s_1,s_2) = (\partial_1 s_1)(\partial_2 s_2).
The action of this precrossed module is the diagonal action 
<M>(s_1,s_2)^r = (s_1^r,s_2^r)</M>. 
Factoring out by the Peiffer subgroup, we obtain the coproduct 
crossed module <M>\calX_1 \circ \calX_2</M>. 
<P/>
In the example the structure descriptions of the precrossed module, 
the Peiffer subgroup, and the resulting coproduct are printed out 
when <C>InfoLevel(InfoXMod)</C> is at least <M>1</M>. 
The coproduct comes supplied with attribute <C>CoproductInfo</C>, 
which includes the embedding morphisms of the two factors. 
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
gap> q8 := Group( (1,2,3,4)(5,8,7,6), (1,5,3,7)(2,6,4,8) );;
gap> XAq8 := XModByAutomorphismGroup( q8 );;
gap> s4b := Range( XAq8 );; 
gap> SetName( q8, "q8" );  SetName( s4b, "s4b" ); 
gap> a := q8.1;;  b := q8.2;; 
gap> alpha := GroupHomomorphismByImages( q8, q8, [a,b], [a^-1,b] );;
gap> beta := GroupHomomorphismByImages( q8, q8, [a,b], [a,b^-1] );;
gap> k4b := Subgroup( s4b, [ alpha, beta ] );;  SetName( k4b, "k4b" );
gap> Z8 := XModByNormalSubgroup( s4b, k4b );;
gap> SetName( XAq8, "XAq8" );  SetName( Z8, "Z8" );  
gap> SetInfoLevel( InfoXMod, 1 ); 
gap> XZ8 := CoproductXMod( XAq8, Z8 );
#I  prexmod is [ [ 32, 47 ], [ 24, 12 ] ]
#I  peiffer subgroup is C2, [ 2, 1 ]
#I  the coproduct is [ "C2 x C2 x C2 x C2""S4" ], [ [ 16, 14 ], [ 24, 12 ] ]
[Group( [ f1, f2, f3, f4 ] )->s4b]
gap> SetName( XZ8, "XZ8" ); 
gap> info := CoproductInfo( XZ8 );
rec( embeddings := [ [XAq8 => XZ8], [Z8 => XZ8] ], xmods := [ XAq8, Z8 ] )
gap> SetInfoLevel( InfoXMod, 0 ); 
]]>
</Example>

Given a list of more than two crossed modules with a common range <M>R</M>, 
then an iterated coproduct is formed: 
<Display>
\bigcirc~\left[ \calX_1,\calX_2,\ldots,\calX_n\right] 
    ~=~ \calX_1 \circ (\calX_2 \circ ( \ldots 
        (\calX_{n-1} \circ \calX_n) \ldots ) ). 
</Display>
The <C>embeddings</C> field of the <C>CoproductInfo</C> of the resulting 
crossed module <M>\calY</M> contains the <M>n</M> morphisms 
<M>\epsilon_i : \calX_i \to \calY (1 \leqslant i \leqslant n)</M>. 
<P/>
<Example>
<![CDATA[
gap> Y := CoproductXMod( [ XAq8, XAq8, Z8, Z8 ] );
[Group( [ f1, f2, f3, f4, f5, f6, f7, f8 ] )->s4b]
gap> StructureDescription( Y );          
"C2 x C2 x C2 x C2 x C2 x C2 x C2 x C2""S4" ]
gap> CoproductInfo( Y );
rec( 
  embeddings := 
    [ [XAq8 => [Group( [ f1, f2, f3, f4, f5, f6, f7, f8 ] ) -> s4b]], 
      [XAq8 => [Group( [ f1, f2, f3, f4, f5, f6, f7, f8 ] ) -> s4b]], 
      [Z8 => [Group( [ f1, f2, f3, f4, f5, f6, f7, f8 ] ) -> s4b]], 
      [Z8 => [Group( [ f1, f2, f3, f4, f5, f6, f7, f8 ] ) -> s4b]] ], 
  xmods := [ XAq8, XAq8, Z8, Z8 ] )
]]>
</Example>


</Section>


<Section><Heading>Induced crossed modules</Heading>
<Index>induced crossed module</Index>

<ManSection>
   <Func Name="InducedXMod"
         Arg="args" />
   <Prop Name="IsInducedXMod"
         Arg="xmod" />
   <Oper Name="InducedXModBySurjection"
         Arg="xmod, hom" />
   <Oper Name="InducedXModByCopower"
         Arg="xmod, hom, list" />
   <Attr Name="MorphismOfInducedXMod"
         Arg="xmod" />
<Description>
A morphism of crossed modules
<M>(\sigma, \rho) : \calX_1 \to \calX_2</M>
factors uniquely through an induced crossed module
<M>\rho_{\ast} \calX_1 = (\delta  :  \rho_{\ast} S_1 \to R_2)</M>.
Similarly, a morphism of cat<M>^1</M>-groups 
factors through an induced cat<M>^1</M>-group.
Calculation of induced crossed modules of <M>\calX</M> also
provides an algebraic means of determining the homotopy <M>2</M>-type
of homotopy pushouts of the classifying space of <M>\calX</M>.
For more background from algebraic topology see references in
<Cite Key="BH1" />, <Cite Key="BW1" />, <Cite Key="BW2" />.
Induced crossed modules and induced cat<M>^1</M>-groups also provide the
building blocks for constructing pushouts in the categories
<E>XMod</E> and <E>Cat1</E>.
<P/>
Data for the cases of algebraic interest is provided by a 
crossed module  <M>\calX = (\partial  :  S \to R)</M>
and a homomorphism  <M>\iota : R \to Q</M>. 
The output from the calculation is a crossed module
<M>\iota_{\ast}\calX = (\delta  :  \iota_{\ast}S \to Q)</M>
together with a morphism of crossed modules
<M>\calX \to \iota_{\ast}\calX</M>.
When <M>\iota</M> is a surjection with kernel <M>K</M> then
<M>\iota_{\ast}S = S/[K,S]</M> where <M>[K,S]</M> 
is the subgroup of <M>S</M> generated by elements of the form 
<M>s^{-1}s^k, s \in S, k \in K</M>  
(see <Cite Key="BH1" />, Prop.9). 
(For many years, up until June 2018, this manual has stated the result to be 
<M>[K,S]</M>, though the correct quotient had been calculated.) 
When <M>\iota</M> is an inclusion the induced crossed module may be
calculated using a copower construction <Cite Key="BW1" /> or,
in the case when <M>R</M> is normal in <M>Q</M>, 
as a coproduct of crossed modules 
(<Cite Key="BW2" />, but not yet implemented).
When <M>\iota</M> is neither a surjection nor an inclusion, <M>\iota</M>
is factored as the composite of the surjection onto the image
and the inclusion of the image in <M>Q</M>, and then the composite induced
crossed module is constructed.
These constructions use Tietze transformation routines in 
the library file <C>tietze.gi</C>.
<P/>
As a first, surjective example, we take for <M>\calX</M> 
a central extension crossed module of dihedral groups, 
<M>(d_{24} \to d_{12})</M>,
and for <M>\iota</M> a surjection <M>d_{12} \to s_3</M> 
with kernel <M>c_2</M>.  
The induced crossed module is isomorphic to <M>(d_{12} \to s_3)</M>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
gap> a := (6,7,8,9)(10,11,12);;  b := (7,9)(11,12);;
gap> d24 := Group( [ a, b ] );;
gap> SetName( d24, "d24" );
gap> c := (1,2)(3,4,5);;  d := (4,5);;
gap> d12 := Group( [ c, d ] );;
gap> SetName( d12, "d12" );
gap> bdy := GroupHomomorphismByImages( d24, d12, [a,b], [c,d] );;
gap> X24 := XModByCentralExtension( bdy );
[d24->d12]
gap> e := (13,14,15);;  f := (14,15);;
gap> s3 := Group( [ e, f ] );;
gap> SetName( s3, "s3" );;
gap> epi := GroupHomomorphismByImages( d12, s3, [c,d], [e,f] );;
gap> iX24 := InducedXModBySurjection( X24, epi );
[d24/ker->s3]
gap> Display( iX24 );               
Crossed module [d24/ker->s3] :- 
: Source group d24/ker has generators:
  [ ( 1,11, 5, 4,10, 8)( 2,12, 6, 3, 9, 7), 
  ( 1, 2)( 3, 4)( 5, 9)( 6,10)( 7,11)( 8,12) ]
: Range group s3 has generators:
  [ (13,14,15), (14,15) ]
: Boundary homomorphism maps source generators to:
  [ (13,14,15), (14,15) ]
: Action homomorphism maps range generators to automorphisms:
  (13,14,15) --> { source gens --> [ ( 1,11, 5, 4,10, 8)( 2,12, 6, 3, 9, 7), 
  ( 1, 6)( 2, 5)( 3, 8)( 4, 7)( 9,10)(11,12) ] }
  (14,15) --> { source gens --> [ ( 1, 8,10, 4, 5,11)( 2, 7, 9, 3, 6,12), 
  ( 1, 2)( 3, 4)( 5, 9)( 6,10)( 7,11)( 8,12) ] }
  These 2 automorphisms generate the group of automorphisms.
gap> morX24 := MorphismOfInducedXMod( iX24 );
[[d24->d12] => [d24/ker->s3]]
]]>
</Example>

For a second, injective example we take for <M>\calX</M> 
the result <C>iX24</C> of the previous example
and for <M>\iota</M> an inclusion of <M>s_3</M> in <M>s_4</M>. 
The resulting source group has size <M>96</M>. 
<P/>
<Example>
<![CDATA[
gap> g := (16,17,18);;  h := (16,17,18,19);;
gap> s4 := Group( [ g, h ] );;
gap> SetName( s4, "s4" );;
gap> iota := GroupHomomorphismByImages( s3, s4, [e,f], [g^2*h^2,g*h^-1] );
[ (13,14,15), (14,15) ] -> [ (17,18,19), (18,19) ]
gap> iiX24 := InducedXModByCopower( iX24, iota, [ ] );
i*([d24/ker->s3])
gap> Size2d( iiX24 );               
[ 96, 24 ]
gap> StructureDescription( iiX24 );
"C2 x GL(2,3)""S4" ]
]]>
</Example>

For a third example we combine the previous two examples by 
taking for <M>\iota</M> the more general case <C>alpha = theta*iota</C>.
The resulting <C>jX24</C> is isomorphic to, 
but not identical to, <C>iiX24</C>.
<P/>
<Example>
<![CDATA[
gap> alpha := CompositionMapping( iota, epi );
[ (1,2)(3,4,5), (4,5) ] -> [ (17,18,19), (18,19) ]
gap> jX24 := InducedXMod( X24, alpha );;
gap> StructureDescription( jX24 );
"C2 x GL(2,3)""S4" ]
]]>
</Example>

For a fourth example we use the version <C>InducedXMod(Q,R,S)</C> 
of this global function, with a normal inclusion crossed module 
<M>(S \to R)</M> and an inclusion mapping <M>R \to Q</M>.
We take <M>(c_6 \to d_{12})</M> as <M>\calX</M> 
and the inclusion of <M>d_{12}</M> in <M>d_{24}</M> as <M>\iota</M>.
<P/>
<Example>
<![CDATA[
## Section 7.2.1 : Example 4 
gap> d12b := Subgroup( d24, [ a^2, b ] );;
gap> SetName( d12b, "d12b" ); 
gap> c6b := Subgroup( d12b, [ a^2 ] );; 
gap> SetName( c6b, "c6b" );  
gap> X12 := InducedXMod( d24, d12b, c6b );
i*([c6b->d12b])
gap> StructureDescription( X12 );
"C6 x C6""D24" ]
gap> Display( MorphismOfInducedXMod( X12 ) );
Morphism of crossed modules :- 
: Source = [c6b->d12b] with generating sets:
  [ ( 6, 8)( 7, 9)(10,12,11) ]
  [ ( 6, 8)( 7, 9)(10,12,11), ( 7, 9)(11,12) ]
:  Range = i*([c6b->d12b]) with generating sets:
  [ ( 4, 5)( 6, 7)( 8, 9)(10,11)(12,13)(14,15), 
  ( 4, 6, 8)( 5, 7, 9)(10,12,14)(11,13,15), 
  ( 4,10)( 5,11)( 6,12)( 7,13)( 8,14)( 9,15), (1,2,3) ]
  [ ( 6, 7, 8, 9)(10,11,12), ( 7, 9)(11,12) ]
: Source Homomorphism maps source generators to:
  [ ( 4, 9, 6, 5, 8, 7)(10,15,12,11,14,13) ]
: Range Homomorphism maps range generators to:
  [ ( 6, 8)( 7, 9)(10,12,11), ( 7, 9)(11,12) ]
#]]>
</Example>

<ManSection>
   <Oper Name="AllInducedXMods"
         Arg="Q" />
<Description>
This function calculates all the induced crossed modules 
<C>InducedXMod(Q,R,S)</C>, 
where <C>R</C> runs over all conjugacy classes of subgroups of <C>Q</C> 
and <C>S</C> runs over all non-trivial normal subgroups of <C>R</C>.
</Description>
</ManSection>
<Example>
<![CDATA[
gap> all := AllInducedXMods( q8 );;
gap> L := List( all, x -> Source( x ) );;
gap> Sort( L, function(g,h) return Size(g) < Size(h); end );;
gap> List( L, x -> StructureDescription( x ) );
"1""1""1""1""C2 x C2""C2 x C2""C2 x C2""C4 x C4""C4 x C4"
  "C4 x C4""C2 x C2 x C2 x C2" ]
]]>
</Example>

</Section>

<Section><Heading>Induced cat<M>^1</M>-groups</Heading>
<Index>induced cat1-groups</Index>

<ManSection>
   <Func Name="InducedCat1Group"
         Arg="args" />
   <Prop Name="InducedCat1GroupByFreeProduct"
         Arg="grp, hom" />
<Description>
This area awaits development. 
</Description>
</ManSection>

</Section>

</Chapter>

91%


¤ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge