# 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 (ex-8161cb)`

```magma
> M := SymmetricMatrix([1, 3,1, 2,3,1]);
> M;
[1 3 2]
[3 1 3]
[2 3 1]
> IsCoxeterMatrix(M);
true

```

## `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 (ex-84a070)`

```magma
> 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

```

## `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 (ex-e19461)`

```magma
> M := SymmetricMatrix([1, 3,1, 2,3,1]);
> IsCoxeterIrreducible(M);
true
> M := SymmetricMatrix([1, 2,1, 2,3,1]);
> IsCoxeterIrreducible(M);
false { 1 }

```
