Use when computing invariants of hyperbolic Coxeter groups using the CoxIter program
# Compute all invariants for a Coxeter group
coxiter -i mygroup.coxiter -full
# Check cocompactness only
coxiter -i mygroup.coxiter -compactness
# Test arithmeticity (non-cocompact groups)
coxiter -i mygroup.coxiter -arithmeticity -pgm
# Compute growth rate (requires PARI)
coxiter -i mygroup.coxiter -growthrate
Input file format:
d n # vertices, dimension
v1 v2 weight # edges (0=infinity, 1=dotted, 3+=angle)
CoxIter is a computer program designed to compute invariants of hyperbolic Coxeter groups. Given a Coxeter group acting on hyperbolic space, it determines:
A Coxeter group is a group generated by reflections, defined by a Coxeter matrix $(m_{ij})$ where:
The Coxeter graph (or Coxeter diagram) represents this visually:
Hyperbolic Coxeter groups act on hyperbolic space $H^n$ with:
CoxIter reads Coxeter groups from text files with the following format:
d n # Line 1: vertices, dimension
vertices labels: v1 v2 v3 ... # Line 2 (optional): custom labels
v_i v_j weight # Lines 3+: edges with weights
Line 1 (mandatory): d n
d: number of vertices (generators/reflection hyperplanes)n: dimension of hyperbolic space (optional but recommended)
Line 2 (optional): vertices labels: label1 label2 ...
-, _ allowed; no spaces)Edge lines: vertex1 vertex2 weight
0 is used to specify the weight infinity; 1 is used to specify a dotted edge0 = weight infinity (hyperplanes parallel at infinity)1 = dotted edge (hyperplanes ultra-parallel)3, 4, 5, ... = angle $\pi/m_{ij}$ between hyperplanesSimple integer labels:
4
1 2 3
2 3 4
3 4 3
Custom labels:
4
vertices labels: t s1 s2 s3
t s1 3
s1 s2 4
s2 s3 3
coxiter -i <input_file> [options]
Mandatory:
-i <path>: Path to input file encoding the Coxeter graphComputation flags:
-full: Compute all invariants (Euler characteristic, f-vector, compactness, finite volume, growth series, growth rate)-arithmeticity or -a: Test arithmeticity (requires non-cocompact group)-compactness or -c: Test cocompactness only-fv: Test finite covolume only-g: Compute growth series only-growthrate: Compute growth rate (requires PARI library)-pgm: Print the Gram matrixOutput control:
-o <basename>: Base name for output files (creates <basename>.output and optionally <basename>.jpg)-of: Write output to file (requires -o)-oformat <format>: Format for mathematical output (generic, gap, latex, mathematica, pari)Advanced:
-drop <vertex>: Work on subgraph by removing specified vertex (can be used multiple times)-drawgraph: Generate GraphViz visualization (requires -o, Unix only)-pcg: Print Coxeter graph structure-writegraph: Write graph in CoxIter formatCocompact: yes/no
Finite covolume: yes/no/?
? means unable to determinef-vector: $(f_0, f_1, \ldots, f_n)$
Euler characteristic: Rational number
Growth series: Rational function $f(x) = P(x)/Q(x)$
Arithmetic: yes/no/?
? often appears for graphs with dotted edges (requires manual verification)CoxIter computes the Gram matrix of the bilinear form. For hyperbolic Coxeter groups, this is:
The Gram matrix signature determines the geometry:
A dotted edge (weight 1) represents ultra-parallel hyperplanes:
CoxIter identifies subgraphs to determine properties:
coxiter -i graphs/mygroup.coxiter -full -o results/mygroup
coxiter -i graphs/mygroup.coxiter -a -pgm -o results/mygroup
Note: For graphs with dotted edges, arithmeticity may return ?. The output provides algebraic conditions that must be verified manually.
coxiter -i graphs/mygroup.coxiter -g -growthrate
# Remove vertices 3 and 5, compute invariants for resulting subgraph
coxiter -i graphs/mygroup.coxiter -drop 3 -drop 5 -full
# In Mathematica format
coxiter -i graphs/mygroup.coxiter -pgm -oformat mathematica
File 8-Bugaenko.coxiter:
11 8
1 2 5
2 3 3
3 4 3
4 5 3
5 6 3
6 7 3
7 8 3
8 9 5
4 10 3
6 11 3
10 11 1
Command:
coxiter -i graphs/8-Bugaenko.coxiter -full -o graphs/8-Bugaenko
Key outputs:
File with custom labels and dotted edges (weight 1):
7 3
vertices labels: 1 2 3 4 5 6 7
1 2 3
2 3 4
2 4 1
3 5 1
1 6 1
4 6 0
5 6 1
1 7 1
3 7 0
Command:
coxiter -i graphs/3-testArithmeticity.coxiter -a -pgm
Output includes:
The CoxIter repository includes tests.txt containing data about a large set of hyperbolic Coxeter groups. CoxIter is run for each graph, and computed values are compared to expected values. This provides: