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