Converting Between Types of Coxeter Group

In this section, we describe functions for converting between the various descriptions of Coxeter groups available in Magma.

A Coxeter group W of type GrpMat (a reflection group), GrpPermCox (a permutation group) or GrpFPCox (a finitely presented group) can be converted to a group W' of type GrpMat, GrpPermCox, GrpPerm, GrpFPCox or GrpFP. Groups of types GrpPerm and GrpFP are respectively permutation and finitely presented groups without any attribute that identifies them as Coxeter groups. In most cases the second return value of the conversion function is an isomorphism W to W'.

Since a finitely presented Coxeter group W does not come with a built-in reflection representation, the optional parameters A, B, and C can be used to specify the representation. They are respectively the matrix whose rows are the simple roots, the matrix whose rows are the simple coroots, and the Cartan matrix. These must have the following properties:

1.
A and B must have same number of rows and the same number of columns; they must be defined over the same field, which must be the rational field, a number field, or a cyclotomic field; the entries must be real;
2.
the number of columns must be at least the number of rows; and
3.
C=ABt must be a Cartan matrix for W.

It is not necessary to specify all three matrices, since any two of them will determine the third. If these matrices are not given, the default is to take A to be the identity and to take C to be the standard Cartan matrix described in Section Cartan Matrices.

CoxeterGroup(grpcat, W) : Cat, Grp -> grpcat, Map
    A: Mtrx                             Default: 
    B: Mtrx                             Default: 
    C: Mtrx                             Default: 
The Coxeter group W converted to its representation in category grpcat. The type (i.e., category) of W can be GrpMat, GrpPermCox or GrpFPCox. The target type can be GrpMat, GrpPermCox, GrpPerm, GrpFPCox or GrpFP. The second return value is the isomorphism from W to the converted group (when available).

The parameters A, B and C are only applicable when W is of type GrpFPCox.

Example GrpCox_ConstructByGroup (H108E4)

> W<a,b> := CoxeterGroup(GrpFPCox, "G2");
> Wp, h := CoxeterGroup(GrpPermCox, W);
> a*b;
a * b
> h(a*b);
(1, 11, 12, 7, 5, 6)(2, 4, 3, 8, 10, 9)
ReflectionGroup(W) : GrpFPCox -> GrpMat, Map
    A: Mtrx                             Default: 
    B: Mtrx                             Default: 
    C: Mtrx                             Default: 
A reflection representation W' of the Coxeter group W (of type GrpFPCox) together with the isomorphism W to W'.
ReflectionGroup(W) : GrpPermCox -> GrpMat, Map
A reflection representation W' of the Coxeter group W (of type GrpPermCox) together with the isomorphism W to W'.

Every permutation Coxeter group has a root system, and this determines the reflection representation.

Example GrpCox_ReflectionGroupConversion (H108E5)

> W<a,b,c> := CoxeterGroup(GrpFPCox, "B3");
> G, h := CoxeterGroup(GrpMat, W);
> a*b; h(a*b);
a * b
[-1 -1  0]
[ 1  0  0]
[ 0  1  1]
V2.29, 21 October 2025