Member functions¶
-
inline PPerm libsemigroups::PPerm::inverse() const¶
Returns the inverse.
This function returns a newly constructed inverse of
this.- Parameters
(None)
- Complexity
Linear in degree()
- Throws:
(None) – This function guarantees not to throw a
LibsemigroupsException.- Returns:
A value of type
PPerm.
-
inline void libsemigroups::PPerm::inverse(PPerm &that) const¶
Replace contents of a partial perm with the inverse of another.
This function inverts
thatintothis.- Complexity
Linear in degree()
- Parameters:
that – the partial perm to invert.
- Throws:
(None) – This function guarantees not to throw a
LibsemigroupsException.- Returns:
(None)
-
inline PPerm libsemigroups::PPerm::left_one() const¶
Returns the left one of this.
This function returns a newly constructed partial perm with degree equal to
Mthat fixes every value in the domain ofthis, and is UNDEFINED on any other values.- Parameters
(None)
- Complexity
Linear in degree()
- Throws:
(None) – This function guarantees not to throw a
LibsemigroupsException.- Returns:
A value of type
PPerm.
-
inline void libsemigroups::PPerm::product_inplace(PPerm const &x, PPerm const &y)¶
Multiply two partial perms and store the product in
this.Replaces the contents of
thisby the product ofxandy.- Complexity
Linear in degree().
Warning
No checks are made on whether or not the parameters are compatible. If
xandyhave different degrees, then bad things will happen.- Parameters:
x – a partial perm.
y – a partial perm.
- Throws:
(None) – This function guarantees not to throw a
LibsemigroupsException.- Returns:
(None)
-
inline PPerm libsemigroups::PPerm::right_one() const¶
Returns the right one of this.
This function returns a newly constructed partial perm with degree equal to
Mthat fixes every value in the range ofthis, and is UNDEFINED on any other values.- Parameters
(None)
- Complexity
Linear in degree()
- Throws:
(None) – This function guarantees not to throw a
LibsemigroupsException.- Returns:
A value of type
PPerm.