The material documented in this chapter is experimental, and is likely to be changed in due course.
A typical example of a crossed module calX over a groupoid has for its range a connected groupoid. This is a direct product of a group with a complete graph, and we call the vertices of the graph the objects of the crossed module. The source of calX is a groupoid, with the same objects, which is either discrete or connected. The boundary morphism is constant on objects. For details and other references see [AW10].
‣ SinglePiecePreXModWithObjects ( pxmod, obs, isdisc ) | ( operation ) |
At present the experimental operation SinglePiecePreXModWithObjects
accepts a precrossed module pxmod
, a set of objects obs
, and a boolean isdisc
which is true
when the source groupoid is homogeneous and discrete and false
when the source groupoid is connected. Other operations will be added as time permits.
In the example the crossed module DX4
has discrete source, while the crossed module CX4
has connected source. These are groupoid equivalents of XModByNormalSubgroup
(2.1-2).
gap> s4 := Group( (1,2,3,4), (3,4) );; gap> SetName( s4, "s4" ); gap> a4 := Subgroup( s4, [ (1,2,3), (2,3,4) ] );; gap> SetName( a4, "a4" ); gap> X4 := XModByNormalSubgroup( s4, a4 );; gap> DX4 := SinglePiecePreXModWithObjects( X4, [-9,-8,-7], true ); single piece crossed module with objects source groupoid: homogeneous, discrete groupoid: < a4, [ -9, -8, -7 ] > and range groupoid: single piece groupoid: < s4, [ -9, -8, -7 ] > gap> Da4 := Source( DX4 );; gap> Ds4 := Range( DX4 );; gap> CX4 := SinglePiecePreXModWithObjects( X4, [-9,-8,-7], false ); single piece crossed module with objects source groupoid: single piece groupoid: < a4, [ -9, -8, -7 ] > and range groupoid: single piece groupoid: < s4, [ -9, -8, -7 ] > gap> Ca4 := Source( CX4 );; gap> Cs4 := Range( CX4 );;
‣ IsXModWithObjects ( pxmod ) | ( property ) |
‣ IsPreXModWithObjects ( pxmod ) | ( property ) |
‣ IsDirectProductWithCompleteDigraphDomain ( pxmod ) | ( property ) |
The precrossed module DX4
belongs to the category Is2DimensionalGroupWithObjects
and is, of course, a crossed module.
gap> Set( KnownPropertiesOfObject( DX4 ) ); [ "CanEasilyCompareElements", "CanEasilySortElements", "IsAssociative", "IsDirectProductWithCompleteDigraphDomain", "IsDuplicateFree", "IsGeneratorsOfSemigroup", "IsPreXModWithObjects", "IsSinglePieceDomain",
‣ IsPermPreXModWithObjects ( pxmod ) | ( property ) |
‣ IsPcPreXModWithObjects ( pxmod ) | ( property ) |
‣ IsFpPreXModWithObjects ( pxmod ) | ( property ) |
To test these properties we test the precrossed modules from which they were constructed.
gap> IsPermPreXModWithObjects( CX4 ); true gap> IsPcPreXModWithObjects( CX4 ); false gap> IsFpPreXModWithObjects( CX4 ); false
‣ Root2dGroup ( pxmod ) | ( attribute ) |
‣ XModAction ( pxmod ) | ( attribute ) |
The attributes of a precrossed module with objects include the standard Source
; Range
; Boundary
(2.1-9); and XModAction
(2.1-9) as with precrossed modules of groups. There is also ObjectList
, as in the groupoids package. Additionally there is Root2dGroup
which is the underlying precrossed module used in the construction.
Note that XModAction
is now a groupoid homomorphism from the source groupoid to a one-object groupoid (with object 0
) where the group is the automorphism group of the range groupoid.
gap> Set( KnownAttributesOfObject( CX4 ) ); [ "Boundary", "ObjectList", "Range", "Root2dGroup", "Source", "XModAction" ] gap> Root2dGroup( CX4 ); [a4->s4] gap> act := XModAction( CX4 );; gap> Size( Range( act ) ); 20736 gap> r := Arrow( Cs4, (1,2,3,4), -4, -5 );; gap> ImageElm( act, r ); [groupoid homomorphism : [ [ [(1,2,3) : -6 -> -6], [(2,3,4) : -6 -> -6], [() : -6 -> -5], [() : -6 -> -4] ], [ [(2,3,4) : -6 -> -6], [(1,3,4) : -6 -> -6], [() : -6 -> -4], [() : -6 -> -5] ] ] : 0 -> 0] gap> s := Arrow( Ca4, (1,2,4), -5, -5 );; gap> ## calculate s^r gap> ims := ImageElmXModAction( CX4, s, r ); [(1,2,3) : -4 -> -4]
There is much more to be done with these constructions.
generated by GAPDoc2HTML