Coxeter Graphs

A Coxeter graph is an undirected labelled graph describing a Coxeter system. Suppose a Coxeter system has Coxeter matrix M=(mij)i, j=1n. Then the Coxeter graph has vertices 1, ..., n; whenever mij>2 there is an edge connecting i and j labeled by the value of mij. When mij=3, the label is usually omitted.

Since ∞ is not an integer, it will be represented by 0 in our Coxeter graphs. Clearly a Coxeter graph must be standard, i.e. its vertices must be the integers 1, 2, ..., n for some n. A Coxeter system is irreducible if, and only if, its Coxeter graph is connected. Two Coxeter graphs give rise to Coxeter isomorphic groups if, and only if, they are isomorphic as labelled graphs. See Chapter GRAPHS for more information on graphs.

IsCoxeterGraph(G) : GrphUnd -> BoolElt
Returns true if, and only if, the graph G is the Coxeter graph of some Coxeter group.
CoxeterGraph(M) : AlgMatElt -> GrphUnd
CoxeterGraph(C) : AlgMatElt -> GrphUnd
CoxeterGraph(D) : GrphDir -> GrphUnd
The Coxeter graph corresponding to a Coxeter matrix M, Cartan matrix C, or Dynkin digraph D.
CoxeterGroupOrder(G) : GrphUnd -> .
CoxeterGroupFactoredOrder(G) : GrphUnd -> .
The (factored) order of the Coxeter group with Coxeter graph G.

Example Cartan_CoxeterGraphOperations (H102E4)

> G := PathGraph(4);
> AssignLabel(G, 1,2, 4);
> AssignLabel(G, 3,4, 4);
> IsCoxeterGraph(G);
true
> CoxeterGroupOrder(G);
Infinity
>
> M := SymmetricMatrix([1, 3,1, 2,5,1]);
> G := CoxeterGraph(M);
> Labels(EdgeSet(G));
[ undef, 5 ]
IsSimplyLaced(G) : GrphUnd -> BoolElt
Returns true if, and only if, the Coxeter graph G is simply laced, i.e. unlabelled.

Example Cartan_CoxeterGraphProperties (H102E5)

> G := PathGraph(2);
> IsSimplyLaced(G);
true
> AssignLabel(G, 1,2, 6);
> IsSimplyLaced(G);
false
V2.28, 13 July 2023