![]() |
libsemigroups
v3.0.0
C++ library for semigroups and monoids
|
This namespace contains helper functions for the Blocks class.
Functions | |
void | throw_if_invalid (Blocks const &x) |
Check a Blocks object. | |
std::vector< std::vector< int32_t > > | underlying_partition (Blocks const &x) |
Return the underlying partition of a Blocks object. | |
void throw_if_invalid | ( | Blocks const & | x | ) |
This function checks a Blocks object, and throws an exception if the object does not:
x
, then \(i - 1\) occurs earlier in x
.The value of x[i]
should represent the index of the block containing i
.
For example, if x
is {0, 1, 1, 2, 1, 1, 3, 1, 1, 4, 5, 6}
, then the above conditions are satisfied, but if x
is {1, 0, 1, 10}
then they are not.
x | the blocks object to check. |
LibsemigroupsException | if x is invalid. |
|
nodiscard |
The underlying partition of a Blocks object x
is the partition of a subset \(P\) of \(\{-n, \ldots, -1\}\cup \{1, \ldots,
n\}\) such that:
x
is a transverse block.x | the Blocks object. |