libsemigroups  v3.0.0
C++ library for semigroups and monoids
Loading...
Searching...
No Matches
Rank< BMat8 >

Adapter for calculating ranks.

Defined in adapters.hpp.

This type should be default constructible and a call operator of signature size_t operator()(Element const&) if no additional data is required to compute the rank, or a call operator of signature size_t operator()(State<Element> const&, Element const&) if additional data is required.

The call operator should return the rank of the element given as argument. This must satisfy the following properties:

  • \(\operatorname{rank}\) should agree with the \(D\)-order on the semigroup; that is, if \(D_x \leq D_y\), then \(\operatorname{rank}(x) \leq \operatorname{rank}(y)\),
  • if \(D_x \leq D_y\) and \(\operatorname{rank}(x) = \operatorname{rank}(y)\), then \(D_x = D_y\).
Template Parameters
Elementthe type of elements.
Statethe type of the data required to compute ranks of Elements; defaults to RankState<Element>.

The third template parameter exists for SFINAE.

Used by:

Public Member Functions

size_t operator() (BMat8 const &x) const noexcept
 

Member Function Documentation

◆ operator()()

size_t operator() ( BMat8 const & x) const
inlinenodiscardnoexcept

Returns the rank of x as used in the Konieczny algorithm; for BMat8 this is the size of the row space.


The documentation for this struct was generated from the following file: