The material documented in this chapter is experimental, and is likely to be changed very soon.
A typical example of a crossed module \(\mathcal{X}\) 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 \(\mathcal{X}\) 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, and is a groupoid equivalent of XModByNormalSubgroup
.
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], false ); precrossed module with source groupoid: single piece groupoid: < a4, [ -9, -8, -7 ] > and range groupoid: single piece groupoid: < s4, [ -9, -8, -7 ] > gap> Ga4 := Source( DX4 );; gap> Gs4 := Range( DX4 );;
‣ 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> IsXModWithObjects( DX4 ); true gap> KnownPropertiesOfObject( DX4 ); [ "CanEasilyCompareElements", "CanEasilySortElements", "IsDuplicateFree", "IsGeneratorsOfSemigroup", "IsSinglePieceDomain", "IsDirectProductWithCompleteDigraphDomain", "IsPreXModWithObjects", "IsXModWithObjects" ]
‣ 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( DX4 ); true gap> IsPcPreXModWithObjects( DX4 ); false gap> IsFpPreXModWithObjects( DX4 ); false
‣ Root2dGroup ( pxmod ) | ( attribute ) |
‣ XModAction ( pxmod ) | ( attribute ) |
The attributes of a precrossed module with objects include the standard Source
; Range
; Boundary
; and XModAction
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> KnownAttributesOfObject(DX4); [ "Range", "Source", "Boundary", "ObjectList", "XModAction", "Root2dGroup" ] gap> Root2dGroup( DX4 ); [a4->s4] gap> act := XModAction( DX4 );; gap> r := Arrow( Gs4, (1,2,3,4), -7, -8 );; gap> ImageElm( act, r ); [groupoid homomorphism : [ [ [(1,2,3) : -9 -> -9], [(2,3,4) : -9 -> -9], [() : -9 -> -8], [() : -9 -> -7] ], [ [(2,3,4) : -9 -> -9], [(1,3,4) : -9 -> -9], [() : -9 -> -7], [() : -9 -> -8] ] ] : 0 -> 0] gap> s := Arrow( Ga4, (1,2,4), -8, -8 );; gap> ## calculate s^r gap> ims := ImageElmXModAction( DX4, s, r ); [(1,2,3) : -7 -> -7]
There is much more to be done with these constructions.
generated by GAPDoc2HTML