73.29 XModMorphism

XModMorphism( X, Y, homs )

A morphism of crossed modules is a pair of homomorphisms [ sourceHom, rangeHom ], where sourceHom, rangeHom are respectively homomorphisms between the sources and ranges of X and Y, which commute with the two boundary maps and which are morphisms for the two actions.

In this implementation a morphism of crossed modules mor is a record

with fields:

mor.source, & the source crossed module X,
mor.range, & the range crossed module Y,
mor.sourceHom, & a homomorphism from X.source to Y.source,
mor.rangeHom, & a homomorphism from X.range to Y.range,
mor.isXModMorphism, & a Boolean flag, normally true,
mor.operations, & a special set of operations XModMorphismOps (see refOperations for morphisms of crossed modules),
mor.name, & a concatenation of the names of X and Y.

The function XModMorphism requires as parameters two crossed modules and a two-element list containing the source and range homomorphisms. It sets up the required fields for mor, but does not check the axioms. The IsXModMorphism function should be used to perform these checks. Note that the XModMorphismPrint function is needed to print out the morphism in detail.

    gap> smor := GroupHomomorphismByImages( q8, k4, genq8, genk4 );
    GroupHomomorphismByImages( q8, v4, 
     [(1,2,3,4)(5,8,7,6), (1,5,3,7)(2,6,4,8)], [(1,2)(3,4), (1,3)(2,4)] )
    gap> IsHomomorphism(smor);
    true
    gap> sl23 := SX.range;;
    gap> gensl23 := sl23.generators;
     [ (1,2,3,4)(5,8,7,6), (1,5,3,7)(2,6,4,8), (2,5,6)(4,7,8)(9,10,11) ]
    gap> images := [ (1,2)(3,4), (1,3)(2,4), (2,3,4) ];;
    gap> rmor := GroupHomomorphismByImages( sl23, a4, gensl23, images );;
    gap> IsHomomorphism(rmor);
    true
    gap> mor := XModMorphism( SX, CX, [ smor, rmor ] );
    Morphism of crossed modules <[N3->sl(2,3)] >-> [v4->a4]> 

Previous Up Top Next
Index

GAP 3.4.4
April 1997