Skip to content

\(2^6:3.S_6\) (II) as a subgroup of Held group He

The subgroup generators used on this page come from https://brauer.maths.qmul.ac.uk/Atlas/v3/spor/He/.

Claim

\[ \mathrm{He} = \langle a, b \mid a^2 = b^7 = (ab)^{17} = [a, b]^6 = [a, b^3]^5 = [a, babab^{-1}abab] = (ab)^4ab^2ab^{-3}ababab^{-1}ab^3ab^{-2}ab^2 = 1 \rangle. \]

The generators are claimed to generate a maximal subgroup isomorphic to \(2^6:3.S_6\). More precisely, if

\[ H = \langle a,\ ab^{-2}ab^2ab^{-3}ab^{-1} \rangle, \]

then

\[ [\mathrm{He} : H] = 29,155. \]

On this page, we verify that the subgroup generated by these words has the claimed index.

The code

In libsemigroups_pybind11, the following script constructs the presentation for He, adds the generating pairs that define the maximal subgroup, and runs the Todd-Coxeter algorithm. The source code marks three of the presentation relations as redundant. We do not verify that these relations are redundant here.

Code
from libsemigroups_pybind11 import (
    Presentation,
    ToddCoxeter,
    congruence_kind,
    presentation,
)
from libsemigroups_pybind11.words import parse_relations as parse


# Setup the presentation object with the empty and inverses, so it can represent a group
p = Presentation("abAB")
p.contains_empty_word(True)
presentation.add_inverse_rules(p, "ABab")

# Add the defining relations
presentation.add_rule(p, parse("a^2"), "")
presentation.add_rule(p, parse("b^7"), "")
presentation.add_rule(p, parse("(ab)^17"), "")
presentation.add_rule(p, parse("(ab^3)^8"), "")  # redundant
presentation.add_rule(p, parse("(ab^2ab^2aBBB)^3"), "")  # redundant
presentation.add_rule(p, parse("(a,babaBabab)"), "")
presentation.add_rule(p, parse("(a,b^3)^5"), "")
presentation.add_rule(p, parse("(a,b)^6"), "")
presentation.add_rule(
    p, parse("ab(abaBB)^2ab^2aBab^2aBB(abaB)^2"), ""
)  # redundant, maybe useful.
presentation.add_rule(p, parse("(ab)^4ab^2aB^3ababaBab^3aB^2ab^2"), "")

presentation.balance(p, "abAB", "ABab")
presentation.replace_subword(p, "A", "a")
p.alphabet("abB")

tc = ToddCoxeter(congruence_kind.onesided, p)
tc.strategy(ToddCoxeter.options.strategy.felsch)

# The subgroup generators here are taken from one of the straight line
# programmes from:
# https://brauer.maths.qmul.ac.uk/Atlas/v3/spor/He/

# takes approx 5s

tc.add_generating_pair("a", "")
tc.add_generating_pair("aBBabbaBBBaB", "")

print(f"The index of the subgroup is {tc.number_of_classes()}")

The output

The output of the enumeration is below:

