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

10 Utility functions
 10.1 Inclusion and Restriction Mappings
 10.2 Abelian Modules

10 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.

10.1 Inclusion and Restriction Mappings

These functions have been moved to the gpd package, but are still documented here.

10.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) ] -> [ () ]

10.1-2 InnerAutomorphismsByNormalSubgroup
‣ InnerAutomorphismsByNormalSubgroup( G, N )( operation )
‣ IsGroupOfAutomorphisms( A )( property )

Inner automorphisms of a group G by the elements of a normal subgroup N are calculated with the first of these functions, usually with G = N.


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

10.2 Abelian Modules

10.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.

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 Bib Ind

generated by GAPDoc2HTML