15namespace layer5_applications {
16namespace apps_combinatorics {
82 int f_v = (verbose_level >= 1);
86 cout <<
"design_create::init" << endl;
95 cout <<
"design_create::init q = " <<
q << endl;
104 cout <<
"design_create::init "
109 cout <<
"design_create::init PG(2," <<
q <<
")" << endl;
112 cout <<
"please use option -q <q> to specify the field order" << endl;
119 sprintf(str,
"PG_2_q%d",
q);
122 sprintf(str,
"PG_2_%d",
q);
125 sprintf(str,
"PG\\_2\\_%d",
q);
133 cout <<
"design_create::init "
134 "from catalogue" << endl;
145 cout <<
"design_create::init "
146 "list of blocks" << endl;
155 sprintf(str,
"blocks_v%d_k%d",
degree,
k);
158 sprintf(str,
"blocks_v%d_k%d",
degree,
k);
161 sprintf(str,
"blocks\\_v%d\\_k%d",
degree,
k);
166 int f_no_base =
FALSE;
185 cout <<
"design_create::init "
196 set, m, n, verbose_level);
200 cout <<
"design_create::init f_list_of_blocks_from_file n != 1" << endl;
209 sprintf(str,
"blocks_v%d_k%d",
degree,
k);
212 sprintf(str,
"blocks_v%d_k%d",
degree,
k);
215 sprintf(str,
"blocks\\_v%d\\_k%d",
degree,
k);
220 int f_no_base =
FALSE;
238 cout <<
"design_create::init no design created" << endl;
246 cout <<
"design_create::init set = ";
252 cout <<
"design_create::init the stabilizer is:" << endl;
256 cout <<
"design_create::init stabilizer is not available" << endl;
262 cout <<
"design_create::init done" << endl;
267 long int *&set,
int &sz,
int &k,
int verbose_level)
269 int f_v = (verbose_level >= 1);
272 cout <<
"design_create::create_design_PG_2_q" << endl;
285 f_semilinear =
FALSE;
289 TRUE , verbose_level);
301 for (j = 0; j <
sz; j++) {
306 cout <<
"block " << j <<
" / " <<
sz <<
" : ";
308 cout <<
" : " <<
set[j] << endl;
319 cout <<
"design_create::create_design_PG_2_q creating actions" << endl;
323 int f_no_base =
FALSE;
339 cout <<
"design_create::create_design_PG_2_q creating actions done" << endl;
343 cout <<
"design_create::create_design_PG_2_q done" << endl;
348 int rk,
int verbose_level)
350 int f_v = (verbose_level >= 1);
353 cout <<
"design_create::unrank_block_in_PG_2_q rk=" << rk
354 <<
" P->N_points=" <<
P->
N_points <<
" k=" <<
k << endl;
360 cout <<
"design_create::unrank_block_in_PG_2_q block = ";
365 cout <<
"design_create::unrank_block_in_PG_2_q done" << endl;
372 int f_v = (verbose_level >= 1);
376 cout <<
"design_create::rank_block_in_PG_2_q" << endl;
384 cout <<
"design_create::rank_block_in_PG_2_q done" << endl;
391 int f_v = (verbose_level >= 1);
396 cout <<
"design_create::get_nb_colors_as_two_design" << endl;
400 cout <<
"design_create::get_nb_colors_as_two_design done" << endl;
407 int f_v = (verbose_level >= 1);
411 cout <<
"design_create::get_color_as_two_design_assume_sorted" << endl;
417 cout <<
"block[0] != 0" << endl;
421 cout <<
"block[1] != 1" << endl;
424 for (i = 2; i <
k; i++) {
429 cout <<
"design_create::get_color_as_two_design_assume_sorted done" << endl;
a collection of combinatorial functions
void unrank_k_subset(int rk, int *set, int n, int k)
int rank_k_subset(int *set, int n, int k)
long int binomial2(int a)
a collection of functions related to sorted vectors
void int_vec_heapsort(int *v, int len)
void lint_vec_heapsort(long int *v, int len)
void finite_field_init(int q, int f_without_tables, int verbose_level)
projective_space_implementation * Implementation
a collection of functions related to file io
void lint_matrix_read_csv(std::string &fname, long int *&M, int &m, int &n, int verbose_level)
a permutation group in a fixed action.
void init_symmetric_group(int degree, int f_no_base, int verbose_level)
groups::strong_generators * Strong_gens
void induced_action_on_k_subsets(action &old_action, int k, int verbose_level)
void print_generators_tex()
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
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
projective space PG(n,q) with automorphism group PGGL(n+1,q)
geometry::projective_space * P
actions::action * A_on_lines
void init(field_theory::finite_field *F, int n, int f_semilinear, int f_init_incidence_structure, int verbose_level)
#define Lint_vec_scan(A, B, C)
#define Lint_vec_print(A, B, C)
#define Int_vec_copy(A, B, C)
#define Int_vec_print(A, B, C)
the orbiter library for the classification of combinatorial objects