Skip to content

Commit 756a59b

Browse files
Finished FroidurePin
1 parent 6f3b785 commit 756a59b

File tree

22 files changed

+623
-591
lines changed

22 files changed

+623
-591
lines changed

docs/source/_ext/libsemigroups_pybind11_extensions.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -100,18 +100,8 @@ def no_doc_run(self):
100100
# replacements will be performed globally. Hyperlinks will be added in the
101101
# signature if "good type" is a valid (potentially user defined) python type
102102
type_replacements = {
103-
(
104-
r"libsemigroups::Presentation<std::__cxx11::basic_string<char, "
105-
r"std::char_traits<char>, std::allocator<char> > >"
106-
): r"Presentation",
107-
r"libsemigroups::BMat8": r"BMat8",
108103
r"libsemigroups::WordGraph<unsigned int>": r"WordGraph",
109104
r"libsemigroups::Gabow<unsigned int>": r"Gabow",
110-
(
111-
r"libsemigroups::DynamicMatrix<libsemigroups::IntegerPlus<long long>, "
112-
r"libsemigroups::IntegerProd<long long>, libsemigroups::IntegerZero"
113-
r"<long long>, libsemigroups::IntegerOne<long long>, long long>"
114-
): r"Matrix",
115105
r"libsemigroups::SimsStats": r"SimsStats",
116106
r"libsemigroups::Sims1": r"Sims1",
117107
r"libsemigroups::Sims2": r"Sims2",
@@ -122,17 +112,13 @@ def no_doc_run(self):
122112
r"libsemigroups::BooleanProd, libsemigroups::BooleanZero, "
123113
r"libsemigroups::BooleanOne, int>"
124114
): r"Matrix",
125-
r"libsemigroups::Konieczny<BMat8, "
126-
"libsemigroups::KoniecznyTraits<BMat8>>::DClass": "KoniecznyBMat8DClass",
127115
}
128116

129117
# This dictionary should be of the form class_name -> (pattern, repl), where
130118
# "pattern" should be replaced by "repl" in the signature of all functions in
131119
# "class_name"
132120
class_specific_replacements = {
133121
"RightActionPPerm1List": [
134-
("libsemigroups::PPerm<16ul, unsigned char>", "Element"),
135-
("libsemigroups::Element", "Element"),
136122
("libsemigroups::PPerm<0ul, unsigned char>", "Element"),
137123
],
138124
"Transf1": [
@@ -145,49 +131,30 @@ def no_doc_run(self):
145131
("PTransfBase1", "Perm1"),
146132
("Transf", "Perm"),
147133
],
148-
"FroidurePinPBR": [(r"\bPBR\b", "Element")],
149134
"SchreierSimsPerm1": [(r"\bPerm1\b", "Element")],
150135
"Sims1": [("SubclassType", "Sims1"), ("SimsSettingsSims1", "Sims1")],
151136
"Sims2": [("SubclassType", "Sims2"), ("SimsSettingsSims2", "Sims2")],
152137
"MinimalRepOrc": [
153138
("SubclassType", "MinimalRepOrc"),
154139
("SimsSettingsMinimalRepOrc", "MinimalRepOrc"),
155-
(r"\bRepOrc\b", "MinimalRepOrc"),
156140
],
157141
"RepOrc": [
158142
("SubclassType", "RepOrc"),
159143
("SimsSettingsRepOrc", "RepOrc"),
160144
],
161145
"KoniecznyBMat8": [
162146
(r"\bBMat8\b", "Element"),
163-
(
164-
"libsemigroups::Konieczny<libsemigroups::Element, "
165-
"libsemigroups::KoniecznyTraits<libsemigroups::Element>>::DClass",
166-
"KoniecznyBMat8.DClass",
167-
),
168147
],
169148
}
170149

171150
# This dictionary should be of the form bad_string -> good_string. These
172151
# replacements will be made in each docstring, and will be useful for removing
173152
# things like the signatures that sphinx inserts into every docstring
174153
docstring_replacements = {
175-
r"_current_index_of.*$": "",
176-
r"_number_of_classes.*$": "",
177-
r"_small_overlap_class.*$": "",
178154
r"aho_corasick_dot\(.*\)(\s*->\s*(\w+::)*\w*)?": "",
179-
r"congruence_non_trivial_classes.*$": "",
180-
r"congruence_partition.*$": "",
181-
r"kambites_normal_forms.*$": "",
182155
r"knuth_bendix_non_trivial_classes.*$": "",
183156
r"pbr_one\(\*args, \*\*kwargs\)": "",
184-
r"todd_coxeter_is_non_trivial.*$": "",
185-
r"todd_coxeter_non_trivial_class.*$": "",
186-
r"todd_coxeter_normal_forms.*$": "",
187-
r"todd_coxeter_partition.*$": "",
188-
r"todd_coxeter_redundant_rule.*$": "",
189157
r"word_graph_dot\(.*\)(\s*->\s*(\w+::)*\w*)?": "",
190-
r"D_class_of_element\(.*$": "",
191158
}
192159

193160

docs/source/data-structures/presentations/to-present.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,14 +216,14 @@ this function.
216216

217217
.. _froidure-pin-to-presentation:
218218

219-
Converting a :any:`FroidurePinPBR` to a :any:`PresentationStrings`
219+
Converting a :any:`FroidurePin` to a :any:`PresentationStrings`
220220
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
221221

