Elements

This page contains an overview summary of the functionality in libsemigroups for defining elements of semigroups.

If libsemigroups is compiled with HPCombi support enabled (see Installation for details), then the types defined in HPCombi (which use the SSE and AVX instruction sets for very fast manipulation of these types) can be used with the algorithms in libsemigroups; for further details see the HPCombi documentation.

Helpers

The following helpers:

can be used to get the smallest/fastest type representing a permutation, partial permutation, or transformation, and can be used independently of whether or not libsemigroups is compiled with HPCombi support enabled.