Hyperbolic Groups

A hyperbolic reflection group is a group generated by reflections in hyperbolic space. A Coxeter group is called hyperbolic if it is infinite, nonaffine, and it has a representation as a discrete, properly acting, hyperbolic reflection group whose Tits' cone consists entirely of vectors with negative norm (see [Bou68] for more details). A hyperbolic reflection group is compact hyperbolic if it is hyperbolic with a compact fundamental region.

Every infinite nonaffine Coxeter group of rank 3 is hyperbolic. There are only 72 hyperbolic groups of rank larger than 3 which, for convenience, are numbered from 1 to 72. The numbering is essentially arbitrary.

IsCoxeterHyperbolic(M) : AlgMatElt -> BoolElt
IsCoxeterCompactHyperbolic(M) : AlgMatElt -> BoolElt
Returns true if, and only if, the matrix M is the Coxeter matrix of a (compact) hyperbolic Coxeter group.
IsCoxeterHyperbolic(G) : GrphUnd -> BoolElt
IsCoxeterCompactHyperbolic(G) : GrphUnd -> BoolElt
Returns true if, and only if, the graph G is the Coxeter graph of a (compact) hyperbolic Coxeter group.
HyperbolicCoxeterMatrix(i) : RngIntElt -> AlgMatElt
The Coxeter matrix of the ith hyperbolic Coxeter group of rank larger than 3.
HyperbolicCoxeterGraph(i) : RngIntElt -> GrphUnd
The Coxeter graph of the ith hyperbolic Coxeter group of rank larger than 3.

Example Cartan_Hyperbolic (H102E19)

> for i in [1..72] do
>   if IsCoxeterCompactHyperbolic(HyperbolicCoxeterMatrix(i)) then
>     printf "%o, ", i;
>   end if;
> end for;
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
V2.28, 13 July 2023