Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 Bib Ind

### 12 Utility functions

By a utility function we mean a GAP function which is

• needed by other functions in this package,

• not (as far as we know) provided by the standard GAP library,

• more suitable for inclusion in the main library than in this package.

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

#### 12.1 Inclusion and Restriction Mappings

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

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



##### 12.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



#### 12.2 Abelian Modules

##### 12.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.


Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 Bib Ind

generated by GAPDoc2HTML