Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 3515

gap-system-4.4.12-5mdv2010.0.i586.rpm

  
  3 2d-mappings
  
  
  3.1 Morphisms of 2d-objects
  
  This    chapter   describes   morphisms   of   (pre-)crossed   modules   and
  (pre-)cat1-groups.
  
  3.1-1 Source
  
  > Source( map ) ___________________________________________________attribute
  > Range( map ) ____________________________________________________attribute
  > SourceHom( map ) ________________________________________________attribute
  > RangeHom( map ) _________________________________________________attribute
  
  Morphisms  of  2dObjects are implemented as 2dMappings. These have a pair of
  2d-objects  as  source  and  range,  together  with  two group homomorphisms
  mapping  between  corresponding  source  and  range  groups. These functions
  return fail when invalid data is supplied.
  
  
  3.2 Morphisms of pre-crossed modules
  
  3.2-1 IsXModMorphism
  
  > IsXModMorphism( map ) ____________________________________________property
  > IsCat1Morphism( map ) ____________________________________________property
  > IsPreXModMorphism( map ) _________________________________________property
  > IsPreCat1Morphism( map ) _________________________________________property
  
  A  morphism between two pre-crossed modules $\mathcal{X}_{1} = (\partial_1 :
  S_1  \to  R_1)$ and $\mathcal{X}_{2} = (\partial_2 : S_2 \to R_2)$ is a pair
  $(\sigma,  \rho)$,  where  $\sigma  :  S_1 \to S_2$ and $\rho : R_1 \to R_2$
  commute with the two boundary maps and are morphisms for the two actions:
  
  
       \partial_2 \sigma = \rho \partial_1, \qquad \sigma(s^r) = (\sigma
       s)^{\rho r}.
  
  
  Thus   $\sigma$   is   the  SourceHom  and  $\rho$  is  the  RangeHom.  When
  $\mathcal{X}_{1}  =  \mathcal{X}_{2}$ and $ \sigma, \rho $ are automorphisms
  then  $(\sigma,  \rho)$  is an automorphism of $\mathcal{X}_1$. The group of
  automorphisms is denoted by ${\rm Aut}(\mathcal{X}_1 ).$
  
  3.2-2 IsInjective
  
  > IsInjective( map ) _______________________________________________property
  > IsSurjective( map ) ______________________________________________property
  > IsSingleValued( map ) ____________________________________________property
  > IsTotal( map ) ___________________________________________________property
  > IsBijective( map ) _______________________________________________property
  > IsEndomorphism2dObject( map ) ____________________________________property
  > IsAutomorphism2dObject( map ) ____________________________________property
  
  The  usual  properties  of  mappings  are  easily  checked.  It  is  usually
  sufficient  to  verify  that  both  the  SourceHom and the RangeHom have the
  required property.
  
  3.2-3 XModMorphism
  
  > XModMorphism( args ) _____________________________________________function
  > XModMorphismByHoms( X1, X2, sigma, rho ) ________________________operation
  > PreXModMorphism( args ) __________________________________________function
  > PreXModMorphismByHoms( P1, P2, sigma, rho ) _____________________operation
  > InclusionMorphism2dObjects( X1, S1 ) ____________________________operation
  > InnerAutomorphismXMod( X1, r ) __________________________________operation
  > IdentityMapping( X1 ) ___________________________________________attribute
  > IsomorphismPermObject( obj ) _____________________________________function
  
  These are the constructors for morphisms of pre-crossed and crossed modules.
  
  In  the  following example we construct a simple automorphism of the crossed
  module X1 constructed in the previous chapter.
  
  ---------------------------  Example  ----------------------------
    
    gap> sigma1 := GroupHomomorphismByImages( c5, c5, [ (5,6,7,8,9) ]
            [ (5,9,8,7,6) ] );;
    gap> rho1 := IdentityMapping( Range( X1 ) );
    IdentityMapping( PAut(c5) )
    gap> mor1 := XModMorphism( X1, X1, sigma1, rho1 );
    [[c5->PAut(c5))] => [c5->PAut(c5))]] 
    gap> Display( mor1 );
    Morphism of crossed modules :-
    : Source = [c5->PAut(c5))] with generating sets:
      [ (5,6,7,8,9) ]
      [ (1,2,4,3) ]
    : Range = Source
    : Source Homomorphism maps source generators to:
      [ (5,9,8,7,6) ]
    : Range Homomorphism maps range generators to:
      [ (1,2,4,3) ]
    gap> IsAutomorphism2dObject( mor1 );
    true 
    gap> Print( RepresentationsOfObject(mor1), "\n" );
    [ "IsComponentObjectRep", "IsAttributeStoringRep", "Is2dMappingRep" ]
    gap> Print( KnownPropertiesOfObject(mor1), "\n" );
    [ "IsTotal", "IsSingleValued", "IsInjective", "IsSurjective", "Is2dMapping",
      "IsPreXModMorphism", "IsXModMorphism", "IsEndomorphism2dObject",
      "IsAutomorphism2dObject" ]
    gap> Print( KnownAttributesOfObject(mor1), "\n" );
    [ "Name", "Range", "Source", "SourceHom", "RangeHom" ]
    
  ------------------------------------------------------------------
  
  
  3.3 Morphisms of pre-cat1-groups
  
  A  morphism  of pre-cat1-groups from mathcalC_1 = (e_1;t_1,h_1 : G_1 -> R_1)
  to  mathcalC_2  =  (e_2;t_2,h_2  :  G_2 -> R_2) is a pair (gamma, rho) where
  gamma : G_1 -> G_2 and rho : R_1 -> R_2 are homomorphisms satisfying
  
  
       h_2 \gamma = \rho h_1, \qquad t_2 \gamma = \rho t_1, \qquad e_2
       \rho = \gamma e_1.
  
  
  3.3-1 Cat1Morphism
  
  > Cat1Morphism( args ) _____________________________________________function
  > Cat1MorphismByHoms( C1, C2, gamma, rho ) ________________________operation
  > PreCat1Morphism( args ) __________________________________________function
  > PreCat1MorphismByHoms( P1, P2, gamma, rho ) _____________________operation
  > InclusionMorphism2dObjects( C1, S1 ) ____________________________operation
  > InnerAutomorphismCat1( C1, r ) __________________________________operation
  > IdentityMapping( C1 ) ___________________________________________attribute
  > IsmorphismPermObject( obj ) ______________________________________function
  > SmallerDegreePerm2dObject( obj ) _________________________________function
  
  The  global  function  IsomorphismPermObject  calls  IsomorphismPermPreCat1,
  which  constructs  a  morphism  whose  SourceHom and RangeHom are calculated
  using    IsomorphismPermGroup   on   the   source   and   range.   Similarly
  SmallerDegreePermutationRepresentation  is  used on the two groups to obtain
  SmallerDegreePerm2dObject. Names are assigned automatically.
  
  ---------------------------  Example  ----------------------------
    
    gap> iso2 := IsomorphismPermObject( C2 );
    [[s3c4=>s3] => [Ps3c4=>Ps3]]
    gap> Display( iso2 );
    Morphism of cat1-groups :-
    : Source = [s3c4=>s3] with generating sets:
      [ f1, f2, f3, f4 ]
      [ f1, f2 ]
    :  Range = [Ps3c4=>Ps3] with generating sets:
      [ ( 5, 9)( 6,10)( 7,11)( 8,12), ( 1, 5, 9)( 2, 6,10)( 3, 7,11)( 4, 8,12),
      ( 1, 3, 2, 4)( 5, 7, 6, 8)( 9,11,10,12), ( 1, 2)( 3, 4)( 5, 6)( 7, 8)( 9,10)
        (11,12) ]
      [ (2,3), (1,2,3) ]
    : Source Homomorphism maps source generators to:
      [ ( 5, 9)( 6,10)( 7,11)( 8,12), ( 1, 5, 9)( 2, 6,10)( 3, 7,11)( 4, 8,12),
      ( 1, 3, 2, 4)( 5, 7, 6, 8)( 9,11,10,12), ( 1, 2)( 3, 4)( 5, 6)( 7, 8)( 9,10)
        (11,12) ]
    : Range Homomorphism maps range generators to:
      [ (2,3), (1,2,3) ]
    
  ------------------------------------------------------------------
  
  
  3.4 Operations on morphisms
  
  3.4-1 Order
  
  > Order( auto ) ___________________________________________________attribute
  > CompositionMorphism( map2, map1 ) _______________________________operation
  
  Composition  of  morphisms, written (<map1> * <map2>) for maps acting of the
  right,  calls  the CompositionMorphism function for maps acting on the left,
  applied to the appropriate type of 2d-mapping.
  
  ---------------------------  Example  ----------------------------
    
    gap> Order( mor1 );
    2
    gap> GeneratorsOfGroup( d16 );
    [ (11,12,13,14,15,16,17,18), (12,18)(13,17)(14,16) ]
    gap> d8 := Subgroup( d16, [ c^2, d ] );;
    gap> c4 := Subgroup( d8, [ c^2 ] );;
    gap> SetName( d8, "d8" );  SetName( c4, "c4" );
    gap> X16 := XModByNormalSubgroup( d16, d8 );
    [d8->d16]
    gap> X8 := XModByNormalSubgroup( d8, c4 );
    [c4->d8]
    gap> IsSubXMod( X16, X8 );
    true
    gap> incd8 := InclusionMorphism2dObjects( X16, X8 );
    [[c4->d8] => [d8->d16]]
    gap> rho := GroupHomomorphismByImages( d16, d16, [c,d], [c,d^(c^2)] );;
    gap> sigma := GroupHomomorphismByImages( d8, d8, [c^2,d], [c^2,d^(c^2)] );;
    gap> mor := XModMorphismByHoms( X16, X16, sigma, rho );
    [[d8->d16] => [d8->d16]]
    gap> comp := incd8 * mor;
    [[c4->d8] => [d8->d16]]
    gap> comp = CompositionMorphism( mor, incd8 );
    true
    
  ------------------------------------------------------------------
  
  3.4-2 Kernel
  
  > Kernel( map ) ___________________________________________________operation
  > Kernel2dMapping( map ) __________________________________________attribute
  
  The  kernel  of  a morphism of crossed modules is a normal subcrossed module
  whose  groups  are  the  kernels of the source and target homomorphisms. The
  inclusion of the kernel is a standard example of a crossed square, but these
  have not yet been implemented.
  
  ---------------------------  Example  ----------------------------
    
    gap> c2 := Group( (19,20) );;
    gap> i2 := Subgroup( c2, [()] );;
    gap> X9 := XModByNormalSubgroup( c2, i2 );;
    gap> sigma9 := GroupHomomorphismByImages( c4, i2, [c^2], [()] );;
    gap> rho9 := GroupHomomorphismByImages( d8, c2, [c^2,d], [(),(19,20)] );;
    gap> mor9 := XModMorphism( X8, X9, sigma9, rho9 );
    [[c4->d8] => [..]]
    gap> K9 := Kernel( mor9 );
    [Group( [ (11,13,15,17)(12,14,16,18) ] )->Group( [ (11,13,15,17)(12,14,16,18)
     ] )]
  ------------------------------------------------------------------