XModOps.DirectProduct( X,Y )
The direct product of crossed modules X,Y
has as source and range
the direct products of the sources and ranges of X
and Y
. The
boundary map is the product of the two boundaries. The range of X
acts trivially on the source of Y
and conversely. Because the
standard DirectProduct
function requires the two parameters to be
groups, the XModOps.
prefix must be used (at least for GAP3.4.3).
gap> DX := XModOps.DirectProduct( CX, CX ); Crossed module [v4xv4->a4xa4] gap> XModPrint( DX );Crossed module [v4xv4->a4xa4] :- : Source group v4xv4 has generators: [ (1,2)(3,4), (1,3)(2,4), (5,6)(7,8), (5,7)(6,8) ] : Range group = a4xa4 has generators: [ (1,2,3), (2,3,4), (5,6,7), (6,7,8) ] : Boundary homomorphism maps source generators to: [ (1,2)(3,4), (1,3)(2,4), (5,6)(7,8), (5,7)(6,8) ] : Action homomorphism maps range generators to automorphisms: (1,2,3) --> { source gens --> [ (1,4)(2,3), (1,2)(3,4), (5,6)(7,8), (5,7)(6,8) ] } (2,3,4) --> { source gens --> [ (1,3)(2,4), (1,4)(2,3), (5,6)(7,8), (5,7)(6,8) ] } (5,6,7) --> { source gens --> [ (1,2)(3,4), (1,3)(2,4), (5,8)(6,7), (5,6)(7,8) ] } (6,7,8) --> { source gens --> [ (1,2)(3,4), (1,3)(2,4), (5,7)(6,8), (5,8)(6,7) ] } These 4 automorphisms generate the group of automorphisms.
GAP 3.4.4