quotient_froidure_pin¶
-
std::shared_ptr<FroidurePinBase>
libsemigroups::CongruenceInterface::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
thisby the 2-sided congruence thatthisrepresents.- 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() == trueand 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::twosidedthe 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.