XModOps.AutomorphismPermGroup( X )
This function constructs a permutation group PermAut(X)
isomorphic
to the group of automorphisms of the crossed module X
. First the
automorphism groups of the source and range of X
are obtained and
AutomorphismPair
used to obtain permutation representations of
these. The direct product of these permutation groups is constructed,
and the required automorphism group is a subgroup of this direct
product. The result is stored as X.automorphismPermGroup
which has
fields defining the various embeddings and projections.
gap> autXSC := AutomorphismPermGroup( XSC ); PermAut([c3->s3]) gap> autXSC.projsrc; GroupHomomorphismByImages( PermAut([c3->s3]), PermAut(c3), [ (5,6,7), (1,2)(3,4)(6,7) ], [ (), (1,2) ] ) gap> autXSC.projrng; GroupHomomorphismByImages( PermAut([c3->s3]), PermAut(s3), [ (5,6,7), (1,2)(3,4)(6,7) ], [ (3,4,5), (1,2)(4,5) ] ) gap> autXSC.embedSourceAuto; GroupHomomorphismByImages( PermAut(c3), PermAut(c3)xPermAut(s3), [ (1,2) ], [ (1,2) ] ) gap> autXSC.embedRangeAuto; GroupHomomorphismByImages( PermAut(s3), PermAut(c3)xPermAut(s3), [ (3,5,4), (1,2)(4,5) ], [ (5,7,6), (3,4)(6,7) ] ) gap> autXSC.autogens; [ [ GroupHomomorphismByImages( c3, c3, [ (1,2,3)(4,6,5) ], [ (1,2,3)(4,6,5) ] ), GroupHomomorphismByImages( s3, s3, [ (4,5,6), (2,3)(5,6) ], [ (4,5,6), (2,3)(4,5) ] ) ], [ GroupHomomorphismByImages( c3, c3, [ (1,2,3)(4,6,5) ], [ (1,3,2)(4,5,6) ] ), GroupHomomorphismByImages( s3, s3, [ (4,5,6), (2,3)(5,6) ], [ (4,6,5), (2,3)(5,6) ] ) ] ]
GAP 3.4.4