Skip to content

Commit 7725eca

Browse files
rebuilding site Tue 16 Dec 2025 10:34:30 CET
1 parent 2b060ff commit 7725eca

170 files changed

Lines changed: 11817 additions & 4513 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

_images/to-table.svg

Lines changed: 1876 additions & 2031 deletions
Loading

_sources/authors.rst.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ Contributors
3030
- `Nicolas Thiery`_ helped the authors understand the ecosystem for integrating
3131
C++ code into python, and to some preliminary versions of the python bindings
3232
for libsemigroups_ using cython, and cppyy.
33-
- Chinmaya Nagpal (chinmaya1011@gmail.com) resolved some issues with the
33+
- Chinmaya Nagpal (chinmaya1011@gmail.com) resolved a great many issues with the
3434
packaging.
35+
- James Swent (jws20@st-andrews.ac.uk) contributed several implementations for
36+
the `to` function and several reduction ordering implementations.
3537

3638
.. _nicolas thiery: https://nicolas.thiery.name/

_sources/changelog-v1.rst.txt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,32 @@
88
Changelog - version 1
99
=====================
1010

11+
v1.2.0 (released 16/12/2025)
12+
----------------------------
13+
14+
This is a minor release incorporating a number of bugfixes/improvements in
15+
libsemigroups_. Support for HPCombi_ transformation types is also added for the
16+
first time!
17+
18+
* Drop support for Python 3.9 support Python 3.14 by @Joseph-Edwards in https://github.com/libsemigroups/libsemigroups_pybind11/pull/335
19+
* Remove ``Union`` by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/339
20+
* Import file modules in ``__init__`` by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/338
21+
* Sync aho corasick by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/340
22+
* konieczny: add init mem fn by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/349
23+
* word-graph: fix ``follow_path`` return type by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/348
24+
* paths: add helpers by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/350
25+
* Sync ``Forest`` and its helpers with recent changes in libsemigroups_ by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/347
26+
* Sync presentation by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/351
27+
* Sync examples by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/353
28+
* Sync ``to<Presentation>`` upstream enhancements by @jswent in https://github.com/libsemigroups/libsemigroups_pybind11/pull/358
29+
* hpcombi: support ``Vect16`` + ``PTransf16`` + subclasses by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/355
30+
* paths: update for fixes in libsemigroups_ by @james-d-mitchell in https://github.com/libsemigroups/libsemigroups_pybind11/pull/363
31+
32+
New Contributors
33+
~~~~~~~~~~~~~~~~
34+
35+
* @jswent made their first contribution in https://github.com/libsemigroups/libsemigroups_pybind11/pull/359
36+
1137
v1.1.0 (released 30/09/2025)
1238
----------------------------
1339

_sources/data-structures/elements/transformations/index.rst.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,8 @@ This page describes the functionality for various partial transformations in
1818
pperm
1919
transf
2020
helpers
21+
22+
.. seealso::
23+
24+
For high performance combinatorics on partial transformations of up to 16
25+
points, see :doc:`/data-structures/hpcombi/index`.

