dejavu
Fast probabilistic symmetry detection.
Loading...
Searching...
No Matches
dejavu::groups::generating_set Class Reference

Stores a generating set. More...

#include <groups.h>

Public Member Functions

 generating_set ()=default
 
 generating_set (const generating_set &)=delete
 
generating_setoperator= (const generating_set &)=delete
 
void initialize (int new_domain_size)
 
int add_generator (schreier_workspace &w, automorphism_workspace &automorphism)
 
void remove_generator (size_t num)
 
void filter (schreier_workspace &w, std::vector< int > &fix_points)
 
void compact_generators ()
 
dej_nodiscard stored_automorphismget_generator (const size_t num) const
 
stored_automorphismoperator[] (const size_t num) const
 
dej_nodiscard int size () const
 
void clear ()
 
 ~generating_set ()
 

Public Attributes

int s_stored_sparse = 0
 
int s_stored_dense = 0
 

Detailed Description

Stores a generating set.

Definition at line 854 of file groups.h.

Constructor & Destructor Documentation

◆ generating_set() [1/2]

dejavu::groups::generating_set::generating_set ( )
default

◆ generating_set() [2/2]

dejavu::groups::generating_set::generating_set ( const generating_set )
delete

◆ ~generating_set()

dejavu::groups::generating_set::~generating_set ( )
inline

Definition at line 958 of file groups.h.

Member Function Documentation

◆ add_generator()

int dejavu::groups::generating_set::add_generator ( schreier_workspace w,
automorphism_workspace automorphism 
)
inline

Add a generator to this generating set.

Parameters
wThe Schreier workspace.
automorphismThe automorphism to be stored as a generator
Returns
Identifier of the new generator in the generating set.

Definition at line 880 of file groups.h.

◆ clear()

void dejavu::groups::generating_set::clear ( )
inline

Definition at line 951 of file groups.h.

◆ compact_generators()

void dejavu::groups::generating_set::compact_generators ( )
inline

Remove generators marked for deletion.

Definition at line 922 of file groups.h.

◆ filter()

void dejavu::groups::generating_set::filter ( schreier_workspace w,
std::vector< int > &  fix_points 
)
inline

Remove generators from generating set which do not fix points in fix_points.

Parameters
wA Schreier workspace.
fix_pointsPoints to be fixed by generating set.

Definition at line 906 of file groups.h.

◆ get_generator()

dej_nodiscard stored_automorphism * dejavu::groups::generating_set::get_generator ( const size_t  num) const
inline

Retrieve a generator from the stored generating set.

Parameters
numIdentifier of a generator.
Returns
A pointer to the generator which corresponds to the identifier.

Definition at line 936 of file groups.h.

◆ initialize()

void dejavu::groups::generating_set::initialize ( int  new_domain_size)
inline

Set up this generating set.

Parameters
domain_sizeSize of the domain of the stored generators.

Definition at line 869 of file groups.h.

◆ operator=()

generating_set & dejavu::groups::generating_set::operator= ( const generating_set )
delete

◆ operator[]()

stored_automorphism * dejavu::groups::generating_set::operator[] ( const size_t  num) const
inline

Definition at line 940 of file groups.h.

◆ remove_generator()

void dejavu::groups::generating_set::remove_generator ( size_t  num)
inline

Definition at line 893 of file groups.h.

◆ size()

dej_nodiscard int dejavu::groups::generating_set::size ( ) const
inline
Returns
number of stored generators

Definition at line 947 of file groups.h.

Member Data Documentation

◆ s_stored_dense

int dejavu::groups::generating_set::s_stored_dense = 0

how many generators are stored in a dense manner

Definition at line 859 of file groups.h.

◆ s_stored_sparse

int dejavu::groups::generating_set::s_stored_sparse = 0

how many generators are stored in a sparse manner

Definition at line 858 of file groups.h.


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