Sophie

Sophie

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

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

  
  5 Homomorphisms of Groupoids
  
  A  homomorphism  m  from a groupoid G to a groupoid H consists of a map from
  the objects of G to those of H together with a map from the elements of G to
  those  of  H  which  is  compatible  with  tail and head and which preserves
  multiplication:
  
  
       m(g1 : o1 \to o2)*m(g2 : o2 \to o3) ~=~ m(g1*g2 : o1 \to o3).
  
  
  Note  that when a homomorphism is not injective on objects, the image of the
  source  need not be a subgroupoid of the range. The simplest example of this
  is  given  by homomorphism the two-object groupoid with trivial group to the
  free group < a > on one generator, when the image is [1,a,a^-1].
  
  
  5.1 Homomorphisms to a connected groupoid
  
  5.1-1 GroupoidHomomorphism
  
  > GroupoidHomomorphism( args ) _____________________________________function
  > GroupoidHomomorphismFromSinglePiece( src, rng, hom, imobs ) _____operation
  > Source( hom ) ___________________________________________________attribute
  > Range( hom ) ____________________________________________________attribute
  
  As  usual,  there  are  a  variety  of  homomorphism constructors. The basic
  construction is a homomorphism G -> H with H connected, which is implemented
  as  IsHomomorphismToSinglePieceGroupoidRep with attributes Source, Range and
  PieceImages.     If     G     is    also    connected,    we    may    apply
  HomomorphismOfSinglePieceGroupoids, requiring:
  
  --    a homomorphism hom from the group of G to the group of H.
  
  --    a list imobs of the images of the objects of G;
  
  ---------------------------  Example  ----------------------------
    
    gap> d12 := Group( (15,16,17,18,19,20, (15,20)(16,19)(17,18) );;
    gap> Gd12 := SinglePieceGroupoid( [-37,-36,-35,-34], d12 );;
    gap> SetName( d12, "d12" );  SetName( Gd12, "Gd12" );
    gap> s3d := Subgroup( d12, [ (15,17,19)(16,18,20), (15,20)(16,19)(17,18) ] );
    gap> Gs3d := SubgroupoidByPieces( Gd12, [ [[-36,-35,-34], s3d] ] );;
    gap> SetName( s3d, "s3d" );  SetName( Gs3d, "Gs3d" );
    gap> gend8 := GeneratorsOfGroup( d8 );;
    gap> imhd8 := [ ( ), (15,20)(16,19)(17,18) ];;
    gap> hd8 := GroupHomomorphismByImages( d8, s3d, gend8, imhd8 );
    gap> homd8 := GroupoidHomomorphism( Gd8, Gs3d, hd8, [-34,-35,-36] );
    groupoid homomorphism : Gd8 -> Gs3d 
    gap> IsBijectiveOnObjects( homd8 );
    true
    gap> Display( homd8 );
    groupoid mapping: [ Gd8 ] -> [ Gs3d ]
    root homomorphism: [ [ (1,2,3,4), (1,3) ], [ (), (15,20)(16,19)(17,18) ] ]
    images of objects: [ -34, -35, -36 ]
       images of rays: [ (), (), () ]
    
  ------------------------------------------------------------------