libsemigroups  v3.1.3
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:580
Action & add_generator(element_type const &gen)
Add a generator to the action.
Definition action.hpp:447
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:1225
Action< Element, Point, Func, Traits, side::right > RightAction
Definition action.hpp:935
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>
 

Functions

template<typename Element, typename Point, typename Func, typename Traits, side LeftOrRight>
std::string to_human_readable_repr (Action< Element, Point, Func, Traits, LeftOrRight > const &action)
 Return a human readable representation of an Action object.
 

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.

Function Documentation

◆ to_human_readable_repr()

template<typename Element, typename Point, typename Func, typename Traits, side LeftOrRight>
std::string to_human_readable_repr ( Action< Element, Point, Func, Traits, LeftOrRight > const & action)

Defined in action.hpp.

This function returns a human readable representation of an Action object.

Parameters
actionthe Action.
Returns
A std::string containing the representation.
Exceptions
This function guarantees not to throw a LibsemigroupsException.