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

Adapter for the inverse of an element.

Defined in adapters.hpp.

Specialisations of this struct should be stateless trivially default constructible with a call operator of signature Point operator()(Element const& x) const (possibly noexcept, inline and/or constexpr also).

The call operator should return the inverse of the element x under the assumption that x has an inverse (in the sense of groups). For example, if x is a permutation, then this would return its inverse. If x is a permutation matrix of type BMat8, then this operator would return its transpose.

Template Parameters
Elementthe type of the elements of a semigroup.

The second template parameter exists for SFINAE.

Used by:
Example
template <>
struct Inverse<BMat8> {
inline BMat8 operator()(BMat8 const& x) const noexcept {
LIBSEMIGROUPS_ASSERT(x * x.transpose() == x.one());
return x.transpose();
}
};
Fast boolean matrices of dimension up to 8 x 8.
Definition bmat8.hpp:74
BMat8 operator()(BMat8 const &x) const noexcept
Returns the group inverse of x.
Definition bmat8.hpp:1111
Adapter for the inverse of an element.
Definition adapters.hpp:319

Public Member Functions

BMat8 operator() (BMat8 const &x) const noexcept
 Returns the group inverse of x.
 

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