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
that
intothis
.- 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
M
that 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
this
by the product ofx
andy
.- Complexity
Linear in degree().
Warning
No checks are made on whether or not the parameters are compatible. If
x
andy
have 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
M
that 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
.