Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bib Ind

### 10 Crossed modules of groupoids

The material documented in this chapter is experimental, and is likely to be changed in due course.

#### 10.1 Constructions for crossed modules of groupoids

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].

##### 10.1-1 SinglePiecePreXModWithObjects
 ‣ 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 );;



##### 10.1-2 IsXModWithObjects
 ‣ 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",



##### 10.1-3 IsPermPreXModWithObjects
 ‣ 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



##### 10.1-4 Root2dGroup
 ‣ 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.

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bib Ind

generated by GAPDoc2HTML