coxeter_automaton/example.py

19 lines
602 B
Python
Executable File

#!/usr/bin/python
import coxeter_automaton
# (2, 3, infinity) triangle group; 0 stands for infinity
coxeter_matrix = [[1, 0, 3],
[0, 1, 2],
[3, 2, 1]]
graph = coxeter_automaton.generate_automaton_coxeter_matrix(coxeter_matrix, lex_reduced = False)
graph_shortlex = coxeter_automaton.generate_automaton_coxeter_matrix(coxeter_matrix, lex_reduced = True)
print(graph)
group = coxeter_automaton.enumerate_group(graph, graph_shortlex, 10)
# for each group element g and generator a, print index of a*g
print([[l.id if l else None for l in g.left] for g in group])