\(G_2(4)\) as a subgroup of the Suzuki sporadic group Suz
The presentation and subgroup generators on this page come from page 97 of Praeger and Soicher's book.
Claim
If
\[
H=\langle a,b,c,d,e,f\rangle \cong G_2(4),
\]
then
\[
[\mathrm{Suz}:H]=1,782.
\]
We verify the claimed index, but not the claimed isomorphism type. The presentation includes one relation marked as redundant in the machine-readable source. We do not verify that this relation is redundant here.
The code
The following self-contained script constructs the presentation and runs the Todd-Coxeter algorithm. The recorded run took about 25 milliseconds.
Code
from libsemigroups_pybind11 import (
Presentation,
ToddCoxeter,
congruence_kind,
presentation,
)
p = Presentation("abcdefg")
p.contains_empty_word(True)
# All Coxeter generators are involutions.
for letter in "abcdefg":
presentation.add_rule(p, letter * 2, "")
# Labelled edges in a5b3c8d3e,b3f4g3b.
for word, exponent in (
("ab", 5),
("bc", 3),
("cd", 8),
("de", 3),
("bf", 3),
("fg", 4),
("bg", 3),
):
presentation.add_rule(p, word * exponent, "")
# Unjoined vertices commute.
for word in (
"ac",
"ad",
"ae",
"af",
"ag",
"bd",
"be",
"ce",
"cf",
"cg",
"df",
"dg",
"ef",
"eg",
):
presentation.add_rule(p, word * 2, "")
# Additional defining relations.
presentation.add_rule(p, "a", "cd" * 4)
presentation.add_rule(p, "a", "fg" * 2)
presentation.add_rule(p, "abcf" * 5, "")
presentation.add_rule(p, "bfg" * 5, "")
presentation.add_rule(p, (("bcdcd" * 5) + "e") * 3, "")
# Redundant relation included by GPL to assist coset enumeration.
presentation.add_rule(p, "abcg" * 5, "")
tc = ToddCoxeter(congruence_kind.onesided, p)
tc.strategy(ToddCoxeter.options.strategy.felsch).use_relations_in_extra(True)
for word in ("a", "b", "c", "d", "e", "f"):
tc.add_generating_pair(word, "")
tc.run()
actual_index = tc.number_of_classes()
print(f"The index of the subgroup is {actual_index}")
if actual_index != 1_782:
raise RuntimeError(f"expected index 1782, got {actual_index}")
The output
Truncated output from the Python script
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: RUN 0 START (strategy() = felsch)
#0: ToddCoxeter: |A| = 7, |R| = 34, |u| + |v| ∈ [2, 78], ∑(|u| + |v|) = 275
[... lines omitted ...]
#0: ToddCoxeter: RUN 0 STOP (finished)
#0: ToddCoxeter: run 0 | lookahead | lookbehind | hlt | felsch
#0: ToddCoxeter: num. phases | 1 | 0 | 0 | 1
#0: ToddCoxeter: time spent in phases | 700µs (3%) | - (0%) | - (0%) | 24ms (96%)
#0: ToddCoxeter: phase 0.2 = 717µs | run 0 = 25ms | all runs = 25ms | elapsed = 25ms
The index of the subgroup is 1782
The computed index is the claimed index: \(1,782\).