222222
To construct a :any:`PresentationStrings` from a
223-
:any:`FroidurePinPBR`, specify the following values for
223+
:any:`FroidurePin`, specify the following values for
224224
*args*:
225225

226-
* **fp** (:any:`FroidurePinPBR`) -- the :any:`FroidurePinPBR` from which to
226+
* **fp** (:any:`FroidurePin`) -- the :any:`FroidurePin` from which to
227227
obtain the rules.
228228

229229
Additionally, specify the following for *Return*:
@@ -234,7 +234,7 @@ Additionally, specify the following for *Return*:
234234
:any:`PresentationStrings` over words of type ``List[int]``.
235235

236236
This function constructs and returns a :any:`PresentationStrings` object using
237-
the rules of a :any:`FroidurePinPBR` object.
237+
the rules of a :any:`FroidurePin` object.
238238

239239
No enumeration of the argument *fp* is performed, so it might be the case that
240240
the resulting :any:`PresentationStrings` does not define the same semigroup as

docs/source/data-structures/to-function.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ another type. These mostly only apply to the types implementing the main
1515
algorithms in ``libsemigroups_pybind11``.
1616

1717
For example, to convert a :any:`ToddCoxeter` ``tc`` object to a
18-
:any:`FroidurePinPBR` object, you can simply do ``to(tc, Return=FroidurePin)``.
18+
:any:`FroidurePin` object, you can simply do ``to(tc, Return=FroidurePin)``.
1919

2020
A summary of the possible conversions available in ``libsemigroups_pybind11`` of
2121
``to(FromType, Return=ToType)`` are given below, where the rows correspond to

docs/source/main-algorithms/congruence/cong.rst

Lines changed: 0 additions & 47 deletions
This file was deleted.

docs/source/main-algorithms/congruence/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ functions that only apply to the :any:`Congruence` class.
2020
.. toctree::
2121
:maxdepth: 1
2222

23-
cong
23+
class
2424
helpers
2525
to-cong

docs/source/main-algorithms/congruence/to-cong.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ possible:
3030

3131
.. _froidure-pin-to-congruence:
3232

33-
Converting a :any:`FroidurePinPBR` to a :any:`Congruence`
34-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33+
Converting a :any:`FroidurePin` to a :any:`Congruence`
34+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3535

36-
To construct a :any:`Congruence` from a :any:`FroidurePinPBR`, specify all
36+
To construct a :any:`Congruence` from a :any:`FroidurePin`, specify all
3737
of the following values for *args*:
3838

3939
* **knd** (:any:`congruence_kind`) -- the kind of the congruence being
4040
construed;
41-
* **fpb** (:any:`FroidurePinBase`) -- the :any:`FroidurePinPBR` instance to
41+
* **fpb** (:any:`FroidurePin`) -- the :any:`FroidurePin` instance to
4242
be converted; and
4343
* **wg** (:any:`WordGraph`) -- the left or right Cayley graph of *fpb*.
4444

@@ -49,17 +49,17 @@ Additionally, specify one of the following tuples for *Return*:
4949
* ``(Congruence, List[int])`` for constructing a :any:`Congruence` on
5050
words of type ``List[int]``.
5151

52-
This function converts the :any:`FroidurePinPBR` object *fpb* into a
52+
This function converts the :any:`FroidurePin` object *fpb* into a
5353
:any:`Congruence` object using the :any:`WordGraph` *wg* (which should be
54-
either the :any:`FroidurePinBase.left_cayley_graph` or the
55-
:any:`FroidurePinBase.right_cayley_graph` of *fpb*).
54+
either the :any:`FroidurePin.left_cayley_graph` or the
55+
:any:`FroidurePin.right_cayley_graph` of *fpb*).
5656

5757
This returned :any:`Congruence` object represents the trivial congruence
5858
over the semigroup defined by *fpb*.
5959

6060
This will throw a :any:`LibsemigroupsError` if *wg* is not the
61-
:any:`FroidurePinBase.left_cayley_graph` or the
62-
:any:`FroidurePinBase.right_cayley_graph` of *fpb*.
61+
:any:`FroidurePin.left_cayley_graph` or the
62+
:any:`FroidurePin.right_cayley_graph` of *fpb*.
6363

6464
.. doctest:: Python
6565

docs/source/main-algorithms/froidure-pin/froidure-pin-base.rst

Lines changed: 0 additions & 49 deletions
This file was deleted.

docs/source/main-algorithms/froidure-pin/froidure-pin.rst

Lines changed: 0 additions & 50 deletions
This file was deleted.

docs/source/main-algorithms/froidure-pin/helpers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Helper functions for FroidurePin objects
22
========================================
33

44
This page contains the documentation for various helper functions for
5-
manipulating :any:`FroidurePinPBR` objects.
5+
manipulating :any:`FroidurePin` objects.
66

77
Contents
88
--------

docs/source/main-algorithms/froidure-pin/index.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ Froidure-Pin
88
============
99

1010
The functionality in ``libsemigroups_pybind11`` related to the Froidure-Pin
11-
algorithm :cite:`Froidure1997aa` is contained in the two classes below.
11+
algorithm :cite:`Froidure1997aa` is contained in the class and the helper
12+
functions below.
1213

1314
.. toctree::
1415
:maxdepth: 1
1516

16-
froidure-pin-base
17-
froidure-pin
17+
class
1818
helpers
1919
to-froidure-pin

0 commit comments

Comments
 (0)