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.
‣ PrintListOneItemPerLine ( L ) | ( operation ) |
This function is used in Chapter 4 when printing image lists of derivations and sections.
gap> L := [ [1,2,3,4], true, [ (1,2), (2,3) ] ];; gap> PrintListOneItemPerLine( L ); [ [ 1, 2, 3, 4 ], true, [ (1,2), (2,3) ] ]
These functions have been moved to the gpd package, but are still documented here.
‣ 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) ] -> [ () ]
‣ 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
‣ 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.
‣ DistinctRepresentatives ( list ) | ( operation ) |
‣ CommonRepresentatives ( list ) | ( operation ) |
‣ CommonTransversal ( grp, subgrp ) | ( operation ) |
‣ IsCommonTransversal ( grp, subgrp, list ) | ( operation ) |
The final set of utilities deal with lists of subsets of [1 ... n] and construct systems of distinct and common representatives using simple, non-recursive, combinatorial algorithms.
When L is a set of n subsets of [1 ... n] and the Hall condition is satisfied (the union of any k subsets has at least k elements), a set of distinct representatives exists.
When J,K are both lists of n sets, the function CommonRepresentatives
returns two lists: the set of representatives, and a permutation of the subsets of the second list. It may also be used to provide a common transversal for sets of left and right cosets of a subgroup H of a group G, although a greedy algorithm is usually quicker.
gap> J := [ [1,2,3], [3,4], [3,4], [1,2,4] ];; gap> DistinctRepresentatives( J ); [ 1, 3, 4, 2 ] gap> K := [ [3,4], [1,2], [2,3], [2,3,4] ];; gap> CommonRepresentatives( J, K ); [ [ 3, 3, 3, 1 ], [ 1, 3, 4, 2 ] ] gap> CommonTransversal( d16, c4 ); [ (), (12,18)(13,17)(14,16), (11,12,13,14,15,16,17,18), (11,12)(13,18)(14,17)(15,16) ]
generated by GAPDoc2HTML