_sources/data-structures/enums/index.rst.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ In this section, we describe the :any:`Enum <enum.Enum>` classes available in
1717
congruence-kind
1818
matrix-kind
1919
order
20+
paths-algorithm
2021
side
2122
tril
22-
23+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
..
2+
Copyright (c) 2025, James Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11
9+
10+
The paths.algorithm enum
11+
========================
12+
13+
This page describes the enum class :any:`paths.algorithm` in ``libsemigroups_pybind11``.
14+
15+
Full API
16+
--------
17+
18+
.. currentmodule:: libsemigroups_pybind11.paths
19+
20+
.. autoclass:: algorithm
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
..
2+
Copyright (c) 2021-2024 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11
9+
10+
HPCombi
11+
=======
12+
13+
This page describes the functionality from `HPCombi`_ available in
14+
``libsemigroups_pybind11``. This functionality is only available if
15+
:any:`LIBSEMIGROUPS_HPCOMBI_ENABLED` is ``True``. `HPCombi`_ provides high
16+
performance (SIMD accelerated) partial transformations, transformations,
17+
permutations, and partial permutations on up to ``16`` points. The classes
18+
implementing these element types belong to the ``hpcombi`` subpackage of
19+
``libsemigroups_pybind11``, and can be used with the ``libsemigroups_pybind11``
20+
classes:
21+
22+
* :any:`FroidurePin`
23+
* :any:`Konieczny`
24+
* :any:`SchreierSims`
25+
26+
Variables
27+
~~~~~~~~~
28+
29+
.. py:attribute:: LIBSEMIGROUPS_HPCOMBI_ENABLED
30+
:type: bool
31+
32+
This variable indicates whether or not the version of ``libsemigroups``
33+
being used by ``libsemigroups_pybind11`` was compiled with `HPCombi`_
34+
enabled.
35+
36+
Classes
37+
~~~~~~~
38+
39+
.. toctree::
40+
:maxdepth: 1
41+
42+
perm16
43+
pperm16
44+
ptransf16
45+
transf16
46+
vect16
47+
48+
49+
.. _HPCombi: https://libsemigroups.github.io/HPCombi/
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The Perm16 class
11+
================
12+
13+
.. autoclass:: Perm16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~Perm16
23+
Perm16.copy
24+
Perm16.cycles_partition
25+
Perm16.elementary_transposition
26+
Perm16.inverse
27+
Perm16.inverse_arr
28+
Perm16.inverse_cycl
29+
Perm16.inverse_find
30+
Perm16.inverse_pow
31+
Perm16.inverse_ref
32+
Perm16.inverse_sort
33+
Perm16.left_weak_leq
34+
Perm16.left_weak_leq_length
35+
Perm16.left_weak_leq_ref
36+
Perm16.lehmer
37+
Perm16.lehmer_arr
38+
Perm16.lehmer_ref
39+
Perm16.length
40+
Perm16.length_arr
41+
Perm16.length_ref
42+
Perm16.nb_cycles
43+
Perm16.nb_cycles_ref
44+
Perm16.nb_cycles_unroll
45+
Perm16.nb_descents
46+
Perm16.nb_descents_ref
47+
Perm16.one
48+
Perm16.unrankSJT
49+
Perm16.validate
50+
51+
Full API
52+
--------
53+
54+
.. autoclass:: Perm16
55+
:class-doc-from: init
56+
:members:
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The PPerm16 class
11+
=================
12+
13+
.. autoclass:: PPerm16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~PPerm16
23+
PPerm16.copy
24+
PPerm16.inverse_ref
25+
PPerm16.left_one
26+
PPerm16.one
27+
PPerm16.right_one
28+
PPerm16.validate
29+
30+
Full API
31+
--------
32+
33+
.. autoclass:: PPerm16
34+
:class-doc-from: init
35+
:members:
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
..
2+
Copyright (c) 2025 J. D. Mitchell
3+
4+
Distributed under the terms of the GPL license version 3.
5+
6+
The full license is in the file LICENSE, distributed with this software.
7+
8+
.. currentmodule:: libsemigroups_pybind11.hpcombi
9+
10+
The PTransf16 class
11+
===================
12+
13+
.. autoclass:: PTransf16
14+
:doc-only:
15+
16+
Contents
17+
--------
18+
19+
.. autosummary::
20+
:signatures: short
21+
22+
~PTransf16
23+
PTransf16.copy
24+
PTransf16.domain_bitset
25+
PTransf16.domain_mask
26+
PTransf16.fix_points_bitset
27+
PTransf16.fix_points_mask
28+
PTransf16.image_bitset
29+
PTransf16.image_mask
30+
PTransf16.image_mask_ref
31+
PTransf16.largest_fix_point
32+
PTransf16.largest_moved_point
33+
PTransf16.left_one
34+
PTransf16.nb_fix_points
35+
PTransf16.one
36+
PTransf16.rank
37+
PTransf16.rank_cmpestrm
38+
PTransf16.rank_ref
39+
PTransf16.right_one
40+
PTransf16.smallest_fix_point
41+
PTransf16.smallest_moved_point
42+
PTransf16.validate
43+
44+
Full API
45+
--------
46+
47+
.. autoclass:: PTransf16
48+
:class-doc-from: init
49+
:members:

0 commit comments

Comments
 (0)