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

A transversal in a Schreier structure. More...

#include <groups.h>

Public Member Functions

dej_nodiscard int size () const
 
void set_size_upper_bound (const int new_sz_upb)
 
dej_nodiscard int get_size_upper_bound () const
 
dej_nodiscard int find_point (const int p) const
 
void reduce_to_unfinished (schreier_workspace &w, std::vector< int > &selection)
 
dej_nodiscard bool is_finished () const
 
dej_nodiscard int get_fixed_point () const
 
dej_nodiscard const std::vector< int > & get_fixed_orbit ()
 
dej_nodiscard const std::vector< int > & get_generators ()
 
void initialize (const int fixed_vertex, const int new_level, const int new_sz_upb)
 
bool extend_with_automorphism (schreier_workspace &w, generating_set &generators, automorphism_workspace &automorphism)
 
bool fix_automorphism (schreier_workspace &w, generating_set &generators, automorphism_workspace &automorphism) const
 

Detailed Description

A transversal in a Schreier structure.

Can be used across multiple threads.

Definition at line 968 of file groups.h.

Member Function Documentation

◆ extend_with_automorphism()

bool dejavu::groups::shared_transversal::extend_with_automorphism ( schreier_workspace w,
generating_set generators,
automorphism_workspace automorphism 
)
inline

Extend this transversal using the given automorphism.

Parameters
generatorsGenerating set of this Schreier structure.
automorphismExtend the transversal using this automorphism.
Returns
whether transversal was extended

Definition at line 1141 of file groups.h.

◆ find_point()

dej_nodiscard int dejavu::groups::shared_transversal::find_point ( const int  p) const
inline

Check whether a point p is contained in transversal.

Parameters
pPoint to check.
Returns
Position of point in transversal, or -1 if not contained.

Definition at line 1065 of file groups.h.

◆ fix_automorphism()

bool dejavu::groups::shared_transversal::fix_automorphism ( schreier_workspace w,
generating_set generators,
automorphism_workspace automorphism 
) const
inline

Fix fixed in automorphism.

Parameters
generatorsThe underlying generating set.
automorphismAutomorphism where fixed will be fixed.
Returns
whether automorphism is now the identity

Definition at line 1198 of file groups.h.

◆ get_fixed_orbit()

dej_nodiscard const std::vector< int > & dejavu::groups::shared_transversal::get_fixed_orbit ( )
inline

Definition at line 1110 of file groups.h.

◆ get_fixed_point()

dej_nodiscard int dejavu::groups::shared_transversal::get_fixed_point ( ) const
inline
Returns
Point fixed by this transversal.

Definition at line 1106 of file groups.h.

◆ get_generators()

dej_nodiscard const std::vector< int > & dejavu::groups::shared_transversal::get_generators ( )
inline

Definition at line 1114 of file groups.h.

◆ get_size_upper_bound()

dej_nodiscard int dejavu::groups::shared_transversal::get_size_upper_bound ( ) const
inline

Definition at line 1056 of file groups.h.

◆ initialize()

void dejavu::groups::shared_transversal::initialize ( const int  fixed_vertex,
const int  new_level,
const int  new_sz_upb 
)
inline

Initialize this transversal.

Parameters
fixed_vertexVertex fixed by the transversal.
levelPosition of the transversal in the base of Schreier structure.
sz_upbUpper bound for the size of transversal (e.g., color class size in combinatorial base).

Definition at line 1125 of file groups.h.

◆ is_finished()

dej_nodiscard bool dejavu::groups::shared_transversal::is_finished ( ) const
inline
Returns
Whether size of this transversal matches the given upper bound.

Definition at line 1099 of file groups.h.

◆ reduce_to_unfinished()

void dejavu::groups::shared_transversal::reduce_to_unfinished ( schreier_workspace w,
std::vector< int > &  selection 
)
inline

Reduces a vector of vertices selection to contain only points not contained in this transversal

Parameters
wA Schreier workspace.
selectionVector to be reduced.

Definition at line 1080 of file groups.h.

◆ set_size_upper_bound()

void dejavu::groups::shared_transversal::set_size_upper_bound ( const int  new_sz_upb)
inline

Definition at line 1052 of file groups.h.

◆ size()

dej_nodiscard int dejavu::groups::shared_transversal::size ( ) const
inline
Returns
Size of the transversal.

Definition at line 1048 of file groups.h.


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