Blocks

class Blocks

Defined bipart.hpp.

Blocks is a class representing signed partitions of the set \(\{0, \ldots, n - 1\}\).

It is possible to associate to every Bipartition a pair of blocks, Bipartition::left_blocks() and Bipartition::right_blocks(), which determine the Green’s \(\mathscr{L}\)- and \(\mathscr{R}\)-classes of the Bipartition in the monoid of all bipartitions. This is the purpose of this class.

The Blocks class is not currently used widely in libsemigroups but are used extensively in the GAP package Semigroups package for GAP.

Member types

const_iterator

Type for const iterators pointing to the index of the block.

iterator

Type for iterators pointing to the index of the block.

lookup_const_iterator

Type for const iterators pointing to the transverse block lookup.

Constructors

Blocks() noexcept = default

Blocks(Blocks const&) = default

Default copy constructor.

Blocks(Blocks&&) = default

Default move constructor.

Blocks(const_iterator,const_iterator)

Blocks(size_t)

operator=(Blocks const&) = default

Default copy assignment operator.

operator=(Blocks&&) = default

Default move assignment operator.

Initialisation

set_block(size_t, uint32_t)

set_is_transverse_block(size_t, bool)

Operators

operator!=(Blocks const&) const

operator<(Blocks const&) const

operator==(Blocks const&) const

operator[](size_t) const

Attributes

degree() const noexcept

hash_value() const noexcept

is_transverse_block(size_t) const noexcept

number_of_blocks() const noexcept

rank() const

Iterators

cbegin() const noexcept

cbegin_lookup() const noexcept

cend() const noexcept

cend_lookup() const noexcept