[Up] [Previous] [Next] [Index]

3 2d-mappings

Sections

  1. Morphisms of pre-crossed modules
  2. Morphisms of pre-cat1-groups
  3. Operations on morphisms

This chapter describes morphisms of (pre-)crossed modules and (pre-)cat1-groups.

  • Source( map ) A
  • Range( map ) A
  • SourceHom( map ) A
  • RangeHom( map ) A

    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.1 Morphisms of pre-crossed modules

  • IsPreXModMorphism( map ) P
  • IsXModMorphism( map ) P
  • IsPreCat1Morphism( map ) P
  • IsCat1Morphism( map ) P

    A morphism between two pre-crossed modules X1 = (1 : S1 ® R1) and X2 = (2 : S2 ® R2) is a pair (s, r), where s: S1 ® S2 and r: R1 ® R2 commute with the two boundary maps and are morphisms for the two actions:

    2 s = r1,        s(sr) = (ss)rr·

    Thus s is the SourceHom and r is the RangeHom. When X1 = X2 and s, r are automorphisms then (s, r) is an automorphism of X1. The group of automorphisms is denoted by Aut(X1

  • IsInjective( map ) P
  • IsSurjective( map ) P
  • IsSingleValued( map ) P
  • IsTotal( map ) P
  • IsBijective( map ) P
  • IsEndomorphism2dObject( map ) P
  • IsAutomorphism2dObject( map ) P

    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.

    Constructors for morphisms of pre-crossed and crossed modules include:

  • PreXModMorphism( args ) F
  • XModMorphism( args ) F
  • PreXModMorphismByHoms( P1, P2, sigma, rho ) O
  • XModMorphismByHoms( X1, X2, sigma, rho ) O
  • InclusionMorphism2dObjects( X1, S1 ) O
  • InnerAutomorphismXMod( X1, r ) O
  • IdentityMapping( X1 ) A
  • IsomorphismPermObject( obj ) F

    In the following example we construct a simple automorphism of the crossed module X1 constructed in the previous chapter.

    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.2 Morphisms of pre-cat1-groups

    A morphism of pre-cat1-groups from C1 = (e1;t1,h1 : G1 ® R1) to C2 = (e2;t2,h2 : G2 ® R2) is a pair (g, r) where g: G1 ® G2 and r: R1 ® R2 are homomorphisms satisfying

    h2 g = rh1 ,        t2 g = rt1 ,        e2 r = ge1 .

  • PreCat1Morphism( args ) F
  • Cat1Morphism( args ) F
  • PreCat1MorphismByHoms( P1, P2, gamma, rho ) O
  • Cat1MorphismByHoms( C1, C2, gamma, rho ) O
  • InclusionMorphism2dObjects( C1, S1 ) O
  • InnerAutomorphismCat1( C1, r ) O
  • IdentityMapping( C1 ) A
  • IsomorphismPermObject( obj ) F
  • SmallerDegreePerm2dObject( obj ) F

    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.

    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.3 Operations on morphisms

  • Order( auto ) A
  • CompositionMorphism( map2, map1 ) O

    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.

    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> inc8 := 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 := inc8 * mor;
    [[c4->d8] => [d8->d16]]
    gap> comp = CompositionMorphism( mor, inc8 );
    true
    

  • Kernel( map ) O
  • Kernel2dMapping( map ) A

    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.

    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)
     ] )]
    

    [Up] [Previous] [Next] [Index]

    XMod manual
    September 2004