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 [Bourbaki, 1968] 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 \(i\)th hyperbolic Coxeter group of rank larger than 3.

HyperbolicCoxeterGraph(i): RngIntElt -> GrphUnd#

The Coxeter graph of the \(i\)th hyperbolic Coxeter group of rank larger than 3.

Example: Hyperbolic (ex-4b6e52)#
> 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,

Run in calculator