Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/semigroups/libsemigroups/docs/source/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 18.5.2025 mit Größe 2 kB image not shown  

Quelle  action.rst   Sprache: unbekannt

 
.. Copyright (c) 2019, J. D. Mitchell

   Distributed under the terms of the GPL license version 3.

   The full license is in the file LICENSE, distributed with this software.

Actions
=======

.. cpp:namespace:: libsemigroups

This page contains an overview summary 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 :cpp:class:`Action` directly, but rather via
the more convenient aliases :cpp:any:`RightAction` and :cpp:any:`LeftAction`.
To use :cpp:any:`RightAction` and :cpp:any:`LeftAction` with custom types,
actions, and so on, see :cpp:class:`ActionTraits`.
See also :cpp:any:`ImageLeftAction` and :cpp:any:`ImageRightAction`.

.. code-block:: cpp

    using namespace libsemigroups;
    RightAction<PPerm<16>, PPerm<16>, ImageRightAction<PPerm<16>, PPerm<16>>> o;
    o.add_seed(PPerm<16>::identity(16));
    o.add_generator(
        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));
    o.add_generator(
        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));
    o.add_generator(
        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));
    o.add_generator(
        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


The classes in ``libsemigroups`` for actions are:

.. toctree::
   :maxdepth: 1

   _generated/libsemigroups__action.rst
   _generated/libsemigroups__actiontraits
   api/left-action
   api/right-action
   _generated/libsemigroups__side.rst

[ Dauer der Verarbeitung: 0.25 Sekunden  (vorverarbeitet)  ]