Compressed Schreier structure.
More...
#include <groups.h>
|
| dej_nodiscard int | s_sparsegen () const |
| |
| dej_nodiscard int | s_densegen () const |
| |
| bool | reset (domain_compressor *new_compressor, int new_domain_size, schreier_workspace &w, std::vector< int > &new_base, std::vector< int > &new_base_sizes, const int stop, bool keep_old, std::vector< int > &global_fixed_points) |
| |
| void | determine_potential_individualization (std::vector< std::pair< int, int > > *save_to_individualize, coloring *root_coloring) |
| |
| dej_nodiscard int | base_point (int pos) const |
| |
| dej_nodiscard int | base_size () const |
| |
| bool | is_in_base_orbit (const int base_pos, const int v) |
| |
| void | reduce_to_unfinished (schreier_workspace &w, std::vector< int > &selection, int base_pos) |
| |
| void | compress_automorphism (automorphism_workspace &automorphism, automorphism_workspace &automorphism_compress) |
| |
| bool | sift (schreier_workspace &w, automorphism_workspace &automorphism, bool uniform=false) |
| |
| bool | sift_random (schreier_workspace &w, automorphism_workspace &automorphism, random_source &rng) |
| |
| void | reset_probabilistic_criterion () |
| |
| dej_nodiscard bool | probabilistic_abort_criterion () const |
| |
| dej_nodiscard bool | deterministic_abort_criterion () const |
| |
| dej_nodiscard bool | any_abort_criterion () const |
| |
| void | set_error_bound (int error_bound) |
| |
| dej_nodiscard int | get_consecutive_success () const |
| |
| dej_nodiscard big_number | get_group_size () const |
| |
| dej_nodiscard int | finished_up_to_level () const |
| |
| void | compute_group_size () |
| |
Compressed Schreier structure.
Internally, stores a random_schreier_internal structure in a compressed form using domain_compressor.
Definition at line 1976 of file groups.h.
◆ any_abort_criterion()
| dej_nodiscard bool dejavu::groups::compressed_schreier::any_abort_criterion |
( |
| ) |
const |
|
inline |
- Returns
- Whether any abort criterion allows termination or not.
Definition at line 2197 of file groups.h.
◆ base_point()
| dej_nodiscard int dejavu::groups::compressed_schreier::base_point |
( |
int |
pos | ) |
const |
|
inline |
- Parameters
-
- Returns
- Vertex fixed at position
pos in base.
Definition at line 2073 of file groups.h.
◆ base_size()
| dej_nodiscard int dejavu::groups::compressed_schreier::base_size |
( |
| ) |
const |
|
inline |
- Returns
- Size of base of this Schreier structure.
Definition at line 2084 of file groups.h.
◆ compress_automorphism()
◆ compute_group_size()
| void dejavu::groups::compressed_schreier::compute_group_size |
( |
| ) |
|
|
inline |
- Returns
- Size of group described by this Schreier structure.
Definition at line 2225 of file groups.h.
◆ determine_potential_individualization()
| void dejavu::groups::compressed_schreier::determine_potential_individualization |
( |
std::vector< std::pair< int, int > > * |
save_to_individualize, |
|
|
coloring * |
root_coloring |
|
) |
| |
|
inline |
Returns a vertex to individualize for each color of root_coloring that matches in size a corresponding transversal.
- Parameters
-
| save_to_individualize | Vector in which vertices deemed save to individualize are pushed. |
| root_coloring | The coloring with which the stored transversals are compared. |
Definition at line 2054 of file groups.h.
◆ deterministic_abort_criterion()
| dej_nodiscard bool dejavu::groups::compressed_schreier::deterministic_abort_criterion |
( |
| ) |
const |
|
inline |
- Returns
- Whether the deterministic abort criterion allows termination or not.
Definition at line 2190 of file groups.h.
◆ finished_up_to_level()
| dej_nodiscard int dejavu::groups::compressed_schreier::finished_up_to_level |
( |
| ) |
const |
|
inline |
- Returns
- Level up to which Schreier structure is guaranteed to be complete according to given upper bounds. -1 indicates no level has been finished.
Definition at line 2218 of file groups.h.
◆ get_consecutive_success()
| dej_nodiscard int dejavu::groups::compressed_schreier::get_consecutive_success |
( |
| ) |
const |
|
inline |
◆ get_group_size()
◆ is_in_base_orbit()
| bool dejavu::groups::compressed_schreier::is_in_base_orbit |
( |
const int |
base_pos, |
|
|
const int |
v |
|
) |
| |
|
inline |
Checks whether a vertex v is contained in the transversal at position s_base_pos.
- Parameters
-
| base_pos | Position in base. |
| v | Vertex to check. |
- Returns
- Bool indicating whether
v is contained in the transversal at position s_base_pos.
Definition at line 2095 of file groups.h.
◆ probabilistic_abort_criterion()
| dej_nodiscard bool dejavu::groups::compressed_schreier::probabilistic_abort_criterion |
( |
| ) |
const |
|
inline |
- Returns
- Whether the probabilistic abort criterion allows termination or not.
Definition at line 2183 of file groups.h.
◆ reduce_to_unfinished()
| void dejavu::groups::compressed_schreier::reduce_to_unfinished |
( |
schreier_workspace & |
w, |
|
|
std::vector< int > & |
selection, |
|
|
int |
base_pos |
|
) |
| |
|
inline |
Reduces a vector of vertices selection to contain only points not contained in transversal at position s_base_pos in Schreier structure.
- Parameters
-
| w | A Schreier workspace. |
| selection | Vector to be reduced. |
| base_pos | Position in base. |
Definition at line 2108 of file groups.h.
◆ reset()
| bool dejavu::groups::compressed_schreier::reset |
( |
domain_compressor * |
new_compressor, |
|
|
int |
new_domain_size, |
|
|
schreier_workspace & |
w, |
|
|
std::vector< int > & |
new_base, |
|
|
std::vector< int > & |
new_base_sizes, |
|
|
const int |
stop, |
|
|
bool |
keep_old, |
|
|
std::vector< int > & |
global_fixed_points |
|
) |
| |
|
inline |
Reset up this Schreier structure with a new base.
- Parameters
-
| new_base | the new base |
| new_base_sizes | upper bounds for the size of transversals |
| stop | integer which indicates to stop reading the base at this position |
| keep_old | If true, attempt to keep parts of the base that is already stored. |
Definition at line 2010 of file groups.h.
◆ reset_probabilistic_criterion()
| void dejavu::groups::compressed_schreier::reset_probabilistic_criterion |
( |
| ) |
|
|
inline |
Reset the probabilistic abort criterion.
Definition at line 2176 of file groups.h.
◆ s_densegen()
| dej_nodiscard int dejavu::groups::compressed_schreier::s_densegen |
( |
| ) |
const |
|
inline |
- Returns
- Number of stored generators using a dense data structure.
Definition at line 1998 of file groups.h.
◆ s_sparsegen()
| dej_nodiscard int dejavu::groups::compressed_schreier::s_sparsegen |
( |
| ) |
const |
|
inline |
- Returns
- Number of stored generators using a sparse data structure.
Definition at line 1991 of file groups.h.
◆ set_error_bound()
| void dejavu::groups::compressed_schreier::set_error_bound |
( |
int |
error_bound | ) |
|
|
inline |
◆ sift()
Sift automorphism into the Schreier structure.
- Parameters
-
| w | Auxiliary workspace used for procedures. |
| automorphism | Automorphism to be sifted. Will be manipulated by the method. |
- Returns
- Whether automorphism was added to the Schreier structure or not.
Definition at line 2148 of file groups.h.
◆ sift_random()
Sift a (semi-)randomly generated element into the Schreier structure.
- Parameters
-
| w | Auxiliary workspace used for procedures. |
| automorphism | An automorphism_workspace used to store the randomly generated element. |
- Returns
- Whether the generated automorphism was added to the Schreier structure or not.
Definition at line 2164 of file groups.h.
◆ h_min_compression_ratio
| double dejavu::groups::compressed_schreier::h_min_compression_ratio = 0.4 |
◆ s_compression_ratio
| double dejavu::groups::compressed_schreier::s_compression_ratio = 1.0 |
The documentation for this class was generated from the following file: