Coxeter Matrices#

A Coxeter system is defined by the numbers \(m_{ij}\in\{2,3,\dots,\infty\}\) for \(i,j=1,\dots n\) and \(i<j\), as in the previous section. Setting \(m_{ji}=m_{ij}\) and \(m_{ii}=1\), yields a matrix \(M=(m_{ij})_{i,j=1}^n\) that is called the Coxeter matrix.

Since \(\infty\) is not an integer in Magma, it will be represented by \(0\) in Coxeter matrices.

IsCoxeterMatrix(M): AlgMatElt BoolElt#

Returns true if, and only if, the matrix \(M\) is the Coxeter matrix of some Coxeter group.

CoxeterMatrix(G): GrphUnd AlgMatElt#
CoxeterMatrix(C): AlgMatElt AlgMatElt#
CoxeterMatrix(D): GrphDir AlgMatElt#

The Coxeter matrix corresponding to a Coxeter graph \(G\), Cartan matrix \(C\), or Dynkin digraph \(D\).

Example: Coxeter Matrix Construction#
> M := SymmetricMatrix([1, 3,1, 2,3,1]);
> M;
[1 3 2]
[3 1 3]
[2 3 1]
> IsCoxeterMatrix(M);
true
%%a> assert $1;
IsCoxeterIsomorphic(M1, M2): AlgMatElt, AlgMatElt BoolElt, SeqEnum#

Returns true if and only if the Coxeter matrices \(M_1\) and \(M_2\) give rise to isomorphic Coxeter systems. If so, a sequence giving the permutation of the underlying basis which takes \(M_1\) to \(M_2\) is also returned.

CoxeterGroupOrder(M): AlgMatElt RngIntElt#
CoxeterGroupFactoredOrder(M): AlgMatElt SeqEnum#

The (factored) order of the Coxeter group with Coxeter matrix \(M\).

Example: Coxeter Matrix Operations#
> M1 := SymmetricMatrix([1, 3,1, 2,3,1]);
> M2 := SymmetricMatrix([1, 3,1, 3,2,1]);
> IsCoxeterIsomorphic(M1, M2);
true [ 2, 1, 3 ]
>
> CoxeterGroupOrder(M1);
24
%%a> assert $1 eq 24;
IsCoxeterIrreducible(M): AlgMatElt BoolElt#

Returns true if, and only if, the matrix \(M\) is the Coxeter matrix of an irreducible Coxeter system. If the Coxeter matrix is reducible, this function also returns a nontrivial subset \(I\) of \(\{1,\dots,n\}\) such that \(m_{ij}=2\) whenever \(i\in I\), \(j\notin I\).

IsSimplyLaced(M): AlgMatElt BoolElt#

Returns true if, and only if, the Coxeter matrix \(M\) is simply laced, i.e. all its entries are 1, 2, or 3.

Example: Coxeter Matrix Properties#
> M := SymmetricMatrix([1, 3,1, 2,3,1]);
> IsCoxeterIrreducible(M);
true
%%a> assert $1;
> M := SymmetricMatrix([1, 2,1, 2,3,1]);
> IsCoxeterIrreducible(M);
false { 1 }