Output from the Python script
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: RUN 0 START (strategy() = felsch)
#0: ToddCoxeter: |A| = 3, |R| = 14, |u| + |v| ∈ [2, 40], ∑(|u| + |v|) = 259
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: FELSCH 0.0 START
#0: ToddCoxeter: FELSCH 0.0.0     |       active |          killed |         defined
#0: ToddCoxeter: nodes            |           11 |               0 |              11
#0: ToddCoxeter:                  |       active |         missing |      % complete
#0: ToddCoxeter: edges            |           13 |              20 |           39.4%
#0: ToddCoxeter: time             | run 0 = 55µs | all runs = 55µs | elapsed = 103µs
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.1       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |      2,450,610 |            56,933 |        2,507,577
#1: ToddCoxeter: diff 0.0.0         |     +2,450,599 |           +56,933 |       +2,507,566
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |      5,195,501 |         2,156,329 |            70.7%
#1: ToddCoxeter: diff 0.0.0         |     +5,195,488 |        +2,156,309 |           +31.3%
#1: ToddCoxeter: phase 0.0 = 1.005s | run 0 = 1.005s | all runs = 1.005s | elapsed = 1.005s
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.2       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |      4,857,043 |           122,296 |        4,979,354
#1: ToddCoxeter: diff 0.0.1         |     +2,406,433 |           +65,363 |       +2,471,777
#1: ToddCoxeter: diff 0.0.0         |     +4,857,032 |          +122,296 |       +4,979,343
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |     10,299,694 |         4,271,435 |            70.7%
#1: ToddCoxeter: diff 0.0.1         |     +5,104,193 |        +2,115,106 |            +0.0%
#1: ToddCoxeter: diff 0.0.0         |    +10,299,681 |        +4,271,415 |           +31.3%
#1: ToddCoxeter: phase 0.0 = 2.010s | run 0 = 2.010s | all runs = 2.010s | elapsed = 2.010s
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.3       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |      7,241,525 |           226,832 |        7,468,390
#1: ToddCoxeter: diff 0.0.2         |     +2,384,482 |          +104,536 |       +2,489,036
#1: ToddCoxeter: diff 0.0.0         |     +7,241,514 |          +226,832 |       +7,468,379
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |     15,360,734 |         6,363,841 |            70.7%
#1: ToddCoxeter: diff 0.0.2         |     +5,061,040 |        +2,092,406 |            +0.0%
#1: ToddCoxeter: diff 0.0.0         |    +15,360,721 |        +6,363,821 |           +31.3%
#1: ToddCoxeter: phase 0.0 = 3.015s | run 0 = 3.015s | all runs = 3.015s | elapsed = 3.015s
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.4       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |      9,527,319 |           309,104 |        9,836,440
#1: ToddCoxeter: diff 0.0.3         |     +2,285,794 |           +82,272 |       +2,368,050
#1: ToddCoxeter: diff 0.0.0         |     +9,527,308 |          +309,104 |       +9,836,429
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |     20,212,108 |         8,369,849 |            70.7%
#1: ToddCoxeter: diff 0.0.3         |     +4,851,374 |        +2,006,008 |            +0.0%
#1: ToddCoxeter: diff 0.0.0         |    +20,212,095 |        +8,369,829 |           +31.3%
#1: ToddCoxeter: phase 0.0 = 4.020s | run 0 = 4.020s | all runs = 4.020s | elapsed = 4.020s
#0: ToddCoxeter: large collapse, number of coincidences 100,000 >= 100,000 = large_collapse()!
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.5       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |         45,650 |        11,465,859 |       11,511,509
#1: ToddCoxeter: diff 0.0.4         |     -9,481,669 |       +11,156,755 |       +1,675,069
#1: ToddCoxeter: diff 0.0.0         |        +45,639 |       +11,465,859 |      +11,511,498
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |         70,390 |            66,560 |            51.4%
#1: ToddCoxeter: diff 0.0.4         |    -20,141,718 |        -8,303,289 |           -19.3%
#1: ToddCoxeter: diff 0.0.0         |        +70,377 |           +66,540 |           +12.0%
#1: ToddCoxeter: phase 0.0 = 5.025s | run 0 = 5.025s | all runs = 5.025s | elapsed = 5.025s
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: FELSCH 0.0 STOP
#0: ToddCoxeter: FELSCH 0.0.6       |         active |            killed |          defined
#0: ToddCoxeter: nodes              |         29,155 |        11,482,367 |       11,511,522
#0: ToddCoxeter: diff 0.0.5         |        -16,495 |           +16,508 |              +13
#0: ToddCoxeter: diff 0.0.0         |        +29,144 |       +11,482,367 |      +11,511,511
#0: ToddCoxeter:                    |         active |           missing |       % complete
#0: ToddCoxeter: edges              |         87,465 |                 0 |           100.0%
#0: ToddCoxeter: diff 0.0.5         |        +17,075 |           -66,560 |           +48.6%
#0: ToddCoxeter: diff 0.0.0         |        +87,452 |               -20 |           +60.6%
#0: ToddCoxeter: phase 0.0 = 5.029s | run 0 = 5.029s | all runs = 5.029s | elapsed = 5.029s
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: LOOKAHEAD 0.1 START (lookahead_extent() = full, lookahead_style() = hlt)
#0: ToddCoxeter: LOOKAHEAD 0.1.0  |         active |            killed |          defined
#0: ToddCoxeter: nodes            |         29,155 |        11,482,367 |       11,511,522
#0: ToddCoxeter:                  |         active |           missing |       % complete
#0: ToddCoxeter: edges            |         87,465 |                 0 |           100.0%
#0: ToddCoxeter: time             | run 0 = 5.029s | all runs = 5.029s | elapsed = 5.029s
#0: ToddCoxeter: triggered because there are skipped definitions (29,155 active nodes)!
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: LOOKAHEAD 0.1 STOP
#0: ToddCoxeter: LOOKAHEAD 0.1.1  |         active |            killed |          defined
#0: ToddCoxeter: nodes            |         29,155 |        11,482,367 |       11,511,522
#0: ToddCoxeter: diff 0.1.0       |             +0 |                +0 |               +0
#0: ToddCoxeter:                  |         active |           missing |       % complete
#0: ToddCoxeter: edges            |         87,465 |                 0 |           100.0%
#0: ToddCoxeter: diff 0.1.0       |             +0 |                +0 |            +0.0%
#0: ToddCoxeter: phase 0.1 = 9ms  | run 0 = 5.038s | all runs = 5.038s | elapsed = 5.039s
#0: ToddCoxeter: lookahead_next() is now max(f x a = 58,310, m = 10,000) (-4,941,690)
#0: ToddCoxeter: because f x a < n
#0: ToddCoxeter: where:  a = number_of_nodes_active()     = 29,155
#0: ToddCoxeter:         f = lookahead_growth_factor()    = 2
#0: ToddCoxeter:         m = lookahead_min()              = 10,000
#0: ToddCoxeter:         n = lookahead_next()             = 5,000,000
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: FELSCH 0.2.2     |         active |            killed |          defined
#0: ToddCoxeter: nodes            |         29,155 |        11,482,367 |       11,511,522
#0: ToddCoxeter: diff 0.2.1       |             +0 |                +0 |               +0
#0: ToddCoxeter: diff 0.2.0       |             +0 |                +0 |               +0
#0: ToddCoxeter:                  |         active |           missing |       % complete
#0: ToddCoxeter: edges            |         87,465 |                 0 |           100.0%
#0: ToddCoxeter: diff 0.2.1       |             +0 |                +0 |            +0.0%
#0: ToddCoxeter: diff 0.2.0       |             +0 |                +0 |            +0.0%
#0: ToddCoxeter: phase 0.2 = 9ms  | run 0 = 5.039s | all runs = 5.039s | elapsed = 5.039s
++++++++++++++++++++++++++++++++
#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 |       9ms (0%) |            - (0%) |           - (0%) | 5.029s (100%)
#0: ToddCoxeter: phase 0.2 = 9ms      | run 0 = 5.039s | all runs = 5.039s | elapsed = 5.039s
The index of the subgroup is 29155

The computed index is the same as the claimed index: \(29,155\).