Skip to content

Rudvalis group Ru

The claims on this page come from Bradley, Curtis and Malik (2010).

Claim

\[ \mathrm{Ru} = \langle a, b, c, t \mid a^7 = b^3 = c^2 = t^2 = (cb)^{-1}bc = (ct)^{-1}tc = (ac)^6 = ((ca)^{-1}ac)^4 = (bt)^3 = b^{-1}aba^{-2} = (abc)^7 = (ab^2t)^3 = (bacat)^{-1}acat(aca)^{-1}baca = (bt)^{-1}(ca)^{-2}acabt(acab)^{-1}(ca)^2b = ta^{-3}ta^3b^{-1}ta^{-1}tab(aca)^{-2}(a^{-3}c^{-1})^2a^3ca^5ca \rangle \]

and

\[ \mathrm{A}_{8} = \mathrm{Ru} \mathbin{/} \langle a, b, c \rangle \]

with

\[ [\mathrm{Ru} : \mathrm{A}_8] = 7,238,400. \]

On this page, we verify that the above subgroup of the Rudvalis group Ru defines a group of the correct index.

The code

In libsemigroups_pybind11, the following script constructs the presentation for M23, adds the generating pairs that define the subgroup M11, and runs the Todd-Coxeter algorithm.

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

p = Presentation("abctABCT").contains_empty_word(True)
presentation.add_inverse_rules(p, "ABCTabct")
presentation.add_rule(p, parse_relations("a^7"), "")
presentation.add_rule(p, parse_relations("b^3"), "")
presentation.add_rule(p, parse_relations("c^2"), "")
presentation.add_rule(p, parse_relations("t^2"), "")
presentation.add_rule(p, parse_relations("BCbc"), "")
presentation.add_rule(p, parse_relations("TCtc"), "")
presentation.add_rule(p, parse_relations("(ac)^6"), "")
presentation.add_rule(p, parse_relations("(ACac)^4"), "")
presentation.add_rule(p, parse_relations("(bt)^3"), "")
presentation.add_rule(p, parse_relations("BabA^2"), "")
presentation.add_rule(p, parse_relations("(abc)^7"), "")
presentation.add_rule(p, parse_relations("(ab^2t)^3"), "")
presentation.add_rule(p, parse_relations("TACABacatACAbaca"), "")
presentation.add_rule(p, parse_relations("TB(AC)^2acabtBACA(ca)^2b"), "")
presentation.add_rule(p, parse_relations("tA^3ta^3BtAtabACA^2(A^3C)^2a^3ca^5ca"), "")
presentation.balance(p, p.alphabet(), "ABCTabct")

tc = ToddCoxeter(congruence_kind.onesided, p)

tc.add_generating_pair("a", "")
tc.add_generating_pair("b", "")
tc.add_generating_pair("c", "")

tc.strategy(ToddCoxeter.options.strategy.felsch).use_relations_in_extra(True)
tc.run()

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

The output

The truncated output of the enumeration is below:

Truncated output from the Python script
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: RUN 0 START (strategy() = felsch)
#0: ToddCoxeter: |A| = 8, |R| = 23, |u| + |v| ∈ [2, 37], ∑(|u| + |v|) = 183
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: FELSCH 0.0 START
#0: ToddCoxeter: FELSCH 0.0.0     |        active |           killed |         defined
#0: ToddCoxeter: nodes            |            21 |               18 |              39
#0: ToddCoxeter:                  |        active |          missing |      % complete
#0: ToddCoxeter: edges            |            68 |              100 |           40.5%
#0: ToddCoxeter: time             | run 0 = 146µs | all runs = 146µs | elapsed = 236µs
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.1       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |        537,051 |           187,750 |          724,832
#1: ToddCoxeter: diff 0.0.0         |       +537,030 |          +187,732 |         +724,793
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |      2,308,258 |         1,988,150 |            53.7%
#1: ToddCoxeter: diff 0.0.0         |     +2,308,190 |        +1,988,050 |           +13.2%
#1: ToddCoxeter: phase 0.0 = 1.000s | run 0 = 1.000s | all runs = 1.000s | elapsed = 1.000s
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.2       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |      1,188,023 |           273,755 |        1,461,793
#1: ToddCoxeter: diff 0.0.1         |       +650,972 |           +86,005 |         +736,961
#1: ToddCoxeter: diff 0.0.0         |     +1,188,002 |          +273,737 |       +1,461,754
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |      5,066,218 |         4,437,966 |            53.3%
#1: ToddCoxeter: diff 0.0.1         |     +2,757,960 |        +2,449,816 |            -0.4%
#1: ToddCoxeter: diff 0.0.0         |     +5,066,150 |        +4,437,866 |           +12.8%
#1: ToddCoxeter: phase 0.0 = 2.000s | run 0 = 2.001s | all runs = 2.001s | elapsed = 2.001s
++++++++++++++++++++++++++++++++
#1: ToddCoxeter: FELSCH 0.0.3       |         active |            killed |          defined
#1: ToddCoxeter: nodes              |      1,782,973 |           360,686 |        2,143,668
#1: ToddCoxeter: diff 0.0.2         |       +594,950 |           +86,931 |         +681,875
#1: ToddCoxeter: diff 0.0.0         |     +1,782,952 |          +360,668 |       +2,143,629
#1: ToddCoxeter:                    |         active |           missing |       % complete
#1: ToddCoxeter: edges              |      7,622,880 |         6,640,904 |            53.4%
#1: ToddCoxeter: diff 0.0.2         |     +2,556,662 |        +2,202,938 |            +0.1%
#1: ToddCoxeter: diff 0.0.0         |     +7,622,812 |        +6,640,804 |           +13.0%
#1: ToddCoxeter: phase 0.0 = 3.001s | run 0 = 3.001s | all runs = 3.001s | elapsed = 3.001s
#0: ToddCoxeter: large collapse, number of coincidences 100,003 >= 100,000 = large_collapse()!
++++++++++++++++++++++++++++++++
[... lines omitted ...]
++++++++++++++++++++++++++++++++
#0: ToddCoxeter: FELSCH 0.2.26       |         active |            killed |          defined
#0: ToddCoxeter: nodes               |      7,238,400 |        23,613,836 |       30,852,236
#0: ToddCoxeter: diff 0.2.25         |             +0 |                +0 |               +0
#0: ToddCoxeter: diff 0.2.0          |             +0 |                +0 |               +0
#0: ToddCoxeter:                     |         active |           missing |       % complete
#0: ToddCoxeter: edges               |     57,907,200 |                 0 |           100.0%
#0: ToddCoxeter: diff 0.2.25         |             +0 |                +0 |            +0.0%
#0: ToddCoxeter: diff 0.2.0          |             +0 |                +0 |            +0.0%
#0: ToddCoxeter: phase 0.2 = 24.099s | run 0 = 3min6s | all runs = 3min6s | elapsed = 3min6s
++++++++++++++++++++++++++++++++
#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 |  24.099s (13%) |            - (0%) |           - (0%) | 2min42s (87%)
#0: ToddCoxeter: phase 0.2 = 24.384s  | run 0 = 3min6s | all runs = 3min6s | elapsed = 3min6s
The index of the subgroup is 7238400

The computed index is the same as the claimed index: \(7,238,400\).