Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

14 Utility functions
 14.1 Mappings
 14.2 Abelian Modules

14 Utility functions

By a utility function we mean a GAP function which is

Sections on Printing Lists and Distinct and Common Representatives were moved to the Utils package with version 2.56.

14.1 Mappings

The following two functions have been moved to the gpd package, but are still documented here.

14.1-1 InclusionMappingGroups
‣ InclusionMappingGroups( G, H )( operation )
‣ MappingToOne( G, H )( operation )

This set of utilities concerns mappings. The map incd8 is the inclusion of d8 in d16 used in Section 3.4. MappingToOne(G,H) maps the whole of G to the identity element in H.


gap> Print( incd8, "\n" );
[ (11,13,15,17)(12,14,16,18), (11,18)(12,17)(13,16)(14,15) ] ->
[ (11,13,15,17)(12,14,16,18), (11,18)(12,17)(13,16)(14,15) ]
gap> imd8 := Image( incd8 );;
gap> MappingToOne( c4, imd8 );
[ (11,13,15,17)(12,14,16,18) ] -> [ () ]

14.1-2 InnerAutomorphismsByNormalSubgroup
‣ InnerAutomorphismsByNormalSubgroup( G, N )( operation )

Inner automorphisms of a group G by the elements of a normal subgroup N are calculated, often with G = N.


gap> autd8 := AutomorphismGroup( d8 );;
gap> innd8 := InnerAutomorphismsByNormalSubgroup( d8, d8 );;
gap> GeneratorsOfGroup( innd8 );
[ ^(1,2,3,4), ^(1,3) ]

14.1-3 IsGroupOfAutomorphisms
‣ IsGroupOfAutomorphisms( A )( property )

Tests whether the elements of a group are automorphisms.


gap> IsGroupOfAutomorphisms( innd8 );
true

14.2 Abelian Modules

14.2-1 AbelianModuleObject
‣ AbelianModuleObject( grp, act )( operation )
‣ IsAbelianModule( obj )( property )
‣ AbelianModuleGroup( obj )( attribute )
‣ AbelianModuleAction( obj )( attribute )

An abelian module is an abelian group together with a group action. These are used by the crossed module constructor XModByAbelianModule (2.1-7).

The resulting Xabmod is isomorphic to the output from XModByAutomorphismGroup( k4 );.


gap> x := (6,7)(8,9);;  y := (6,8)(7,9);;  z := (6,9)(7,8);;
gap> k4a := Group( x, y );;  SetName( k4a, "k4a" );
gap> gens3a := [ (1,2), (2,3) ];;
gap> s3a := Group( gens3a );;  SetName( s3a, "s3a" );
gap> alpha := GroupHomomorphismByImages( k4a, k4a, [x,y], [y,x] );;
gap> beta := GroupHomomorphismByImages( k4a, k4a, [x,y], [x,z] );;
gap> auta := Group( alpha, beta );;
gap> acta := GroupHomomorphismByImages( s3a, auta, gens3a, [alpha,beta] );;
gap> abmod := AbelianModuleObject( k4a, acta );;
gap> Xabmod := XModByAbelianModule( abmod );
[k4a->s3a]
gap> Display( Xabmod );

Crossed module [k4a->s3a] :- 
: Source group k4a has generators:
  [ (6,7)(8,9), (6,8)(7,9) ]
: Range group s3a has generators:
  [ (1,2), (2,3) ]
: Boundary homomorphism maps source generators to:
  [ (), () ]
: Action homomorphism maps range generators to automorphisms:
  (1,2) --> { source gens --> [ (6,8)(7,9), (6,7)(8,9) ] }
  (2,3) --> { source gens --> [ (6,7)(8,9), (6,9)(7,8) ] }
  These 2 automorphisms generate the group of automorphisms.


 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bib Ind

generated by GAPDoc2HTML