FpSemigroup¶
-
class FpSemigroup : public libsemigroups::FpSemigroupInterface¶
Defined in
fpsemi.hpp
.This is a class for representing finitely presented semigroups and monoids.
On this page we describe the functionality relating to the FpSemigroup class. This class can be used for computing a finitely presented semigroup or monoid by running every applicable algorithm from libsemigroups (and possibly some variants of the same algorithm) in parallel. This class is provided for convenience, at present it is not very customisable, and lacks some of the fine grained control offered by the classes implementing individual algorithms, such as fpsemigroup::ToddCoxeter and fpsemigroup::KnuthBendix.
- Example
FpSemigroup S; S.set_alphabet(3); S.set_identity(0); S.add_rule({1, 2}, {0}); S.is_obviously_infinite(); // false
Member types¶
Type for characters. |
|
Type for const iterators to the defining rules. |
|
Type for rules. |
|
Type for strings. |
Constructors¶
Default construct an |
|
Default copy constructor. |
|
Construct an |
|
Construct an |
Deleted constructors¶
A |
|
A |
|
A |
Settings¶
Get the current maximum number of threads. |
|
Set the maximum number of threads. |
Member functions inherited from FpSemigroupInterface¶
Add a rule using a |
|
Add a rule using a |
|
|
Add a rule using two |
Add a rule using two std::string const references. |
|
Add a rule using two |
|
Add rules from a |
|
Add rules in a vector. |
|
Returns a const reference to the alphabet. |
|
Returns the |
|
Returns an iterator pointing to the first rule. |
|
Returns an iterator pointing one past the last rule. |
|
Convert a char to a |
|
|
Check if two words represent the same element. |
Check if two strings represent the same element. |
|
Check if two words represent the same element. |
|
Returns an isomorphic |
|
Check if an isomorphic |
|
Check if an identity has been set. |
|
Returns the identity (if any). |
|
Returns the inverses (if any). |
|
Check if the finitely presented semigroup is obviously finite. |
|
Check if the finitely presented semigroup is obviously infinite. |
|
Returns a normal form for a |
|
Returns a normal form for a string. |
|
Returns a normal form for a |
|
Returns the number of rules. |
|
Set the size of the alphabet. |
|
Set the alphabet of the finitely presented semigroup. |
|
Set a character in |
|
Set a character in |
|
Set the inverses of letters in |
|
Returns the size of the finitely presented semigroup. |
|
Convert a string to a |
|
Returns a string containing GAP commands for defining a finitely presented semigroup. |
|
Convert a |
|
Validates a letter specified by a |
|
Validates a letter specified by an integer. |
|
Validates a word given by a std::string. |
|
Validates a word given by a |
|
Convert a |
Member functions inherited from Runner¶
Check if the runner is dead. |
|
Check if |
|
Stop |
|
Check if it is time to report. |
|
Get the minimum elapsed time between reports. |
|
Set the minimum elapsed time between reports. |
|
Set the minimum elapsed time between reports. |
|
Report why |
|
Run until |
|
Run for a specified amount of time. |
|
Run for a specified amount of time. |
|
Run until a nullary predicate returns |
|
Run until a nullary predicate returns |
|
Check if currently running. |
|
Check if the runner is currently running for a particular length of time. |
|
Check if the runner is currently running until a nullary predicate returns |
|
Check if |
|
Check if the runner is stopped. |
|
Check if the runner was, or should, stop because of the argument for |
|
Check if the amount of time passed to |