19namespace layer5_applications {
20namespace user_interface {
27 Diophant_description = NULL;
29 f_diophant_activity =
FALSE;
30 Diophant_activity_description = NULL;
35 f_random_permutation =
FALSE;
36 random_permutation_degree = 0;
39 f_read_poset_file =
FALSE;
43 grouping_x_stretch = 0.7;
45 f_list_parameters_of_SRG =
FALSE;
46 list_parameters_of_SRG_v_max = 0;
48 f_conjugacy_classes_Sym_n =
FALSE;
49 conjugacy_classes_Sym_n_n = 0;
51 f_tree_of_all_k_subsets =
FALSE;
52 tree_of_all_k_subsets_n = 0;
53 tree_of_all_k_subsets_k = 0;
55 f_Delandtsheer_Doyen =
FALSE;
56 Delandtsheer_Doyen_description = NULL;
59 f_tdo_refinement =
FALSE;
60 Tdo_refinement_descr = NULL;
65 f_convert_stack_to_tdo =
FALSE;
68 f_maximal_arc_parameters =
FALSE;
69 maximal_arc_parameters_q = 0;
70 maximal_arc_parameters_r = 0;
72 f_arc_parameters =
FALSE;
73 arc_parameters_q = arc_parameters_s = arc_parameters_r = 0;
76 f_pentomino_puzzle =
FALSE;
78 f_regular_linear_space_classify =
FALSE;
81 f_draw_layered_graph =
FALSE;
83 Layered_graph_draw_options = NULL;
85 f_read_solutions_and_tally =
FALSE;
87 read_solutions_and_tally_sz = 0;
90 f_make_elementary_symmetric_functions =
FALSE;
91 make_elementary_symmetric_functions_n = 0;
92 make_elementary_symmetric_functions_k_max = 0;
94 f_Dedekind_numbers =
FALSE;
100 f_rank_k_subset =
FALSE;
105 f_geometry_builder =
FALSE;
106 Geometry_builder_description = NULL;
112 std::string *argv,
int i,
int verbose_level)
116 if (ST.
stringcmp(argv[i],
"-diophant") == 0) {
117 cout <<
"-diophant <description> " << endl;
119 else if (ST.
stringcmp(argv[i],
"-diophant_activity") == 0) {
120 cout <<
"-diophant_activity <description> " << endl;
122 else if (ST.
stringcmp(argv[i],
"-bent") == 0) {
123 cout <<
"-bent <int : n>" << endl;
125 else if (ST.
stringcmp(argv[i],
"-random_permutation") == 0) {
126 cout <<
"-random_permutation <ind : degree> <string : <fname_csv>" << endl;
128 else if (ST.
stringcmp(argv[i],
"-read_poset_file") == 0) {
129 cout <<
"-read_poset_file <string : file_name>" << endl;
131 else if (ST.
stringcmp(argv[i],
"-read_poset_file_with_grouping") == 0) {
132 cout <<
"-read_poset_file_with_grouping <string : file_name> <double : x_stretch>" << endl;
134 else if (ST.
stringcmp(argv[i],
"-list_parameters_of_SRG") == 0) {
135 cout <<
"-list_parameters_of_SRG <int : v_max>" << endl;
137 else if (ST.
stringcmp(argv[i],
"-conjugacy_classes_Sym_n") == 0) {
138 cout <<
"-conjugacy_classes_Sym_n <int : n>" << endl;
140 else if (ST.
stringcmp(argv[i],
"-tree_of_all_k_subsets") == 0) {
141 cout <<
"-tree_of_all_k_subsets <int : n> <int : k>" << endl;
143 else if (ST.
stringcmp(argv[i],
"-Delandtsheer_Doyen") == 0) {
144 cout <<
"-Delandtsheer_Doyen <description>" << endl;
146 else if (ST.
stringcmp(argv[i],
"-tdo_refinement") == 0) {
147 cout <<
"-tdo_refinement <options>" << endl;
149 else if (ST.
stringcmp(argv[i],
"-tdo_print") == 0) {
150 cout <<
"-tdo_print <string : tdo-fname>" << endl;
152 else if (ST.
stringcmp(argv[i],
"-convert_stack_to_tdo") == 0) {
153 cout <<
"-convert_stack_to_tdo <string : stack_fname>" << endl;
155 else if (ST.
stringcmp(argv[i],
"-maximal_arc_parameters") == 0) {
156 cout <<
"-maximal_arc_parameters <int : q > < int : r >" << endl;
158 else if (ST.
stringcmp(argv[i],
"-arc_parameters") == 0) {
159 cout <<
"-arc_parameters <int : q > <int : s > < int : r >" << endl;
161 else if (ST.
stringcmp(argv[i],
"-pentomino_puzzle") == 0) {
162 cout <<
"-pentomino_puzzle" << endl;
164 else if (ST.
stringcmp(argv[i],
"-regular_linear_space_classify") == 0) {
165 cout <<
"-regular_linear_space_classify <description>" << endl;
167 else if (ST.
stringcmp(argv[i],
"-draw_layered_graph") == 0) {
168 cout <<
"-draw_layered_graph <string : fname> <layered_graph_options>" << endl;
170 else if (ST.
stringcmp(argv[i],
"-read_solutions_and_tally") == 0) {
171 cout <<
"-read_solutions_and_tally <string : fname> <int :read_solutions_and_tally_sz>" << endl;
173 else if (ST.
stringcmp(argv[i],
"-make_elementary_symmetric_functions") == 0) {
174 cout <<
"-make_elementary_symmetric_functions <int : n> <int :k_max>" << endl;
176 else if (ST.
stringcmp(argv[i],
"-Dedekind_numbers") == 0) {
177 cout <<
"-Dedekind_numbers <int : n_min> <int : n_max> <int : q_min> <int : q_max> " << endl;
179 else if (ST.
stringcmp(argv[i],
"-rank_k_subset") == 0) {
180 cout <<
"-rank_k_subset <int : n> <int : k> <string : text> " << endl;
182 else if (ST.
stringcmp(argv[i],
"-geometry_builder") == 0) {
183 cout <<
"-geometry_builder <description> -end" << endl;
188 std::string *argv,
int i,
int verbose_level)
194 if (ST.
stringcmp(argv[i],
"-diophant") == 0) {
197 else if (ST.
stringcmp(argv[i],
"-diophant_activity") == 0) {
200 else if (ST.
stringcmp(argv[i],
"-bent") == 0) {
203 else if (ST.
stringcmp(argv[i],
"-random_permutation") == 0) {
206 else if (ST.
stringcmp(argv[i],
"-read_poset_file") == 0) {
209 else if (ST.
stringcmp(argv[i],
"-read_poset_file_with_grouping") == 0) {
212 else if (ST.
stringcmp(argv[i],
"-list_parameters_of_SRG") == 0) {
215 else if (ST.
stringcmp(argv[i],
"-conjugacy_classes_Sym_n") == 0) {
218 else if (ST.
stringcmp(argv[i],
"-tree_of_all_k_subsets") == 0) {
221 else if (ST.
stringcmp(argv[i],
"-Delandtsheer_Doyen") == 0) {
224 else if (ST.
stringcmp(argv[i],
"-tdo_refinement") == 0) {
227 else if (ST.
stringcmp(argv[i],
"-tdo_print") == 0) {
230 else if (ST.
stringcmp(argv[i],
"-convert_stack_to_tdo") == 0) {
233 else if (ST.
stringcmp(argv[i],
"-maximal_arc_parameters") == 0) {
236 else if (ST.
stringcmp(argv[i],
"-arc_parameters") == 0) {
239 else if (ST.
stringcmp(argv[i],
"-pentomino_puzzle") == 0) {
242 else if (ST.
stringcmp(argv[i],
"-regular_linear_space_classify") == 0) {
245 else if (ST.
stringcmp(argv[i],
"-draw_layered_graph") == 0) {
248 else if (ST.
stringcmp(argv[i],
"-read_solutions_and_tally") == 0) {
251 else if (ST.
stringcmp(argv[i],
"-make_elementary_symmetric_functions") == 0) {
254 else if (ST.
stringcmp(argv[i],
"-Dedekind_numbers") == 0) {
257 else if (ST.
stringcmp(argv[i],
"-rank_k_subset") == 0) {
260 else if (ST.
stringcmp(argv[i],
"-geometry_builder") == 0) {
267 std::string *argv,
int &i,
int verbose_level)
269 int f_v = (verbose_level >= 1);
273 cout <<
"interface_combinatorics::read_arguments" << endl;
278 cout <<
"interface_combinatorics::read_arguments the next argument is " << argv[i] << endl;
281 if (ST.
stringcmp(argv[i],
"-diophant") == 0) {
284 cout <<
"-diophant " << endl;
288 argv + i + 1, verbose_level);
291 cout <<
"interface_combinatorics::read_arguments finished "
292 "reading -diophant" << endl;
293 cout <<
"i = " << i << endl;
294 cout <<
"argc = " << argc << endl;
296 cout <<
"next argument is " << argv[i] << endl;
300 else if (ST.
stringcmp(argv[i],
"-diophant_activity") == 0) {
301 f_diophant_activity =
TRUE;
303 cout <<
"-diophant_activity " << endl;
306 i += Diophant_activity_description->
read_arguments(argc - (i + 1),
307 argv + i + 1, verbose_level);
310 cout <<
"interface_combinatorics::read_arguments finished "
311 "reading -diophant_activity" << endl;
312 cout <<
"i = " << i << endl;
313 cout <<
"argc = " << argc << endl;
315 cout <<
"next argument is " << argv[i] << endl;
319 else if (ST.
stringcmp(argv[i],
"-bent") == 0) {
321 bent_n = ST.
strtoi(argv[++i]);
323 cout <<
"-bent " << bent_n << endl;
326 else if (ST.
stringcmp(argv[i],
"-random_permutation") == 0) {
327 f_random_permutation =
TRUE;
328 random_permutation_degree = ST.
strtoi(argv[++i]);
329 random_permutation_fname_csv.assign(argv[++i]);
331 cout <<
"-random_permutation " << random_permutation_degree << endl;
334 else if (ST.
stringcmp(argv[i],
"-read_poset_file") == 0) {
335 f_read_poset_file =
TRUE;
337 read_poset_file_fname.assign(argv[++i]);
339 cout <<
"-read_poset_file " << read_poset_file_fname << endl;
342 else if (ST.
stringcmp(argv[i],
"-read_poset_file_with_grouping") == 0) {
343 f_read_poset_file =
TRUE;
345 read_poset_file_fname.assign(argv[++i]);
346 grouping_x_stretch = ST.
strtof(argv[++i]);
348 cout <<
"-read_poset_file_with_grouping "
349 << read_poset_file_fname <<
" " << grouping_x_stretch << endl;
352 else if (ST.
stringcmp(argv[i],
"-list_parameters_of_SRG") == 0) {
353 f_list_parameters_of_SRG =
TRUE;
354 list_parameters_of_SRG_v_max = ST.
strtoi(argv[++i]);
356 cout <<
"-list_parameters_of_SRG " << list_parameters_of_SRG_v_max << endl;
359 else if (ST.
stringcmp(argv[i],
"-conjugacy_classes_Sym_n") == 0) {
360 f_conjugacy_classes_Sym_n =
TRUE;
361 conjugacy_classes_Sym_n_n = ST.
strtoi(argv[++i]);
363 cout <<
"-conjugacy_classes_Sym_n " << conjugacy_classes_Sym_n_n << endl;
366 else if (ST.
stringcmp(argv[i],
"-tree_of_all_k_subsets") == 0) {
367 f_tree_of_all_k_subsets =
TRUE;
368 tree_of_all_k_subsets_n = ST.
strtoi(argv[++i]);
369 tree_of_all_k_subsets_k = ST.
strtoi(argv[++i]);
371 cout <<
"-tree_of_all_k_subsets " << tree_of_all_k_subsets_n <<
" " << tree_of_all_k_subsets_k << endl;
374 else if (ST.
stringcmp(argv[i],
"-Delandtsheer_Doyen") == 0) {
375 f_Delandtsheer_Doyen =
TRUE;
377 i += Delandtsheer_Doyen_description->
read_arguments(argc - (i - 1),
378 argv + i, verbose_level);
381 cout <<
"-Delandtsheer_Doyen" << endl;
384 else if (ST.
stringcmp(argv[i],
"-tdo_refinement") == 0) {
385 f_tdo_refinement =
TRUE;
387 cout <<
"-tdo_refinement " << endl;
391 argv + i + 1, verbose_level);
393 cout <<
"interface_combinatorics::read_arguments finished "
394 "reading -tdo_refinement" << endl;
395 cout <<
"i = " << i << endl;
396 cout <<
"argc = " << argc << endl;
398 cout <<
"next argument is " << argv[i] << endl;
402 else if (ST.
stringcmp(argv[i],
"-tdo_print") == 0) {
404 tdo_print_fname.assign(argv[++i]);
406 cout <<
"-tdo_print " << tdo_print_fname << endl;
409 else if (ST.
stringcmp(argv[i],
"-convert_stack_to_tdo") == 0) {
410 f_convert_stack_to_tdo =
TRUE;
411 stack_fname.assign(argv[++i]);
413 cout <<
"-convert_stack_to_tdo " << stack_fname << endl;
416 else if (ST.
stringcmp(argv[i],
"-maximal_arc_parameters") == 0) {
417 f_maximal_arc_parameters =
TRUE;
418 maximal_arc_parameters_q = ST.
strtoi(argv[++i]);
419 maximal_arc_parameters_r = ST.
strtoi(argv[++i]);
421 cout <<
"-maximal_arc_parameters " << maximal_arc_parameters_q
422 <<
" " << maximal_arc_parameters_r << endl;
425 else if (ST.
stringcmp(argv[i],
"-arc_parameters") == 0) {
426 f_arc_parameters =
TRUE;
427 arc_parameters_q = ST.
strtoi(argv[++i]);
428 arc_parameters_s = ST.
strtoi(argv[++i]);
429 arc_parameters_r = ST.
strtoi(argv[++i]);
431 cout <<
"-arc_parameters " << arc_parameters_q
432 <<
" " << arc_parameters_s
433 <<
" " << arc_parameters_r
437 else if (ST.
stringcmp(argv[i],
"-pentomino_puzzle") == 0) {
438 f_pentomino_puzzle =
TRUE;
440 cout <<
"-pentomino_puzzle " << endl;
443 else if (ST.
stringcmp(argv[i],
"-regular_linear_space_classify") == 0) {
444 f_regular_linear_space_classify =
TRUE;
447 cout <<
"-regular_linear_space_classify " << endl;
452 argv + i + 1, verbose_level);
454 cout <<
"interface_combinatorics::read_arguments finished "
455 "reading -regular_linear_space_classify" << endl;
456 cout <<
"i = " << i << endl;
457 cout <<
"argc = " << argc << endl;
459 cout <<
"next argument is " << argv[i] << endl;
462 cout <<
"-regular_linear_space_classify " <<endl;
465 else if (ST.
stringcmp(argv[i],
"-draw_layered_graph") == 0) {
466 f_draw_layered_graph =
TRUE;
467 draw_layered_graph_fname.assign(argv[++i]);
469 cout <<
"-draw_layered_graph " << endl;
473 argv + i + 1, verbose_level);
475 cout <<
"interface_combinatorics::read_arguments "
476 "finished reading -draw_layered_graph" << endl;
477 cout <<
"i = " << i << endl;
478 cout <<
"argc = " << argc << endl;
480 cout <<
"next argument is " << argv[i] << endl;
484 else if (ST.
stringcmp(argv[i],
"-read_solutions_and_tally") == 0) {
485 f_read_solutions_and_tally =
TRUE;
486 read_solutions_and_tally_fname.assign(argv[++i]);
487 read_solutions_and_tally_sz = ST.
strtoi(argv[++i]);
489 cout <<
"-read_solutions_and_tally " << read_solutions_and_tally_fname
490 <<
" " << read_solutions_and_tally_sz << endl;
494 else if (ST.
stringcmp(argv[i],
"-make_elementary_symmetric_functions") == 0) {
495 f_make_elementary_symmetric_functions =
TRUE;
496 make_elementary_symmetric_functions_n = ST.
strtoi(argv[++i]);
497 make_elementary_symmetric_functions_k_max = ST.
strtoi(argv[++i]);
499 cout <<
"-make_elementary_symmetric_functions " << make_elementary_symmetric_functions_n
500 <<
" " << make_elementary_symmetric_functions_k_max << endl;
503 else if (ST.
stringcmp(argv[i],
"-Dedekind_numbers") == 0) {
504 f_Dedekind_numbers =
TRUE;
505 Dedekind_n_min = ST.
strtoi(argv[++i]);
506 Dedekind_n_max = ST.
strtoi(argv[++i]);
507 Dedekind_q_min = ST.
strtoi(argv[++i]);
508 Dedekind_q_max = ST.
strtoi(argv[++i]);
510 cout <<
"-Dedekind_numbers " << Dedekind_n_min
511 <<
" " << Dedekind_n_max
512 <<
" " << Dedekind_q_min
513 <<
" " << Dedekind_q_max
517 else if (ST.
stringcmp(argv[i],
"-rank_k_subset") == 0) {
518 f_rank_k_subset =
TRUE;
519 rank_k_subset_n = ST.
strtoi(argv[++i]);
520 rank_k_subset_k = ST.
strtoi(argv[++i]);
521 rank_k_subset_text.assign(argv[++i]);
523 cout <<
"-rank_k_subset " << rank_k_subset_n
524 <<
" " << rank_k_subset_k
525 <<
" " << rank_k_subset_text
529 else if (ST.
stringcmp(argv[i],
"-geometry_builder") == 0) {
530 f_geometry_builder =
TRUE;
532 cout <<
"-geometry_builder " << endl;
536 argv + i + 1, verbose_level);
539 cout <<
"interface_combinatorics::read_arguments finished "
540 "reading -geometry_builder" << endl;
541 cout <<
"i = " << i << endl;
542 cout <<
"argc = " << argc << endl;
544 cout <<
"next argument is " << argv[i] << endl;
550 cout <<
"interface_combinatorics::read_arguments done" << endl;
558 cout <<
"-diophant " << endl;
559 Diophant_description->
print();
561 if (f_diophant_activity) {
562 cout <<
"-diophant_activity " << endl;
563 Diophant_activity_description->
print();
566 cout <<
"-bent " << bent_n << endl;
568 if (f_random_permutation) {
569 cout <<
"-random_permutation " << random_permutation_degree << endl;
571 if (f_read_poset_file) {
572 cout <<
"-read_poset_file " << read_poset_file_fname << endl;
574 if (f_read_poset_file) {
575 cout <<
"-read_poset_file_with_grouping "
576 << read_poset_file_fname <<
" " << grouping_x_stretch << endl;
578 if (f_list_parameters_of_SRG) {
579 cout <<
"-list_parameters_of_SRG " << list_parameters_of_SRG_v_max << endl;
581 if (f_conjugacy_classes_Sym_n) {
582 cout <<
"-conjugacy_classes_Sym_n " << conjugacy_classes_Sym_n_n << endl;
584 if (f_tree_of_all_k_subsets) {
585 cout <<
"-tree_of_all_k_subsets " << tree_of_all_k_subsets_n <<
" " << tree_of_all_k_subsets_k << endl;
587 if (f_Delandtsheer_Doyen) {
588 cout <<
"-Delandtsheer_Doyen" << endl;
589 Delandtsheer_Doyen_description->
print();
591 if (f_tdo_refinement) {
592 cout <<
"-tdo_refinement " << endl;
593 Tdo_refinement_descr->
print();
596 cout <<
"-tdo_print " << tdo_print_fname << endl;
598 if (f_convert_stack_to_tdo) {
599 cout <<
"-convert_stack_to_tdo " << stack_fname << endl;
601 if (f_maximal_arc_parameters) {
602 cout <<
"-maximal_arc_parameters " << maximal_arc_parameters_q
603 <<
" " << maximal_arc_parameters_r << endl;
605 if (f_arc_parameters) {
606 cout <<
"-arc_parameters " << arc_parameters_q
607 <<
" " << arc_parameters_s
608 <<
" " << arc_parameters_r
611 if (f_pentomino_puzzle) {
612 cout <<
"-pentomino_puzzle " <<endl;
614 if (f_regular_linear_space_classify) {
615 cout <<
"-regular_linear_space_classify " << endl;
618 if (f_draw_layered_graph) {
619 cout <<
"-draw_layered_graph " << endl;
621 if (f_read_solutions_and_tally) {
622 cout <<
"-read_solutions_and_tally " << read_solutions_and_tally_fname
623 <<
" " << read_solutions_and_tally_sz << endl;
626 if (f_make_elementary_symmetric_functions) {
627 cout <<
"-make_elementary_symmetric_functions "
628 << make_elementary_symmetric_functions_n
629 <<
" " << make_elementary_symmetric_functions_k_max
632 if (f_Dedekind_numbers) {
633 cout <<
"-Dedekind_numbers " << Dedekind_n_min
634 <<
" " << Dedekind_n_max
635 <<
" " << Dedekind_q_min
636 <<
" " << Dedekind_q_max
639 if (f_rank_k_subset) {
640 cout <<
"-rank_k_subset " << rank_k_subset_n
641 <<
" " << rank_k_subset_k
642 <<
" " << rank_k_subset_text
645 if (f_geometry_builder) {
646 Geometry_builder_description->
print();
653 int f_v = (verbose_level >= 1);
656 cout <<
"interface_combinatorics::worker" << endl;
661 else if (f_diophant_activity) {
665 do_bent(bent_n, verbose_level);
667 else if (f_random_permutation) {
672 random_permutation_fname_csv, verbose_level);
674 else if (f_read_poset_file) {
679 f_grouping, grouping_x_stretch,
682 else if (f_list_parameters_of_SRG) {
688 else if (f_conjugacy_classes_Sym_n) {
692 else if (f_tree_of_all_k_subsets) {
698 else if (f_Delandtsheer_Doyen) {
702 else if (f_tdo_refinement) {
708 else if (f_tdo_print) {
714 else if (f_convert_stack_to_tdo) {
720 else if (f_maximal_arc_parameters) {
725 maximal_arc_parameters_r, verbose_level);
727 else if (f_arc_parameters) {
732 arc_parameters_s, arc_parameters_r, verbose_level);
734 else if (f_pentomino_puzzle) {
735 cout <<
"pentomino_puzzle " <<endl;
741 P->
main(verbose_level);
746 else if (f_regular_linear_space_classify) {
753 cout <<
"interface_combinatorics::worker before Rls->init_and_run" << endl;
757 cout <<
"interface_combinatorics::worker after Rls->init_and_run" << endl;
762 else if (f_draw_layered_graph) {
766 Layered_graph_draw_options,
770 else if (f_read_solutions_and_tally) {
775 read_solutions_and_tally_sz, verbose_level);
778 else if (f_make_elementary_symmetric_functions) {
783 make_elementary_symmetric_functions_k_max, verbose_level);
786 else if (f_Dedekind_numbers) {
791 Dedekind_n_min, Dedekind_n_max, Dedekind_q_min, Dedekind_q_max,
796 else if (f_rank_k_subset) {
808 N = (sz + rank_k_subset_k - 1) / rank_k_subset_k;
815 r = Combi.
rank_k_subset(set + i, rank_k_subset_n, rank_k_subset_k);
817 cout <<
"The rank of ";
819 cout <<
" is " << r << endl;
822 i += rank_k_subset_k;
826 cout <<
"the ranks of all subsets are: ";
834 cout <<
"the sorted ranks of all subsets are: ";
839 else if (f_geometry_builder) {
841 cout <<
"interface_combinatorics::worker -geometry_builder" << endl;
861 int f_v = (verbose_level >= 1);
864 cout <<
"interface_combinatorics::do_diophant" << endl;
871 DC->
init(Descr, verbose_level);
875 cout <<
"interface_combinatorics::do_diophant done" << endl;
882 int f_v = (verbose_level >= 1);
885 cout <<
"interface_combinatorics::do_diophant_activity" << endl;
897 cout <<
"interface_combinatorics::do_diophant_activity done" << endl;
903 int f_v = (verbose_level >= 1);
906 cout <<
"interface_combinatorics::do_bent" << endl;
915 cout <<
"interface_combinatorics::do_bent before BF->init" << endl;
917 BF->
init(n, verbose_level);
919 cout <<
"interface_combinatorics::do_bent after BF->init" << endl;
927 cout <<
"interface_combinatorics::do_bent before BFC->init_group" << endl;
931 cout <<
"interface_combinatorics::do_bent after BFC->init_group" << endl;
935 cout <<
"interface_combinatorics::do_bent before BFC->search_for_bent_functions" << endl;
939 cout <<
"interface_combinatorics::do_bent after BFC->search_for_bent_functions" << endl;
947 cout <<
"interface_combinatorics::do_bent done" << endl;
954 int f_v = (verbose_level >= 1);
957 cout <<
"interface_combinatorics::do_conjugacy_classes_Sym_n" << endl;
975 S.
create(0, __FILE__, __LINE__);
977 cout <<
"The conjugacy classes in Sym_" << n <<
" are:" << endl;
978 for (i = 0; i < cnt; i++) {
984 cout << class_size <<
" : ";
993 cout <<
"the class sizes do not add up" << endl;
996 cout <<
"The sum of the class sizes is n!" << endl;
999 cout <<
"interface_combinatorics::do_conjugacy_classes_Sym_n done" << endl;
1006 int f_v = (verbose_level >= 1);
1009 cout <<
"interface_combinatorics::do_Delandtsheer_Doyen" << endl;
1016 DD->
init(Descr, verbose_level);
1022 cout <<
"interface_combinatorics::do_Delandtsheer_Doyen done" << endl;
void init(int n, int verbose_level)
a collection of combinatorial functions
void size_of_conjugacy_class_in_sym_n(ring_theory::longinteger_object &a, int n, int *part)
void do_parameters_arc(int q, int s, int r, int verbose_level)
void make_partitions(int n, int *Part, int cnt)
void do_tdo_print(std::string &fname, int verbose_level)
int rank_k_subset(int *set, int n, int k)
void make_elementary_symmetric_functions(int n, int k_max, int verbose_level)
void do_tdo_refinement(tdo_refinement_description *Descr, int verbose_level)
void do_read_poset_file(std::string &fname, int f_grouping, double x_stretch, int verbose_level)
void convert_stack_to_tdo(std::string &stack_fname, int verbose_level)
void do_make_tree_of_all_k_subsets(int n, int k, int verbose_level)
void Dedekind_numbers(int n_min, int n_max, int q_min, int q_max, int verbose_level)
void create_random_permutation(int deg, std::string &fname_csv, int verbose_level)
void do_parameters_maximal_arc(int q, int r, int verbose_level)
int count_partitions(int n)
generate all solutions of the pentomino puzzle
void main(int verbose_level)
refinement of the parameters of a linear space
int read_arguments(int argc, std::string *argv, int verbose_level)
a collection of functions related to sorted vectors
void int_vec_heapsort(int *v, int len)
void main2(int verbose_level)
description of a geometry
int read_arguments(int argc, std::string *argv, int verbose_level)
classification of geometries
void init_description(geometry_builder_description *Descr, int verbose_level)
various functions related to graph theory
void list_parameters_of_SRG(int v_max, int verbose_level)
a catch-all class for things related to 2D graphics
void draw_layered_graph_from_file(std::string &fname, layered_graph_draw_options *Opt, int verbose_level)
options for drawing an object of type layered_graph
int read_arguments(int argc, std::string *argv, int verbose_level)
a collection of functions related to file io
void read_solutions_and_tally(std::string &fname, int sz, int verbose_level)
domain to compute with objects of type longinteger
void integral_division_exact(longinteger_object &a, longinteger_object &b, longinteger_object &a_over_b)
void add_in_place(longinteger_object &a, longinteger_object &b)
void factorial(longinteger_object &result, int n)
a class to represent arbitrary precision integers
void create(long int i, const char *file, int line)
to describe an activity for a diophantine system from command line arguments
int read_arguments(int argc, std::string *argv, int verbose_level)
to perform an activity for a diophantine system using diophant_activity_description
void init_from_file(diophant_activity_description *Descr, int verbose_level)
to create a diophantine system from diophant_description
void init(diophant_description *Descr, int verbose_level)
to describe a diophantine system from command line arguments
int read_arguments(int argc, std::string *argv, int verbose_level)
classification of boolean functions
void init_group(combinatorics::boolean_function_domain *BF, int verbose_level)
void search_for_bent_functions(int verbose_level)
description of the problem for delandtsheer_doyen
int read_arguments(int argc, std::string *argv, int verbose_level)
search for line transitive point imprimitive linear spaces as described by Delandtsheer and Doyen
void init(delandtsheer_doyen_description *Descr, int verbose_level)
a description of a class of regular linear spaces from the command line
int read_arguments(int argc, std::string *argv, int verbose_level)
classification of regular linear spaces
void init_and_run(regular_linear_space_description *Descr, int verbose_level)
interface_combinatorics()
void do_bent(int n, int verbose_level)
void do_diophant(solvers::diophant_description *Descr, int verbose_level)
void worker(int verbose_level)
void print_help(int argc, std::string *argv, int i, int verbose_level)
void do_conjugacy_classes_Sym_n(int n, int verbose_level)
int recognize_keyword(int argc, std::string *argv, int i, int verbose_level)
void do_diophant_activity(solvers::diophant_activity_description *Descr, int verbose_level)
void do_Delandtsheer_Doyen(apps_combinatorics::delandtsheer_doyen_description *Descr, int verbose_level)
void read_arguments(int argc, std::string *argv, int &i, int verbose_level)
#define Int_vec_scan(A, B, C)
#define Int_vec_print(A, B, C)
the orbiter library for the classification of combinatorial objects