quotient_froidure_pin¶
-
std::shared_ptr<FroidurePinBase>
libsemigroups::CongruenceByPairsHelper
::
quotient_froidure_pin
()¶ Returns a semigroup represented as an instance of a derived class of FroidurePinBase that is isomorphic to the quotient of the parent semigroup of
this
by the 2-sided congruence thatthis
represents.- Return
A std::shared_ptr to FroidurePinBase.
- Warning
The problem of determining the return value of this function is undecidable in general, and this function may never terminate.
- Note
The returned FroidurePin instance satisfies
FroidurePin::immutable() == true
and so certain of its member functions (those that change the underlying mathematical object) are disabled.- Parameters
(None)
- Exceptions
LibsemigroupsException
: if any of the following hold:the congruence is not 2-sided,
side() != congruence_type::twosided
the quotient semigroup is known (or can be easily be shown to be) infinite
the implementation throws.
std::bad_alloc
: if the (possibly infinite) computation uses all the available memory.