libsemigroups  v3.1.2
C++ library for semigroups and monoids
Loading...
Searching...
No Matches
Actions

This page contains an overview of the functionality in libsemigroups for finding actions of semigroups, or groups, on sets. The notion of an "action" in the context of libsemigroups is analogous to the notion of an orbit of a group.

You are unlikely to want to use Action directly, but rather via the more convenient aliases RightAction and LeftAction. To use RightAction and LeftAction with custom types, actions, and so on, see ActionTraits.

See also ImageLeftAction and ImageRightAction.

using namespace libsemigroups;
o;
PPerm<16>({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0},
16));
PPerm<16>({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{1, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
16));
PPerm<16>({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14},
16));
PPerm<16>({0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
16));
o.reserve(70000);
o.size(); // returns 65536
size_t size()
Returns the size of the fully enumerated action.
Definition action.hpp:578
Action & add_generator(element_type const &gen)
Add a generator to the action.
Definition action.hpp:445
Action & reserve(size_t val)
Increase the capacity to a value that is greater or equal to val.
Action & add_seed(const_reference_point_type seed)
Add a seed to the action.
Partial permutations with static or dynamic degree.
Definition transf.hpp:1223
Action< Element, Point, Func, Traits, side::right > RightAction
Definition action.hpp:933
Namespace for everything in the libsemigroups library.
Definition action.hpp:44
Adapter for the value of a right action.
Definition adapters.hpp:392

Classes

class  Action< Element, Point, Func, Traits, LeftOrRight >
 Class for generating the action of a semigroup. More...
 
struct  ActionTraits< Element, Point >
 

Typedefs

template<typename Element, typename Point, typename Func = ImageLeftAction<Element, Point>, typename Traits = ActionTraits<Element, Point>>
using LeftAction = Action<Element, Point, Func, Traits, side::left>
 
template<typename Element, typename Point, typename Func = ImageRightAction<Element, Point>, typename Traits = ActionTraits<Element, Point>>
using RightAction = Action<Element, Point, Func, Traits, side::right>
 

Typedef Documentation

◆ LeftAction

template<typename Element, typename Point, typename Func = ImageLeftAction<Element, Point>, typename Traits = ActionTraits<Element, Point>>
using LeftAction = Action<Element, Point, Func, Traits, side::left>

This class represents the left action of a semigroup on a set.

See also
Action for further details.

◆ RightAction

template<typename Element, typename Point, typename Func = ImageRightAction<Element, Point>, typename Traits = ActionTraits<Element, Point>>
using RightAction = Action<Element, Point, Func, Traits, side::right>

This class represents the right action of a semigroup on a set.

See also
Action for further details.