C-Groups

There is a strong link between C-groups and coset geometries.

Given a group G and a set S of elements of G, we say that (G, S) satisfies the intersection property if for every subsets I and J of S, we have < I > ∩< J > = < I ∩J >.

We say that (G, S) satisfies the string property or commuting property if there is an ordering of the elements of S such that any two elements of S that are not one after the other commute.

A group G is a C-group if its set of generators is a set of involutions that satisfies the intersection property. Moreover G is a string-C-group if G is a C-group and satisfies the string property.

When G is a C-group, we associate to it a Coxeter diagram, that is a graph whose vertices are the generators of G. Two vertices are joined by an edge provided the corresponding two generators do not commute. Moreover, to each edge we put a label that is the order of the product of the two elements corresponding to the two vertices.

HasIntersectionProperty(G) : GrpPerm -> BoolElt
Given a permutation group G, determines whether or not its set of generators G.1, ..., G.n satisfy the intersection property.
HasStringProperty(G) : GrpPerm -> BoolElt
Given a permutation group G, determines whether or not there exists an ordering G.1, ..., G.n of the generators of G such that G.iG.j = G.jG.i whenever |i - j|>1.
IsCGroup(G) : GrpPerm -> BoolElt
Given a permutation group G, determines whether or not its set of generators are involutions that satisfy the string property and the intersection property.
IsStringCGroup(G) : GrpPerm -> BoolElt
Given a permutation group G, determines whether or not its set of generators are involutions that satisfy the string property and the intersection property.
CosetGeometryFromCGroup(G) : GrpPerm -> CosetGeom
Given a permutation group G that is a C-group, construct the coset geometry D whose maximal parabolic subgroups are the subgroups generated by all but one generator of G. If G has n generators, D will be a coset geometry of rank n.
CosetGeometryToCGroup(D) : CosetGeom -> GrpPerm
Given a coset geometry D that has Borel = 1 and with minimal parabolic subgroups being cyclic groups of order 2, construct G as the group generated by the involutions of the minimal parabolic subgroups and returns it provided it satisfies the intersection property.
CoxeterDiagram(G) : GrpPerm -> GrphUnd
Given a C-group G, construct its Coxeter diagram.

Example IncidenceGeometry_cosetgeometrytocgroup (H151E13)

Again back to the cube we constructed above as an incidence geometry. We can convert it into a coset geometry and then a string-C-group very easily using the following commands.
> cube := IncidenceGeometry(g);
> ok, cg := CosetGeometry(cube);
> G := CosetGeometryToCGroup(cg);
> G;
Permutation group G acting on a set of cardinality 26
    (1, 2)(3, 4)(5, 6)(7, 8)(10, 12)(13, 14)(15, 16)(17, 19)(23, 25)
    (2, 4)(6, 8)(9, 12)(10, 11)(14, 16)(17, 18)(19, 20)(22, 25)(23, 24)
    (3, 6)(4, 5)(10, 14)(11, 18)(12, 13)(15, 19)(16, 17)(21, 22)(24, 26)
> IsStringCGroup(G);
true

Example IncidenceGeometry_cgrouptocosetgeometry (H151E14)

We also now have a way to construct a coset geometry (and hence the corresponding incidence geometry) from C-groups. For instance, using E. H. Moore's presentation for the symmetric groups, we can easily construct the 5-simplex as a String C-group.
> G:=sub<Sym(6)|(1,2),(2,3),(3,4),(4,5),(5,6)>;
> IsCGroup(G);
true
> IsStringCGroup(G);
true
> d,v,e:=CoxeterDiagram(G);
> for x in e do print x,Label(x);end for;
{1, 2} 3
{2, 3} 3
{3, 4} 3
{4, 5} 3
> cg:=CosetGeometryFromCGroup(G);
> IsThin(cg);
true
> IsRC(cg);
true
> IsFTGeometry(cg);
true
> d,v,e := Diagram(cg);
> for x in v do print x,Label(x);end for;
1 [ 1, 20 ]
2 [ 1, 15 ]
3 [ 1, 6 ]
4 [ 1, 6 ]
5 [ 1, 15 ]
> for x in e do print x,Label(x);end for;
{1, 2} [ 3, 3, 3 ]
{1, 3} [ 2, 2, 2 ]
{1, 4} [ 2, 2, 2 ]
{1, 5} [ 3, 3, 3 ]
{2, 3} [ 3, 3, 3 ]
{2, 4} [ 2, 2, 2 ]
{2, 5} [ 2, 2, 2 ]
{3, 4} [ 2, 2, 2 ]
{3, 5} [ 2, 2, 2 ]
{4, 5} [ 3, 3, 3 ]
V2.28, 13 July 2023