8#ifndef ORBITER_SRC_LIB_TOP_LEVEL_COMBINATORICS_TL_COMBINATORICS_H_
9#define ORBITER_SRC_LIB_TOP_LEVEL_COMBINATORICS_TL_COMBINATORICS_H_
13namespace layer5_applications {
14namespace apps_combinatorics {
29 combinatorics::boolean_function_domain *
BF;
35 induced_actions::action_on_homogeneous_polynomials *
AonHPD;
36 groups::strong_generators *
SG;
37 ring_theory::longinteger_object
go;
44 void init_group(combinatorics::boolean_function_domain *
BF,
int verbose_level);
123 int argc, std::string *argv,
141 geometry::geometric_object_create *
GOC;
144 data_structures::data_input_stream *
IS;
150 geometry::geometric_object_create *
GOC,
153 data_structures::data_input_stream *
IS,
158 void do_save(std::string &save_as_fname,
159 int f_extract,
long int *extract_idx_set,
int extract_size,
162 combinatorics::classification_of_objects *CO,
164 int f_projective_space,
171 combinatorics::classification_of_objects_report_options *Report_options,
172 combinatorics::classification_of_objects *CO,
177 combinatorics::classification_of_objects_report_options *Report_options,
178 combinatorics::classification_of_objects *CO,
183 combinatorics::classification_of_objects_report_options *Report_options,
184 combinatorics::classification_of_objects *CO,
186 int i,
int verbose_level);
188 combinatorics::classification_of_objects_report_options *Report_options,
189 combinatorics::classification_of_objects *CO,
195 data_structures::data_input_stream *
IS,
199 std::string &group_label,
200 data_structures::data_input_stream *
IS,
204 std::string &projective_space_label,
206 data_structures::data_input_stream *
IS,
230 std::string &problem_label,
232 groups::strong_generators *Gens,
235 std::string &problem_label,
237 groups::strong_generators *Gens,
241 char *fname,
int &nb_Pts,
long int *&Pts,
245 data_structures::data_input_stream_description *Data,
246 data_structures::classify_bitvectors *CB,
247 std::string &output_fname,
250 data_structures::classify_bitvectors *CB,
251 int nb_objects_to_test,
int t0,
252 std::string &fname,
int input_file_idx,
int nb_input_files,
253 int N_points,
int design_b,
int design_k,
int partition_class_size,
254 long int *Ago, std::vector<std::vector<long int> > &Reps,
257 data_structures::classify_bitvectors *CB,
258 data_structures_groups::incidence_structure_with_group *IG,
259 geometry::incidence_structure *&Inc_out,
260 int nb_objects_to_test,
261 int &f_found,
int &idx,
262 ring_theory::longinteger_object &go,
273#define MAX_MASK_TESTS 1000
359 int argc, std::string *argv,
382 field_theory::finite_field *
F1;
383 field_theory::finite_field *
F2;
395 groups::matrix_group *
M1;
396 groups::matrix_group *
M2;
403 groups::strong_generators *
SG;
404 ring_theory::longinteger_object
go;
405 groups::direct_product *
P;
408 poset_classification::poset_classification *
Pairs;
409 poset_classification::poset_classification *
Gen;
462 void create_graph(
long int *line0,
int len,
int verbose_level);
469 long int *candidates,
int nb_candidates,
470 long int *good_candidates,
int &nb_good_candidates,
478 long int *
line,
int len,
479 int &nb_rows_used,
int &nb_cols_used,
480 int &nb_singletons,
int verbose_level);
500 std::string create_table_label;
501 std::string create_table_group;
561 std::string &group_label,
562 std::string &fname_in,
563 std::string &fname_out,
564 std::string &prefix_text,
570 std::string &group_label,
575 std::string &group_label,
576 std::string &H_label,
577 std::string &H_go_text,
578 std::string &H_generators_data,
579 int selected_orbit_length,
581 void do_canonical_form(combinatorics::classification_of_objects_description *Canonical_form_Descr,
660 field_theory::finite_field *
F;
680 groups::strong_generators *
Sg;
684 geometry::projective_space *
P;
695 long int *&
set,
int &
sz,
int &
k,
int verbose_level);
697 int rk,
int verbose_level);
734 void create_action(actions::action *&A_on_designs,
int verbose_level);
736 int nb_sol,
int Index_width,
int *Index,
737 std::string &ouput_fname_csv,
740 long int *set,
int set_sz,
741 long int *&reduced_table,
long int *&reduced_table_idx,
int &nb_reduced_designs,
750 void save(
int verbose_level);
751 void load(
int verbose_level);
755 long int *set_of_designs_by_index1,
int set_size1,
756 long int *set_of_designs_by_index2,
int set_size2);
778 field_theory::finite_field *
F;
779 algebra::heisenberg *
H;
805 ring_theory::longinteger_object
U_go;
806 data_structures_groups::vector_ge *
U_gens;
841 poset_classification::poset_classification *
gen;
846 void init(
int n, field_theory::finite_field *
F,
int verbose_level);
847 void do_n2q3(
int verbose_level);
851 long int *candidates,
int nb_candidates,
852 long int *good_candidates,
int &nb_good_candidates,
884 groups::orbits_on_something *
Orb;
889 int f_anti_flags, actions::action *A_perm,
890 groups::strong_generators *SG,
int verbose_level);
892 void report(std::ostream &ost,
int verbose_level);
914 graph_theory::colored_graph *
CG;
920 poset_classification::poset_classification *
gen;
923 void init(
int n,
int f_draw,
int verbose_level,
int verbose_level_clique);
926 long int *candidates,
int nb_candidates,
927 long int *good_candidates,
int &nb_good_candidates,
1008 poset_classification::poset_classification_control *
Control;
1009 poset_classification::poset_with_group_action *
Poset;
1011 poset_classification::poset_classification *
PC;
1019 void init(
int argc,
const char **argv,
1023 void print(std::ostream &ost,
long int *
S,
int len);
1027 long int *candidates,
int nb_candidates,
1028 long int *good_candidates,
int &nb_good_candidates,
1053 int argc, std::string *argv,
1118 poset_classification::poset_classification_control *
Control;
1119 poset_classification::poset_with_group_action *
Poset;
1120 poset_classification::poset_classification *
gen;
1135 void compute(
int verbose_level);
1137 data_structures_groups::orbit_transversal *&T,
1138 int level,
int verbose_level);
1140 data_structures_groups::set_and_stabilizer *&Rep,
1141 int level,
int case_nr,
int verbose_level);
1188 int argc, std::string *argv,
1214 int select_orbits_of_length_length,
int verbose_level);
1300 poset_classification::poset_classification *
PC;
1301 poset_classification::poset_classification_control *
Control;
1302 poset_classification::poset_with_group_action *
Poset;
1315 long int *Design_table_reduced_idx;
1319 int nb_remaining_colors;
1320 int *reduced_design_color_table;
1327 schreier *Orbits_on_reduced;
1328 int *color_of_reduced_orbits;
1342 poset_classification::poset_classification_control *
Control,
1350 poset_classification::poset_classification_control *
Control,
1359 std::string &solution_file_name,
1360 long int *starter_set,
1365 long int *candidates,
int nb_candidates,
1366 long int *good_candidates,
int &nb_good_candidates,
1373 long int *candidates,
int nb_candidates,
1374 long int *good_candidates,
int &nb_good_candidates,
1375 void *data,
int verbose_level);
1379 long int *orbit2,
int orbit_length2,
void *extra_data);
1393 geometry::object_with_canonical_form *
OwCF;
1397 data_structures::nauty_output *
NO;
1401 groups::strong_generators *
SG;
1405 combinatorics::tdo_scheme_compute *
TDO;
1413 geometry::object_with_canonical_form *
OwCF,
1414 data_structures::nauty_output *
NO,
1422 geometry::object_with_canonical_form *
OwCF,
1423 data_structures::nauty_output *
NO,
1428 combinatorics::classification_of_objects_report_options *Report_options,
1430 void compute_TDO(
int max_TDO_depth,
int verbose_level);
1432 combinatorics::classification_of_objects_report_options *Report_options);
1434 groups::schreier *Sch,
1437 groups::schreier *Sch,
1472 poset_classification::poset_classification_control *
Control;
1479 const char *str,
int verbose_level);
1481 int argc, std::string *argv,
1508 poset_classification::poset_with_group_action *
Poset;
1509 poset_classification::poset_classification *
gen;
1512 induced_actions::action_on_k_subsets *
Aonk;
1531 poset_classification::poset_classification_control *Control,
1532 groups::strong_generators *Strong_gens,
1535 long int *candidates,
int nb_candidates,
1536 long int *good_candidates,
int &nb_good_candidates,
1538 void print(std::ostream &ost,
long int *S,
int len);
1540 long int *candidates,
int nb_candidates, groups::strong_generators *Strong_gens,
1541 solvers::diophant *&Dio,
long int *&col_labels,
1551 long int *candidates,
int nb_candidates,
1552 long int *good_candidates,
int &nb_good_candidates,
1553 void *data,
int verbose_level);
1555 void *data,
int verbose_level);
1557 exact_cover *EC,
int starter_case,
1558 long int *candidates,
int nb_candidates, groups::strong_generators *Strong_gens,
1559 solvers::diophant *&Dio,
long int *&col_labels,
1578 geometry::incidence_structure *
Inc;
1591 void init(
int nb_rows,
int nb_cols,
1592 geometry::incidence_structure *
Inc,
1594 actions::action *Aut,
1597 groups::strong_generators *
gens,
1599 void report(
int f_enter_math, std::ostream &ost);
classification of boolean functions
data_structures_groups::vector_ge * nice_gens
actions::action * A_affine
void init_group(combinatorics::boolean_function_domain *BF, int verbose_level)
induced_actions::action_on_homogeneous_polynomials * AonHPD
combinatorics::boolean_function_domain * BF
~boolean_function_classify()
ring_theory::longinteger_object go
void search_for_bent_functions(int verbose_level)
groups::strong_generators * SG
boolean_function_classify()
description of an activity for a combinatorial object
std::string draw_incidence_matrices_prefix
std::string line_covering_type_projective_space
std::string canonical_form_PG_PG_label
combinatorial_object_activity_description()
std::string extract_subset_set
std::string line_covering_type_prefix
int f_unpack_from_restricted_action
int f_test_distinguishing_property
~combinatorial_object_activity_description()
std::string unpack_from_restricted_action_group_label
int read_arguments(int argc, std::string *argv, int verbose_level)
std::string save_as_fname
std::string extract_subset_fname
std::string line_covering_type_lines
combinatorics::classification_of_objects_description * Canonical_form_Descr
int f_canonical_form_PG_has_PA
std::string unpack_from_restricted_action_prefix
combinatorics::classification_of_objects_report_options * Classification_of_objects_report_options
combinatorics::classification_of_objects_description * Canonical_form_PG_Descr
int f_draw_incidence_matrices
projective_geometry::projective_space_with_action * Canonical_form_PG_PA
std::string test_distinguishing_property_graph
perform an activity for a combinatorial object
void draw_incidence_matrices(std::string &prefix, data_structures::data_input_stream *IS, int verbose_level)
void report_isomorphism_type(std::ostream &fp, combinatorics::classification_of_objects_report_options *Report_options, combinatorics::classification_of_objects *CO, object_with_properties *OwP, int i, int verbose_level)
void perform_activity_IS(int verbose_level)
void classification_report(combinatorics::classification_of_objects *CO, object_with_properties *OwP, int verbose_level)
void line_covering_type(std::string &prefix, std::string &projective_space_label, std::string &lines, data_structures::data_input_stream *IS, int verbose_level)
data_structures::data_input_stream * IS
void init_input_stream(combinatorial_object_activity_description *Descr, data_structures::data_input_stream *IS, int verbose_level)
void perform_activity_GOC(int verbose_level)
void do_save(std::string &save_as_fname, int f_extract, long int *extract_idx_set, int extract_size, int verbose_level)
~combinatorial_object_activity()
void init(combinatorial_object_activity_description *Descr, geometry::geometric_object_create *GOC, int verbose_level)
geometry::geometric_object_create * GOC
void report_object(std::ostream &fp, combinatorics::classification_of_objects_report_options *Report_options, combinatorics::classification_of_objects *CO, object_with_properties *OwP, int object_idx, int verbose_level)
combinatorial_object_activity_description * Descr
void report_all_isomorphism_types(std::ostream &fp, combinatorics::classification_of_objects_report_options *Report_options, combinatorics::classification_of_objects *CO, object_with_properties *OwP, int verbose_level)
void perform_activity(int verbose_level)
void latex_report(combinatorics::classification_of_objects_report_options *Report_options, combinatorics::classification_of_objects *CO, object_with_properties *OwP, int verbose_level)
combinatorial_object_activity()
void unpack_from_restricted_action(std::string &prefix, std::string &group_label, data_structures::data_input_stream *IS, int verbose_level)
void post_process_classification(combinatorics::classification_of_objects *CO, object_with_properties *&OwP, int f_projective_space, projective_geometry::projective_space_with_action *PA, std::string &prefix, int verbose_level)
void classify_objects_using_nauty(data_structures::data_input_stream_description *Data, data_structures::classify_bitvectors *CB, std::string &output_fname, int verbose_level)
void create_design_table(design_create *DC, std::string &problem_label, design_tables *&T, groups::strong_generators *Gens, int verbose_level)
void append_orbit_and_adjust_size(groups::schreier *Orb, int idx, int *set, int &sz)
void handle_input_file(data_structures::classify_bitvectors *CB, int nb_objects_to_test, int t0, std::string &fname, int input_file_idx, int nb_input_files, int N_points, int design_b, int design_k, int partition_class_size, long int *Ago, std::vector< std::vector< long int > > &Reps, int verbose_level)
void load_design_table(design_create *DC, std::string &problem_label, design_tables *&T, groups::strong_generators *Gens, int verbose_level)
void Hill_cap56(char *fname, int &nb_Pts, long int *&Pts, int verbose_level)
void process_object(data_structures::classify_bitvectors *CB, data_structures_groups::incidence_structure_with_group *IG, geometry::incidence_structure *&Inc_out, int nb_objects_to_test, int &f_found, int &idx, ring_theory::longinteger_object &go, int verbose_level)
description of the problem for delandtsheer_doyen
int mask_test_value[MAX_MASK_TESTS]
int mask_test_what[MAX_MASK_TESTS]
std::string problem_label
int f_nb_orbits_on_blocks
poset_classification::poset_classification_control * Pair_search_control
int f_pair_search_control
std::string subgroup_gens
int f_search_wrt_subgroup
poset_classification::poset_classification_control * Search_control
int read_arguments(int argc, std::string *argv, int verbose_level)
int mask_test_who[MAX_MASK_TESTS]
delandtsheer_doyen_description()
~delandtsheer_doyen_description()
std::string subgroup_order
int mask_test_level[MAX_MASK_TESTS]
search for line transitive point imprimitive linear spaces as described by Delandtsheer and Doyen
void print_mask_test_i(std::ostream &ost, int i)
int check_mask(long int *line, int len, int verbose_level)
int check_conditions(long int *S, int len, int verbose_level)
poset_classification::poset_with_group_action * Poset_search
void show_generators(int verbose_level)
groups::strong_generators * SG
void init(delandtsheer_doyen_description *Descr, int verbose_level)
int check_col_sums(long int *line, int len, int verbose_level)
int check_row_sums(long int *line, int len, int verbose_level)
void create_graph(long int *line0, int len, int verbose_level)
groups::direct_product * P
int find_pair_orbit_by_tracing(int i, int j, int verbose_level)
poset_classification::poset_classification * Gen
groups::matrix_group * M2
void search_singletons(int verbose_level)
poset_classification::poset_classification * Pairs
void early_test_func(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, int verbose_level)
groups::matrix_group * M1
void compute_orbits_on_pairs(groups::strong_generators *Strong_gens, int verbose_level)
groups::strong_generators * scan_subgroup_generators(int verbose_level)
void write_pair_orbit_file(int verbose_level)
int * row_type_this_or_bigger
ring_theory::longinteger_object go
void get_mask_core_and_singletons(long int *line, int len, int &nb_rows_used, int &nb_cols_used, int &nb_singletons, int verbose_level)
void compute_pair_orbit_table(int verbose_level)
int check_orbit_covering(long int *line, int len, int verbose_level)
poset_classification::poset_with_group_action * Poset_pairs
int * col_type_this_or_bigger
void search_starter(int verbose_level)
field_theory::finite_field * F2
void create_monomial_group(int verbose_level)
delandtsheer_doyen_description * Descr
int find_pair_orbit(int i, int j, int verbose_level)
void create_action(int verbose_level)
field_theory::finite_field * F1
to describe an activity for a design
int f_extract_solutions_by_index_txt
~design_activity_description()
std::string load_table_H_group_order
std::string load_table_H_gens
design_activity_description()
int f_tactical_decomposition
std::string extract_solutions_by_index_fname_solutions_in
int load_table_selected_orbit_length
std::string extract_solutions_by_index_label
std::string extract_solutions_by_index_prefix
combinatorics::classification_of_objects_description * Canonical_form_Descr
std::string load_table_group
std::string extract_solutions_by_index_group
int read_arguments(int argc, std::string *argv, int verbose_level)
int f_extract_solutions_by_index_csv
std::string extract_solutions_by_index_fname_solutions_out
std::string load_table_label
std::string load_table_H_label
void do_export_blocks(design_create *DC, int verbose_level)
void do_tactical_decomposition(design_create *DC, int verbose_level)
void do_extract_solutions_by_index(design_create *DC, std::string &label, std::string &group_label, std::string &fname_in, std::string &fname_out, std::string &prefix_text, int f_csv_format, int verbose_level)
void do_export_inc(design_create *DC, int verbose_level)
void do_canonical_form(combinatorics::classification_of_objects_description *Canonical_form_Descr, int verbose_level)
void do_create_table(design_create *DC, std::string &label, std::string &group_label, int verbose_level)
void do_load_table(design_create *DC, std::string &label, std::string &group_label, std::string &H_label, std::string &H_go_text, std::string &H_generators_data, int selected_orbit_length, int verbose_level)
void do_row_sums(design_create *DC, int verbose_level)
void perform_activity(design_activity_description *Descr, design_create *DC, int verbose_level)
design_activity_description * Descr
to describe the construction of a known design from the command line
int f_list_of_blocks_from_file
std::string list_of_blocks_text
std::string list_of_blocks_from_file_fname
int read_arguments(int argc, std::string *argv, int verbose_level)
design_create_description()
~design_create_description()
to create a known design using a description from class design_create_description
void unrank_block_in_PG_2_q(int *block, int rk, int verbose_level)
groups::strong_generators * Sg
design_create_description * Descr
void init(apps_combinatorics::design_create_description *Descr, int verbose_level)
actions::action * Aut_on_lines
int rank_block_in_PG_2_q(int *block, int verbose_level)
projective_geometry::projective_space_with_action * PA
geometry::projective_space * P
int get_color_as_two_design_assume_sorted(long int *design, int verbose_level)
int get_nb_colors_as_two_design(int verbose_level)
void create_design_PG_2_q(field_theory::finite_field *F, long int *&set, int &sz, int &k, int verbose_level)
field_theory::finite_field * F
a set of designs to be used for a large set
int test_between_two_sets(long int *set_of_designs_by_index1, int set_size1, long int *set_of_designs_by_index2, int set_size2)
void init_from_file(actions::action *A, actions::action *A2, long int *initial_set, int design_size, std::string &label, groups::strong_generators *Strong_generators, int verbose_level)
int test_set_within_itself(long int *set_of_designs_by_index, int set_size)
std::string fname_design_table
void save(int verbose_level)
int test_if_designs_are_disjoint(int i, int j)
void extract_solutions_by_index(int nb_sol, int Index_width, int *Index, std::string &ouput_fname_csv, int verbose_level)
void load(int verbose_level)
groups::strong_generators * Strong_generators
void create_action(actions::action *&A_on_designs, int verbose_level)
void init(actions::action *A, actions::action *A2, long int *initial_set, int design_size, std::string &label, groups::strong_generators *Strong_generators, int verbose_level)
void make_reduced_design_table(long int *set, int set_sz, long int *&reduced_table, long int *&reduced_table_idx, int &nb_reduced_designs, int verbose_level)
void create_table(int verbose_level)
int test_if_table_exists(std::string &label, int verbose_level)
to find difference sets in Heisenberg groups following Tao
std::string fname_magma_out
actions::action * A_on_short_orbits
actions::action * N_on_orbits
ring_theory::longinteger_object Aut_order
void create_minimal_overgroups(int verbose_level)
ring_theory::longinteger_object U_go
poset_classification::poset_classification * gen
void check_overgroups_of_order_nine(int verbose_level)
data_structures_groups::vector_ge * U_gens
void init(int n, field_theory::finite_field *F, int verbose_level)
groups::strong_generators * Aut_gens
void early_test_func(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, int verbose_level)
field_theory::finite_field * F
void do_n2q3(int verbose_level)
int * Short_orbit_inverse
ring_theory::longinteger_object N_order
classification of flag orbits of an incidence structure
int find_flag(int i, int j)
void init(object_with_properties *OwP, int f_anti_flags, actions::action *A_perm, groups::strong_generators *SG, int verbose_level)
actions::action * A_on_flags
object_with_properties * OwP
flag_orbits_incidence_structure()
void report(std::ostream &ost, int verbose_level)
groups::orbits_on_something * Orb
~flag_orbits_incidence_structure()
int f_flag_orbits_have_been_computed
classification of Hadamard matrices
int clique_test(long int *set, int sz)
graph_theory::colored_graph * CG
void init(int n, int f_draw, int verbose_level, int verbose_level_clique)
void early_test_func(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, int verbose_level)
data_structures::bitvector * Bitvec
poset_classification::poset_classification * gen
int dot_product(int a, int b, int n)
classification of Hall systems
actions::action * A_on_orbits
groups::strong_generators * Strong_gens_normalizer
actions::action * A_on_triples
poset_classification::poset_classification_control * Control
void init(int argc, const char **argv, int n, int depth, int verbose_level)
void unrank_triple(long int *T, int rk)
void orbits_on_triples(int verbose_level)
groups::strong_generators * Strong_gens_Hall_reflection
void unrank_triple_pair(long int *T1, long int *T2, int rk)
void early_test_func(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, int verbose_level)
void print(std::ostream &ost, long int *S, int len)
poset_classification::poset_with_group_action * Poset
poset_classification::poset_classification * PC
groups::schreier * Orbits_on_triples
std::string fname_orbits_on_triples
description of an activity for a spread table
int read_arguments(int argc, std::string *argv, int verbose_level)
~large_set_activity_description()
large_set_activity_description()
an activity for a spread table
void perform_activity(large_set_activity_description *Descr, large_set_was *LSW, int verbose_level)
large_set_activity_description * Descr
classification of large sets of designs
void read_classification_single_case(data_structures_groups::set_and_stabilizer *&Rep, int level, int case_nr, int verbose_level)
void init(design_create *DC, design_tables *T, int verbose_level)
actions::action * A_on_designs
poset_classification::poset_classification_control * Control
poset_classification::poset_with_group_action * Poset
void read_classification(data_structures_groups::orbit_transversal *&T, int level, int verbose_level)
void compute_colors(design_tables *Design_table, int *&design_color_table, int verbose_level)
std::string problem_label
data_structures::bitvector * Bitvec
int test_if_designs_are_disjoint(int i, int j)
design_tables * Design_table
void compute(int verbose_level)
poset_classification::poset_classification * gen
void create_action_and_poset(int verbose_level)
description of an activity for a large set search with assumed symmetry
int create_graph_on_orbits_of_length_based_on_N_orbits_length
std::string create_graph_on_orbits_of_length_fname
int normalizer_on_orbits_of_a_given_length_length
int normalizer_on_orbits_of_a_given_length_nb_orbits
int create_graph_on_orbits_of_length_length
int read_solution_file_orbit_length
int f_create_graph_on_orbits_of_length
int read_arguments(int argc, std::string *argv, int verbose_level)
int f_normalizer_on_orbits_of_a_given_length
std::string create_graph_on_orbits_of_length_based_on_N_orbits_fname
large_set_was_activity_description()
poset_classification::poset_classification_control * normalizer_on_orbits_of_a_given_length_control
std::string read_solution_file_name
~large_set_was_activity_description()
int f_create_graph_on_orbits_of_length_based_on_N_orbits
an activity for a large set search with assumed symmetry
large_set_was_activity_description * Descr
void do_normalizer_on_orbits_of_a_given_length(int select_orbits_of_length_length, int verbose_level)
~large_set_was_activity()
void perform_activity(large_set_was_activity_description *Descr, large_set_was *LSW, int verbose_level)
command line description of tasks for large sets with assumed symmetry
int f_selected_orbit_length
large_set_was_description()
int selected_orbit_length
int read_arguments(int argc, std::string *argv, int verbose_level)
std::string H_generators_text
~large_set_was_description()
std::string N_generators_text
classification of large sets of designs with assumed symmetry
actions::action * A_on_orbits
poset_classification::poset_with_group_action * Poset
void do_normalizer_on_orbits_of_a_given_length_single_orbit(int orbit_length, int verbose_level)
groups::strong_generators * H_gens
void init(large_set_was_description *Descr, large_set_classify *LS, int verbose_level)
void create_graph_on_orbits_of_length(std::string &fname, int orbit_length, int verbose_level)
poset_classification::poset_classification_control * Control
actions::action * A_on_orbits_restricted
int normalizer_orbits_check_conditions(long int *S, int len, int verbose_level)
poset_classification::poset_classification * PC
int nb_of_orbits_to_choose
void read_solution_file(std::string &solution_file_name, long int *starter_set, int starter_set_sz, int orbit_length, int verbose_level)
groups::orbits_on_something * H_orbits
large_set_was_description * Descr
void create_graph_on_orbits_of_length_based_on_N_orbits(std::string &fname_mask, int orbit_length2, int verbose_level)
groups::strong_generators * N_gens
void do_normalizer_on_orbits_of_a_given_length_multiple_orbits(int orbit_length, int nb_of_orbits_to_choose, poset_classification::poset_classification_control *Control, int verbose_level)
groups::orbits_on_something * N_orbits
void do_normalizer_on_orbits_of_a_given_length(int orbit_length, int nb_of_orbits_to_choose, poset_classification::poset_classification_control *Control, int verbose_level)
void normalizer_orbits_early_test_func(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, int verbose_level)
object properties which are derived from nauty canonical form
void compute_flag_orbits(int verbose_level)
groups::strong_generators * SG
combinatorics::tdo_scheme_compute * TDO
void lift_generators_to_matrix_group(int verbose_level)
data_structures::nauty_output * NO
geometry::object_with_canonical_form * OwCF
void print_TDO(std::ostream &ost, combinatorics::classification_of_objects_report_options *Report_options)
void init_object_in_projective_space(geometry::object_with_canonical_form *OwCF, data_structures::nauty_output *NO, projective_geometry::projective_space_with_action *PA, std::string &label, int verbose_level)
flag_orbits_incidence_structure * Anti_Flags
void export_TDA_with_flag_orbits(std::ostream &ost, groups::schreier *Sch, int verbose_level)
~object_with_properties()
void export_INP_with_flag_orbits(std::ostream &ost, groups::schreier *Sch, int verbose_level)
void init(geometry::object_with_canonical_form *OwCF, data_structures::nauty_output *NO, int f_projective_space, projective_geometry::projective_space_with_action *PA, int max_TDO_depth, std::string &label, int verbose_level)
flag_orbits_incidence_structure * Flags
projective_geometry::projective_space_with_action * PA
void compute_TDO(int max_TDO_depth, int verbose_level)
void latex_report(std::ostream &ost, combinatorics::classification_of_objects_report_options *Report_options, int verbose_level)
a description of a class of regular linear spaces from the command line
int * initial_pair_covering
regular_linear_space_description()
~regular_linear_space_description()
poset_classification::poset_classification_control * Control
int read_arguments(int argc, std::string *argv, int verbose_level)
void read_arguments_from_string(const char *str, int verbose_level)
classification of regular linear spaces
poset_classification::poset_classification * gen
void early_test_func(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, int verbose_level)
poset_classification::poset_with_group_action * Poset
void init_generator(poset_classification::poset_classification_control *Control, groups::strong_generators *Strong_gens, int verbose_level)
induced_actions::action_on_k_subsets * Aonk
void print(std::ostream &ost, long int *S, int len)
void init_action_on_k_subsets(int onk, int verbose_level)
regular_linear_space_description * Descr
void init_group(int verbose_level)
void lifting_prepare_function_new(exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_labels, int &f_ruled_out, int verbose_level)
void init_and_run(regular_linear_space_description *Descr, int verbose_level)
tactical decomposition of an incidence structure with respect to a given group
actions::action * A_on_lines
void report(int f_enter_math, std::ostream &ost)
groups::schreier * Sch_lines
data_structures::partitionstack * Stack
groups::schreier * Sch_points
geometry::incidence_structure * Inc
void init(int nb_rows, int nb_cols, geometry::incidence_structure *Inc, int f_combined_action, actions::action *Aut, actions::action *A_on_points, actions::action *A_on_lines, groups::strong_generators *gens, int verbose_level)
actions::action * A_on_points
~tactical_decomposition()
groups::strong_generators * gens
projective space PG(n,q) with automorphism group PGGL(n+1,q)
void large_set_was_normalizer_orbits_early_test_func_callback(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level)
void regular_ls_classify_early_test_function(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level)
void regular_ls_classify_print_set(ostream &ost, int len, long int *S, void *data)
int large_set_was_design_test_orbit(long int *orbit, int orbit_length, void *extra_data)
int large_set_was_classify_test_pair_of_orbits(long int *orbit1, int orbit_length1, long int *orbit2, int orbit_length2, void *extra_data)
int regular_ls_classify_check_function_incremental_callback(int len, int *S, void *data, int verbose_level)
void regular_ls_classify_lifting_prepare_function_new(exact_cover *EC, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_labels, int &f_ruled_out, int verbose_level)
the orbiter library for the classification of combinatorial objects