Attributes¶
This page contains information about non-const attributes of the SchreierSims
class.
-
inline point_type libsemigroups::SchreierSims::base(index_type index) const¶
Get a base point.
- Complexity
Constant.
- Parameters
index – the index of the base point.
- Throws
LibsemigroupsException – if
index
is out of range.- Returns
the base point with index
index
.
-
inline size_t libsemigroups::SchreierSims::base_size() const noexcept¶
Get the size of the current base.
- Complexity
Constant.
- Parameters
(None)
- Throws
(None) – This function is
noexcept
and is guaranteed never to throw.- Returns
A
size_t
.
-
inline bool libsemigroups::SchreierSims::empty()¶
Check if any generators have been added so far.
- Parameters
(None)
- Complexity
Constant.
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.- Returns
true
ifnumber_of_generators() == 0
andfalse
otherwise.
-
inline bool libsemigroups::SchreierSims::finished() const¶
Check if the stabiliser chain is fully enumerated.
- Complexity
Constant.
- Parameters
(None)
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.- Returns
true
if the stabiliser chain is fully enumerated andfalse
otherwise.
-
inline const_element_reference libsemigroups::SchreierSims::generator(index_type index) const¶
Get a generator.
- Complexity
Constant.
- Parameters
index – the index of the generator we want.
- Throws
LibsemigroupsException – if the
index
is out of bounds.- Returns
A const reference to the generator of
this
with indexindex
.
-
inline const_element_reference libsemigroups::SchreierSims::identity() const¶
Returns a const reference to the identity.
- Parameters
(None)
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.- Returns
A
bool
.
-
inline const_element_reference libsemigroups::SchreierSims::inversal_element(index_type depth, point_type pt)¶
Get an inversal element.
- Complexity
Constant.
- Parameters
depth – the depth.
pt – the point to map to the base point under the inversal.
- Throws
LibsemigroupsException – if the
depth
is out of bounds.LibsemigroupsException – if
pt
is not in the orbit of the basepoint.
- Returns
A const reference to the insversal element of
this
at depthdepth
moving the corresponding pointpt
to the basepoint.
-
inline size_t libsemigroups::SchreierSims::number_of_generators() const noexcept¶
The number of generators.
- Complexity
Constant.
- Parameters
(None)
- Throws
(None) – This function is
noexcept
and is guaranteed never to throw.- Returns
The number of generators, a value of
size_t
.
-
inline size_t libsemigroups::SchreierSims::number_of_strong_generators(index_type depth) const¶
The number of strong generators at a given depth.
- Complexity
Constant.
- Parameters
(None)
- Parameters
depth – the depth.
- Throws
LibsemigroupsException – if the
depth
is out of bounds.- Returns
The number of strong generators, a value of
size_t
, at depthdepth
of the stabiliser chain.
-
inline bool libsemigroups::SchreierSims::orbits_lookup(index_type depth, point_type pt)¶
Check if a point is in the orbit of a basepoint.
- Complexity
Constant.
- Parameters
depth – the depth.
pt – the point.
- Throws
LibsemigroupsException – if the
depth
is out of bounds or ifpt
is out of bounds.- Returns
A boolean indicating if the point
pt
is in the orbit of the basepoint ofthis
at depthdepth
.
-
inline uint64_t libsemigroups::SchreierSims::size()¶
Returns the size of the group represented by this.
- Parameters
(None)
- Throws
(None) – This function guarantees not to throw a
LibsemigroupsException
.- Returns
the size, a value of
uint64_t
.
-
inline const_element_reference libsemigroups::SchreierSims::strong_generator(index_type depth, index_type index) const¶
Get a strong generator.
- Complexity
Constant.
- Parameters
depth – the depth.
index – the index of the generator we want.
- Throws
LibsemigroupsException – if the
depth
is out of bounds.LibsemigroupsException – if the
index
is out of bounds.
- Returns
A const reference to the strong generator of
this
at depthdepth
and with indexindex
.
-
inline const_element_reference libsemigroups::SchreierSims::transversal_element(index_type depth, point_type pt)¶
Get a transversal element.
- Complexity
Constant.
- Parameters
depth – the depth.
pt – the image of the base point under the traversal.
- Throws
LibsemigroupsException – if the
depth
is out of bounds.LibsemigroupsException – if
pt
is not in the orbit of the basepoint.
- Returns
A const reference to the transversal element of
this
at depthdepth
moving the corresponding basepoint to the pointpt
.