Classes | |
| class | const_cgp_iterator |
| For iterating over the two-sided congruence generating pairs. More... | |
| class | const_rcgp_iterator |
| For iterating over the right congruence generating pairs. More... | |
Functions | |
| template<typename Subclass> | |
| Subclass & | add_excluded_pair (SimsSettings< Subclass > &sims, char const *u, char const *v) |
| Helper for adding a excluded pair of words (string literals). | |
| template<typename Subclass, typename Int> | |
| Subclass & | add_excluded_pair (SimsSettings< Subclass > &sims, std::initializer_list< Int > const &u, std::initializer_list< Int > const &v) |
| Helper for adding a excluded pair of words (std::initializer_list). | |
| template<typename Subclass> | |
| Subclass & | add_excluded_pair (SimsSettings< Subclass > &sims, std::string_view u, std::string_view v) |
| Helper for adding a excluded pair of words (std::string_view). | |
| template<typename Subclass, typename Word> | |
| Subclass & | add_excluded_pair (SimsSettings< Subclass > &sims, Word const &u, Word const &v) |
| Helper for adding an excluded pair of words. | |
| template<typename Subclass> | |
| Subclass & | add_excluded_pair_no_checks (SimsSettings< Subclass > &sims, char const *u, char const *v) |
| Helper for adding a excluded pair of words (string literals). | |
| template<typename Subclass, typename Int> | |
| Subclass & | add_excluded_pair_no_checks (SimsSettings< Subclass > &sims, std::initializer_list< Int > const &u, std::initializer_list< Int > const &v) |
| Helper for adding a excluded pair of words (std::initializer_list). | |
| template<typename Subclass> | |
| Subclass & | add_excluded_pair_no_checks (SimsSettings< Subclass > &sims, std::string_view u, std::string_view v) |
| Helper for adding a excluded pair of words (std::string_view). | |
| template<typename Subclass, typename Word> | |
| Subclass & | add_excluded_pair_no_checks (SimsSettings< Subclass > &sims, Word const &u, Word const &v) |
| Helper for adding an excluded pair of words. | |
| template<typename Subclass> | |
| Subclass & | add_included_pair (SimsSettings< Subclass > &sims, char const *u, char const *v) |
| Helper for adding a included pair of words (string literals). | |
| template<typename Subclass, typename Int> | |
| Subclass & | add_included_pair (SimsSettings< Subclass > &sims, std::initializer_list< Int > const &u, std::initializer_list< Int > const &v) |
| Helper for adding a included pair of words (std::initializer_list). | |
| template<typename Subclass> | |
| Subclass & | add_included_pair (SimsSettings< Subclass > &sims, std::string_view u, std::string_view v) |
| Helper for adding a included pair of words (std::string_view). | |
| template<typename Subclass, typename Word> | |
| Subclass & | add_included_pair (SimsSettings< Subclass > &sims, Word const &u, Word const &v) |
| Helper for adding an included pair of words. | |
| template<typename Subclass> | |
| Subclass & | add_included_pair_no_checks (SimsSettings< Subclass > &sims, char const *u, char const *v) |
| Helper for adding a generating pair of words (string literals). | |
| template<typename Subclass, typename Int> | |
| Subclass & | add_included_pair_no_checks (SimsSettings< Subclass > &sims, std::initializer_list< Int > const &u, std::initializer_list< Int > const &v) |
| Helper for adding a generating pair of words (std::initializer_list). | |
| template<typename Subclass> | |
| Subclass & | add_included_pair_no_checks (SimsSettings< Subclass > &sims, std::string_view u, std::string_view v) |
| Helper for adding a generating pair of words (std::string_view). | |
| template<typename Subclass, typename Word> | |
| Subclass & | add_included_pair_no_checks (SimsSettings< Subclass > &sims, Word const &u, Word const &v) |
| Helper for adding an included pair of words. | |
| template<typename Node> | |
| const_rcgp_iterator | cbegin_right_generating_pairs (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to the first right congruence generating pair. | |
| template<typename Node> | |
| const_rcgp_iterator | cbegin_right_generating_pairs_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to the first right congruence generating pair (no checks). | |
| template<typename Node> | |
| const_cgp_iterator | cbegin_two_sided_generating_pairs (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to the first two-sided congruence generating pair. | |
| template<typename Node> | |
| const_cgp_iterator | cbegin_two_sided_generating_pairs_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to the first two-sided congruence generating pair (no checks). | |
| template<typename Node> | |
| const_rcgp_iterator | cend_right_generating_pairs (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to one after the last right congruence generating pair. | |
| template<typename Node> | |
| const_rcgp_iterator | cend_right_generating_pairs_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to one after the last right congruence generating pair (no checks). | |
| template<typename Node> | |
| const_cgp_iterator | cend_two_sided_generating_pairs (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to one after the last two-sided congruence generating pair. | |
| template<typename Node> | |
| const_cgp_iterator | cend_two_sided_generating_pairs_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Get an iterator pointing to one after the last two-sided congruence generating pair (no checks). | |
| template<typename Iterator> | |
| Dot | dot_poset (Iterator first, Iterator last) |
| Construct a Dot object representing the inclusion poset of a collection of word graphs. | |
| template<typename Node> | |
| bool | is_maximal_right_congruence (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Check if a word graph defines a maximal right congruence on an f.p. semigroup or monoid. | |
| template<typename Node> | |
| bool | is_right_congruence (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Check if a word graph defines a right congruence on an f.p. semigroup or monoid. | |
| template<typename Node> | |
| bool | is_right_congruence_of_dual (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Check if a word graph defines a right congruence on the dual of an f.p. semigroup or monoid. | |
| template<typename Node> | |
| bool | is_two_sided_congruence (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Check if a word graph defines a two sided congruence on an f.p. semigroup or monoid. | |
| template<typename Node> | |
| bool | is_two_sided_congruence_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Check if a word graph defines a two-sided congruence on an f.p. semigroup or monoid (no checks). | |
| template<typename Iterator> | |
| BMat | poset (Iterator first, Iterator last) |
| Compute the inclusion poset of a collection of congruences defined by word graphs. | |
| template<typename Node> | |
| rx::iterator_range< const_rcgp_iterator > | right_generating_pairs (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Compute the right congruence generating pairs of a word graph on an f.p. semigroup or monoid. | |
| template<typename Node> | |
| rx::iterator_range< const_rcgp_iterator > | right_generating_pairs (WordGraph< Node > const &wg) |
| Compute the right congruence generating pairs of a word graph on the free monoid. | |
| template<typename Node> | |
| rx::iterator_range< const_rcgp_iterator > | right_generating_pairs_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Compute the right congruence generating pairs of a word graph on an f.p. semigroup or monoid (no checks). | |
| template<typename Node> | |
| rx::iterator_range< const_rcgp_iterator > | right_generating_pairs_no_checks (WordGraph< Node > const &wg) |
| Compute the right congruence generating pairs of a word graph on the free monoid (no checks). | |
| template<typename Node> | |
| void | throw_if_not_right_congruence (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Throw if a word graph does not define a right congruence on a f.p. semigroup or monoid. | |
| template<typename Node> | |
| void | throw_if_not_two_sided_congruence (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Throw if a word graph does not define a two sided congruence on a f.p. semigroup or monoid. | |
| template<typename Node> | |
| rx::iterator_range< const_cgp_iterator > | two_sided_generating_pairs (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Range object containing the two-sided congruence generating pairs of a word graph on an f.p. semigroup or monoid. | |
| template<typename Node> | |
| rx::iterator_range< const_cgp_iterator > | two_sided_generating_pairs (WordGraph< Node > const &wg) |
| Compute the two-sided congruence generating pairs of a word graph on the free monoid. | |
| template<typename Node> | |
| rx::iterator_range< const_cgp_iterator > | two_sided_generating_pairs_no_checks (Presentation< word_type > const &p, WordGraph< Node > const &wg) |
| Compute the two-sided congruence generating pairs of a word graph on an f.p. semigroup or monoid (no checks). | |
| template<typename Node> | |
| rx::iterator_range< const_cgp_iterator > | two_sided_generating_pairs_no_checks (WordGraph< Node > const &wg) |
| Compute the two-sided congruence generating pairs of a word graph on the free monoid (no checks). | |
| Subclass & add_excluded_pair | ( | SimsSettings< Subclass > & | sims, |
| char const * | u, | ||
| char const * | v ) |
| Subclass & add_excluded_pair | ( | SimsSettings< Subclass > & | sims, |
| std::initializer_list< Int > const & | u, | ||
| std::initializer_list< Int > const & | v ) |
| Subclass & add_excluded_pair | ( | SimsSettings< Subclass > & | sims, |
| std::string_view | u, | ||
| std::string_view | v ) |
| Subclass & add_excluded_pair | ( | SimsSettings< Subclass > & | sims, |
| Word const & | u, | ||
| Word const & | v ) |
This function can be used to add an excluded pair to sims using the objects themselves rather than using iterators.
| Subclass | the type of the first parameter. |
| Word | the type of the second and third parameters. |
| sims | a Sims1 or Sims2 object. |
| u | the left hand side of the pair to add. |
| v | the right hand side of the pair to add. |
sims.| LibsemigroupsException | if any of the values pointed at by the iterators is out of range, i.e. they do not belong to presentation().alphabet() and Presentation::validate_word throws. |
| Subclass & add_excluded_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| char const * | u, | ||
| char const * | v ) |
See add_excluded_pair_no_checks<Subclass, Word>(SimsSettings<Subclass>&, Word const&, Word const&) for details.
| Subclass & add_excluded_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| std::initializer_list< Int > const & | u, | ||
| std::initializer_list< Int > const & | v ) |
See add_excluded_pair_no_checks<Subclass, Word>(SimsSettings<Subclass>&, Word const&, Word const&) for details.
| Subclass & add_excluded_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| std::string_view | u, | ||
| std::string_view | v ) |
See add_excluded_pair_no_checks<Subclass, Word>(SimsSettings<Subclass>&, Word const&, Word const&) for details.
| Subclass & add_excluded_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| Word const & | u, | ||
| Word const & | v ) |
This function can be used to add an excluded pair to sims using the objects themselves rather than using iterators.
| Subclass | the type of the first parameter. |
| Word | the type of the second and third parameters. |
| sims | a Sims1 or Sims2 object. |
| u | the left hand side of the pair to add. |
| v | the right hand side of the pair to add. |
sims.presentation().alphabet().| Subclass & add_included_pair | ( | SimsSettings< Subclass > & | sims, |
| char const * | u, | ||
| char const * | v ) |
| Subclass & add_included_pair | ( | SimsSettings< Subclass > & | sims, |
| std::initializer_list< Int > const & | u, | ||
| std::initializer_list< Int > const & | v ) |
| Subclass & add_included_pair | ( | SimsSettings< Subclass > & | sims, |
| std::string_view | u, | ||
| std::string_view | v ) |
| Subclass & add_included_pair | ( | SimsSettings< Subclass > & | sims, |
| Word const & | u, | ||
| Word const & | v ) |
This function can be used to add an included pair to sims using the objects themselves rather than using iterators.
| Subclass | the type of the first parameter. |
| Word | the type of the second and third parameters. |
| sims | a Sims1 or Sims2 object. |
| u | the left hand side of the pair to add. |
| v | the right hand side of the pair to add. |
sims.| LibsemigroupsException | if any of the values pointed at by the iterators is out of range, i.e. they do not belong to presentation().alphabet() and Presentation::validate_word throws. |
| Subclass & add_included_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| char const * | u, | ||
| char const * | v ) |
See add_included_pair_no_checks<Subclass, Word>(SimsSettings<Subclass>&, Word const&, Word const&) for details.
| Subclass & add_included_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| std::initializer_list< Int > const & | u, | ||
| std::initializer_list< Int > const & | v ) |
See add_included_pair_no_checks<Subclass, Word>(SimsSettings<Subclass>&, Word const&, Word const&) for details.
| Subclass & add_included_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| std::string_view | u, | ||
| std::string_view | v ) |
See add_included_pair_no_checks<Subclass, Word>(SimsSettings<Subclass>&, Word const&, Word const&) for details.
| Subclass & add_included_pair_no_checks | ( | SimsSettings< Subclass > & | sims, |
| Word const & | u, | ||
| Word const & | v ) |
This function can be used to add an included pair to sims using the objects themselves rather than using iterators.
| Subclass | the type of the first parameter. |
| Word | the type of the second and third parameters. |
| sims | a Sims1 or Sims2 object. |
| u | the left hand side of the pair to add. |
| v | the right hand side of the pair to add. |
sims.presentation().alphabet().| const_rcgp_iterator cbegin_right_generating_pairs | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.| LibsemigroupsException | if the argument wg does not define a right congruence on the monoid presented by p. |
| const_rcgp_iterator cbegin_right_generating_pairs_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.wg already defines a right congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | const_cgp_iterator cbegin_two_sided_generating_pairs | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.| LibsemigroupsException | if the argument wg does not define a two-sided congruence on the semigroup or monoid defined by p. |
| const_cgp_iterator cbegin_two_sided_generating_pairs_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.wg already defines a two-sided congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | const_rcgp_iterator cend_right_generating_pairs | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.| LibsemigroupsException | if the argument wg does not define a right congruence on the semigroup or monoid defined by p. |
| const_rcgp_iterator cend_right_generating_pairs_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.wg already defines a right congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | const_cgp_iterator cend_two_sided_generating_pairs | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.| LibsemigroupsException | if the argument wg does not define a two-sided congruence on the semigroup or monoid defined by p. |
| const_cgp_iterator cend_two_sided_generating_pairs_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.wg already defines a two-sided congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | bool is_maximal_right_congruence | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
true if the word graph wg defines a maximal right congruence on the semigroup or monoid defined by p and false otherwise. | bool is_right_congruence | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
true if the word graph wg defines a right congruence on the semigroup or monoid defined by p and false otherwise. | bool is_right_congruence_of_dual | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
This function checks if wg defines a right congruence over the dual of p. This is equivalent to checking if the word graph defines a left congruence in the semigroup or monoid defined by p.
true if the word graph wg defines a right congruence on the dual of the semigroup or monoid defined by p and false otherwise. | bool is_two_sided_congruence | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
true if the word graph wg defines a two-sided congruence on the semigroup or monoid defined by p and false otherwise. | bool is_two_sided_congruence_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
true if the word graph wg defines a two-sided congruence on the semigroup or monoid defined by p and false otherwise.wg already defines a two-sided congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | BMat poset | ( | Iterator | first, |
| Iterator | last ) |
This function computes a boolean matrix whose (i, j)-th entry is 1 if and only if the congruence defined by the i-th word graph in [first, last) is a subrelation of the congruence defined by the j-th word graph in [first, last). If [first, last) is the collection of all congruences of a given semigroup or monoid, then this is equivalent to computing the congruence lattice of the semigroup or monoid.
[first, last) is a complete word graph. If this is not the case, then bad things may happen. | rx::iterator_range< const_rcgp_iterator > right_generating_pairs | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.| LibsemigroupsException | if the argument wg does not define a right congruence on the semigroup or monoid defined by p. |
| rx::iterator_range< const_rcgp_iterator > right_generating_pairs | ( | WordGraph< Node > const & | wg | ) |
wg on the free monoid.| LibsemigroupsException | if the argument wg does not define a right congruence on the free monoid. |
| rx::iterator_range< const_rcgp_iterator > right_generating_pairs_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.wg already defines a right congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | rx::iterator_range< const_rcgp_iterator > right_generating_pairs_no_checks | ( | WordGraph< Node > const & | wg | ) |
wg on the free monoid.wg already defines a right congruence on the free monoid. If this is not the case, then bad things may happen. | rx::iterator_range< const_cgp_iterator > two_sided_generating_pairs | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.| LibsemigroupsException | if the argument wg does not define a two-sided congruence on the semigroup or monoid presented by p. |
| rx::iterator_range< const_cgp_iterator > two_sided_generating_pairs | ( | WordGraph< Node > const & | wg | ) |
wg on the free monoid.| LibsemigroupsException | if the argument wg does not define a two-sided congruence on the free monoid. |
| rx::iterator_range< const_cgp_iterator > two_sided_generating_pairs_no_checks | ( | Presentation< word_type > const & | p, |
| WordGraph< Node > const & | wg ) |
wg on the semigroup or monoid defined by p.wg already defines a two-sided congruence on the semigroup or monoid defined by p. If this is not the case, then bad things may happen. | rx::iterator_range< const_cgp_iterator > two_sided_generating_pairs_no_checks | ( | WordGraph< Node > const & | wg | ) |
wg on the free monoid.wg already defines a two-sided congruence on the free monoid. If this is not the case, then bad things may happen.