19namespace layer1_foundations {
77 ost <<
"set of points of size " <<
sz <<
": ";
82 ost <<
"set of lines of size " <<
sz <<
": ";
87 ost <<
"set of points of size " <<
sz
88 <<
" and a set of lines of size " <<
sz2 <<
": ";
95 ost <<
"packing:" << endl;
100 ost <<
"incidence structure:" << endl;
105 ost <<
"large set:" << endl;
112 int f_show_incma,
int verbose_level)
114 int f_v = (verbose_level >= 1);
117 cout <<
"object_with_canonical_form::print_rows" << endl;
138 cout <<
"object_with_canonical_form::print_rows done" << endl;
143 int f_show_incma,
int verbose_level)
145 int f_v = (verbose_level >= 1);
148 cout <<
"object_with_canonical_form::print_tex_detailed" << endl;
164 ost <<
"\\\\" << endl;
170 cout <<
"object_with_canonical_form::print_tex_detailed done" << endl;
177 ost <<
"set of points of size " <<
sz <<
": ";
179 ost <<
"\\\\" << endl;
184 ost <<
"set of lines of size " <<
sz <<
": ";
186 ost <<
"\\\\" << endl;
189 ost <<
"set of points of size " <<
sz <<
": ";
191 ost <<
"\\\\" << endl;
192 ost <<
"and a set of lines of size " <<
sz2 <<
": ";
194 ost <<
"\\\\" << endl;
197 ost <<
"packing: \\\\" << endl;
202 ost <<
"incidence structure: \\\\" << endl;
206 ost <<
"\\\\" << endl;
216 ost <<
"large set: \\\\" << endl;
223 for (i = 0; i < nb_designs; i++) {
225 ost <<
"\\\\" << endl;
241 int &nb_sets,
int &set_size,
int verbose_level)
243 int f_v = (verbose_level >= 1);
247 cout <<
"object_with_canonical_form::get_packing_as_set_system" << endl;
251 Sets =
NEW_lint(nb_sets * set_size);
252 for (i = 0; i < nb_sets; i++) {
253 for (j = 0; j < set_size; j++) {
254 Sets[i * set_size + j] =
SoS->
Sets[i][j];
258 cout <<
"object_with_canonical_form::get_packing_as_set_system done" << endl;
264 long int *set,
int sz,
267 int f_v = (verbose_level >= 1);
270 cout <<
"object_with_canonical_form::init_point_set" << endl;
278 cout <<
"object_with_canonical_form::init_point_set done" << endl;
283 std::string &set_text,
286 int f_v = (verbose_level >= 1);
289 cout <<
"object_with_canonical_form::init_point_set_from_string" << endl;
297 cout <<
"object_with_canonical_form::init_point_set_from_string done" << endl;
303 long int *set,
int sz,
306 int f_v = (verbose_level >= 1);
309 cout <<
"object_with_canonical_form::init_line_set" << endl;
317 cout <<
"object_with_canonical_form::init_line_set done" << endl;
322 std::string &set_text,
325 int f_v = (verbose_level >= 1);
328 cout <<
"object_with_canonical_form::init_line_set_from_string" << endl;
336 cout <<
"object_with_canonical_form::init_line_set_from_string done" << endl;
341 long int *set,
int sz,
342 long int *set2,
int sz2,
345 int f_v = (verbose_level >= 1);
348 cout <<
"object_with_canonical_form::init_points_and_lines" << endl;
362 cout <<
"object_with_canonical_form::init_points_and_lines done" << endl;
367 std::string &set_text,
368 std::string &set2_text,
371 int f_v = (verbose_level >= 1);
374 cout <<
"object_with_canonical_form::init_points_and_lines_from_string" << endl;
384 cout <<
"object_with_canonical_form::init_points_and_lines_from_string done" << endl;
389 long int *packing,
int sz,
392 int f_v = (verbose_level >= 1);
393 int i, q, size_of_spread, size_of_packing;
396 cout <<
"object_with_canonical_form::init_packing_from_set" << endl;
401 size_of_spread = q * q + 1;
402 size_of_packing = q * q + q + 1;
403 if (
sz != size_of_packing * size_of_spread) {
404 cout <<
"object_with_canonical_form::init_packing_from_set "
405 "sz != size_of_packing * size_of_spread" << endl;
415 for (i = 0; i < size_of_packing; i++) {
421 cout <<
"object_with_canonical_form::init_packing_from_set it is" << endl;
428 cout <<
"object_with_canonical_form::init_packing_from_set done" << endl;
434 std::string &packing_text,
438 int f_v = (verbose_level >= 1);
439 int i, size_of_spread, size_of_packing;
442 cout <<
"object_with_canonical_form::init_packing_from_string" << endl;
454 size_of_spread = q * q + 1;
455 size_of_packing = q * q + q + 1;
456 N_lines = size_of_spread * size_of_packing;
458 cout <<
"object_with_canonical_form::init_packing_from_string "
459 "sz != N_lines" << endl;
469 for (i = 0; i < size_of_packing; i++) {
475 cout <<
"object_with_canonical_form::init_packing_from_string it is" << endl;
484 cout <<
"object_with_canonical_form::init_packing_from_string done" << endl;
491 int f_v = (verbose_level >= 1);
494 cout <<
"object_with_canonical_form::init_packing_from_set_of_sets" << endl;
505 cout <<
"object_with_canonical_form::init_packing_from_set_of_sets done" << endl;
512 long int *Spread_table,
int nb_spreads,
int spread_size,
516 int f_v = (verbose_level >= 1);
517 int a, i, size_of_spread, size_of_packing;
521 cout <<
"object_with_canonical_form::init_packing_from_spread_table" << endl;
526 size_of_spread = q * q + 1;
527 size_of_packing = q * q + q + 1;
528 if (spread_size != size_of_spread) {
529 cout <<
"object_with_canonical_form::init_packing_from_spread_table "
530 "spread_size != size_of_spread" << endl;
533 N_lines = size_of_spread * size_of_packing;
542 for (i = 0; i < size_of_packing; i++) {
547 if (verbose_level >= 5) {
548 cout <<
"object_with_canonical_form::init_packing_from_spread_table Sos:" << endl;
560 cout <<
"object_with_canonical_form::init_packing_from_spread_table not a packing, spreads "
561 << i <<
" and " << j <<
" meet in "
562 << M[i *
SoS->
nb_sets + j] <<
" lines" << endl;
563 cout <<
"object_with_canonical_form::init_packing_from_spread_table Sos:" << endl;
573 cout <<
"object_with_canonical_form::init_packing_from_spread_table done" << endl;
578 long int *data,
int data_sz,
int v,
int b,
int nb_flags,
581 int f_v = (verbose_level >= 1);
584 cout <<
"object_with_canonical_form::init_incidence_geometry" << endl;
586 if (nb_flags != data_sz) {
587 cout <<
"object_with_canonical_form::init_incidence_geometry nb_flags != data_sz" << endl;
597 cout <<
"object_with_canonical_form::init_incidence_geometry done" << endl;
602 std::vector<int> &Flags,
int v,
int b,
int nb_flags,
605 int f_v = (verbose_level >= 1);
608 cout <<
"object_with_canonical_form::init_incidence_geometry" << endl;
610 if (nb_flags != Flags.size()) {
611 cout <<
"object_with_canonical_form::init_incidence_geometry nb_flags != Flags.size()" << endl;
622 for (i = 0; i < Flags.size(); i++) {
629 cout <<
"object_with_canonical_form::init_incidence_geometry done" << endl;
635 int v,
int b,
int nb_flags,
638 int f_v = (verbose_level >= 1);
641 cout <<
"object_with_canonical_form::init_incidence_geometry_from_string" << endl;
648 if (nb_flags != data_sz) {
649 cout <<
"object_with_canonical_form::init_incidence_geometry_from_string nb_flags != data_sz" << endl;
662 cout <<
"object_with_canonical_form::init_incidence_geometry_from_string done" << endl;
671 int f_v = (verbose_level >= 1);
674 cout <<
"object_with_canonical_form::init_incidence_geometry_from_string" << endl;
687 cout <<
"object_with_canonical_form::init_incidence_geometry_from_string v != data_sz" << endl;
693 for (i = 0; i <
v; i++) {
695 for (h = 0; h < r; h++) {
696 a = i *
b + row_set[h];
697 flags[nb_flags++] = a;
715 cout <<
"object_with_canonical_form::init_incidence_geometry_from_string done" << endl;
721 long int *data,
int data_sz,
int v,
int b,
int k,
int design_sz,
724 int f_v = (verbose_level >= 1);
727 cout <<
"object_with_canonical_form::init_large_set" << endl;
731 cout <<
"object_with_canonical_form::init_large_set data_sz != b" << endl;
744 cout <<
"object_with_canonical_form::init_large_set done" << endl;
749 std::string &data_text,
int v,
int k,
int design_sz,
752 int f_v = (verbose_level >= 1);
755 cout <<
"object_with_canonical_form::init_large_set_from_string" << endl;
768 cout <<
"object_with_canonical_form::init_large_set_from_string done" << endl;
774 int &nb_rows,
int &nb_cols,
777 int f_v = (verbose_level >= 1);
780 cout <<
"object_with_canonical_form::encoding_size" << endl;
785 cout <<
"object_with_canonical_form::encoding_size "
786 "before encoding_size_point_set" << endl;
789 nb_rows, nb_cols, verbose_level);
795 cout <<
"object_with_canonical_form::encoding_size "
796 "before encoding_size_line_set" << endl;
799 nb_rows, nb_cols, verbose_level);
805 cout <<
"object_with_canonical_form::encoding_size "
806 "before encoding_size_points_and_lines" << endl;
809 nb_rows, nb_cols, verbose_level);
815 cout <<
"object_with_canonical_form::encoding_size "
816 "before encoding_size_packing" << endl;
819 nb_rows, nb_cols, verbose_level);
825 cout <<
"object_with_canonical_form::encoding_size "
826 "before encoding_size_packing" << endl;
829 nb_rows, nb_cols, verbose_level);
835 cout <<
"object_with_canonical_form::encoding_size "
836 "before encoding_size_large_set" << endl;
839 nb_rows, nb_cols, verbose_level);
843 cout <<
"object_with_canonical_form::encoding_size "
844 "unknown type" << endl;
848 cout <<
"object_in_projective_space::encoding_size done" << endl;
853 int &nb_rows,
int &nb_cols,
856 int f_v = (verbose_level >= 1);
859 cout <<
"object_with_canonical_form::encoding_size_point_set" << endl;
867 cout <<
"object_with_canonical_form::encoding_size_point_set "
868 "The set is a multiset:" << endl;
874 cout <<
"The type of the set is:" << endl;
879 int nb_rows0, nb_cols0;
888 nb_rows = nb_rows0 + 1;
890 cout <<
"object_with_canonical_form::encoding_size_point_set "
891 "nb_rows=" << nb_rows << endl;
895 cout <<
"object_with_canonical_form::encoding_size_point_set "
896 "nb_cols=" << nb_cols << endl;
899 cout <<
"object_with_canonical_form::encoding_size_point_set "
900 "before FREE_OBJECT(C)" << endl;
905 cout <<
"object_with_canonical_form::encoding_size_point_set "
912 int &nb_rows,
int &nb_cols,
915 int f_v = (verbose_level >= 1);
918 cout <<
"object_with_canonical_form::encoding_size_line_set" << endl;
928 int &nb_rows,
int &nb_cols,
931 int f_v = (verbose_level >= 1);
934 cout <<
"object_with_canonical_form::encoding_size_points_and_lines" << endl;
944 int &nb_rows,
int &nb_cols,
947 int f_v = (verbose_level >= 1);
950 cout <<
"object_with_canonical_form::encoding_size_packing" << endl;
959 int &nb_rows,
int &nb_cols,
962 int f_v = (verbose_level >= 1);
966 cout <<
"object_with_canonical_form::encoding_size_large_set" << endl;
971 cout <<
"object_with_canonical_form::encoding_size_large_set "
972 "design_sz does not divide b" << endl;
976 nb_rows =
v + nb_designs;
982 int &nb_rows,
int &nb_cols,
985 int f_v = (verbose_level >= 1);
988 cout <<
"object_with_canonical_form::encoding_size_packing" << endl;
997 int *canonical_labeling,
1001 int f_v = (verbose_level >= 1);
1004 cout <<
"object_with_canonical_form::canonical_form_given_canonical_labeling" << endl;
1011 cout <<
"object_with_canonical_form::canonical_form_given_canonical_labeling "
1012 "after OiP->encode_incma" << endl;
1024 cout <<
"object_with_canonical_form::canonical_form_given_canonical_labeling done" << endl;
1032 int f_v = (verbose_level >= 1);
1035 cout <<
"object_with_canonical_form::encode_incma" << endl;
1068 cout <<
"object_with_canonical_form::encode_incma "
1069 "unknown type" << endl;
1073 cout <<
"object_with_canonical_form::encode_incma done" << endl;
1081 int f_v = (verbose_level >= 1);
1084 cout <<
"object_with_canonical_form::encode_point_set" << endl;
1093 cout <<
"object_with_canonical_form::encode_point_set set=";
1099 cout <<
"object_with_canonical_form::encode_point_set "
1100 "The set is a multiset:" << endl;
1106 cout <<
"The type of the set is:" << endl;
1112 int nb_rows0, nb_cols0;
1113 int nb_rows, nb_cols;
1121 nb_rows = nb_rows0 + 1;
1125 Enc->
init(nb_rows, nb_cols, verbose_level);
1137 int h, f2, l2, m, idx, f, l;
1143 cout <<
"j=" << j <<
" f2=" << f2 <<
" l2=" << l2
1144 <<
" multiplicity=" << m << endl;
1146 for (h = 0; h < l2; h++) {
1152 cout <<
"h=" << h <<
" idx=" << idx <<
" f=" << f
1153 <<
" l=" << l <<
" i=" << i << endl;
1156 cout <<
"object_with_canonical_form::encode_point_set i > P->N_points" << endl;
1157 cout <<
"i = " << i << endl;
1158 cout <<
"P->N_points = " <<
P->
N_points << endl;
1159 cout <<
"h=" << h <<
" idx=" << idx <<
" f=" << f
1160 <<
" l=" << l <<
" i=" << i << endl;
1168 cout <<
"object_with_canonical_form::encode_point_set bottom right entries" << endl;
1176 cout <<
"object_with_canonical_form::encode_point_set partition" << endl;
1191 cout <<
"object_with_canonical_form::encode_point_set "
1192 "partition:" << endl;
1196 cout <<
"object_with_canonical_form::encode_point_set "
1205 int f_v = (verbose_level >= 1);
1208 cout <<
"object_with_canonical_form::encode_line_set" << endl;
1211 int f_vvv = (verbose_level >= 3);
1213 int nb_rows0, nb_cols0;
1214 int nb_rows, nb_cols;
1219 nb_rows = nb_rows0 + 1;
1220 nb_cols = nb_cols0 + 1;
1224 N = nb_rows + nb_cols;
1227 Enc->
init(nb_rows, nb_cols, verbose_level);
1232 for (i = 0; i < 1; i++) {
1235 for (h = 0; h <
sz; h++) {
1246 Enc->
partition[nb_rows + nb_cols0 - 1] = 0;
1247 Enc->
partition[nb_rows + nb_cols0 + 1 - 1] = 0;
1250 cout <<
"object_with_canonical_form::encode_line_set "
1251 "partition:" << endl;
1255 cout <<
"object_with_canonical_form::encode_line_set "
1264 int f_v = (verbose_level >= 1);
1267 cout <<
"object_with_canonical_form::encode_points_and_lines" << endl;
1270 int f_vvv = (verbose_level >= 3);
1272 int nb_rows0, nb_cols0;
1273 int nb_rows, nb_cols;
1278 nb_rows = nb_rows0 + 1;
1279 nb_cols = nb_cols0 + 1;
1283 N = nb_rows + nb_cols;
1286 Enc->
init(nb_rows, nb_cols, verbose_level);
1291 for (i = 0; i < 1; i++) {
1294 for (h = 0; h <
sz2; h++) {
1303 for (h = 0; h <
sz; h++) {
1313 Enc->
partition[nb_rows + nb_cols0 - 1] = 0;
1314 Enc->
partition[nb_rows + nb_cols0 + 1 - 1] = 0;
1316 cout <<
"object_with_canonical_form::encode_points_and_lines "
1317 "partition:" << endl;
1321 cout <<
"object_with_canonical_form::encode_points_and_lines "
1331 int f_v = (verbose_level >= 1);
1334 cout <<
"object_with_canonical_form::encode_packing" << endl;
1337 int f_vvv = (verbose_level >= 3);
1340 int nb_rows0, nb_cols0;
1341 int nb_rows, nb_cols;
1347 nb_cols = nb_cols0 + 1;
1350 Enc->
init(nb_rows, nb_cols, verbose_level);
1370 Enc->
partition[nb_rows + nb_cols0 - 1] = 0;
1371 Enc->
partition[nb_rows + nb_cols0 + 1 - 1] = 0;
1373 cout <<
"object_with_canonical_form::encode_packing "
1374 "partition:" << endl;
1378 cout <<
"object_with_canonical_form::encode_packing "
1387 int f_v = (verbose_level >= 1);
1390 cout <<
"object_with_canonical_form::encode_large_set" << endl;
1393 int f_vvv = (verbose_level >= 3);
1396 int nb_rows, nb_cols;
1401 nb_rows =
v + nb_designs;
1406 N = nb_rows + nb_cols;
1407 L = nb_rows * nb_cols;
1410 Enc->
init(nb_rows, nb_cols, verbose_level);
1419 for (j = 0; j <
sz; j++) {
1429 for (i = 0; i < nb_designs; i++) {
1436 for (i = 0; i < nb_designs; i++) {
1445 cout <<
"object_with_canonical_form::encode_large_set "
1446 "partition:" << endl;
1453 cout <<
"object_with_canonical_form::encode_large_set "
1462 int f_v = (verbose_level >= 1);
1465 cout <<
"object_with_canonical_form::encode_incidence_geometry" << endl;
1468 int f_vvv = (verbose_level >= 3);
1471 int nb_rows, nb_cols;
1477 N = nb_rows + nb_cols;
1480 Enc->
init(nb_rows, nb_cols, verbose_level);
1482 for (i = 0; i <
sz; i++) {
1484 if (a >= nb_rows * nb_cols) {
1485 cout <<
"object_with_canonical_form::encode_incidence_geometry a >= nb_rows* nb_cols" << endl;
1486 cout <<
"nb_rows = " << nb_rows << endl;
1487 cout <<
"nb_cols = " << nb_cols << endl;
1488 cout <<
"a = " << a << endl;
1504 cout <<
"object_with_canonical_form::encode_incidence_geometry "
1505 "partition:" << endl;
1509 cout <<
"object_with_canonical_form::encode_incidence_geometry "
1520 int f_v = (verbose_level >= 1);
1523 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition" << endl;
1556 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition unknown type" << endl;
1575 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_PTS split1" << endl;
1582 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_PTS split2" << endl;
1596 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_LNS" << endl;
1610 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_PNL" << endl;
1624 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_PAC" << endl;
1637 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_INC" << endl;
1646 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition t_LS" << endl;
1657 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition "
1658 "unknown type " <<
type << endl;
1663 cout <<
"object_with_canonical_form::encode_incma_and_make_decomposition done" << endl;
1668 long int *&encoding,
int &encoding_sz,
int verbose_level)
1670 int f_v = (verbose_level >= 1);
1673 cout <<
"object_with_canonical_form::encode_object" << endl;
1706 cout <<
"object_with_canonical_form::encode_object "
1707 "unknown type" << endl;
1711 cout <<
"object_with_canonical_form::encode_object "
1712 "encoding_sz=" << encoding_sz << endl;
1715 cout <<
"object_with_canonical_form::encode_object "
1721 long int *&encoding,
int &encoding_sz,
int verbose_level)
1723 int f_v = (verbose_level >= 1);
1726 cout <<
"object_with_canonical_form::encode_object_points" << endl;
1734 long int *&encoding,
int &encoding_sz,
1737 int f_v = (verbose_level >= 1);
1740 cout <<
"object_with_canonical_form::encode_object_lines" << endl;
1748 long int *&encoding,
int &encoding_sz,
1751 int f_v = (verbose_level >= 1);
1754 cout <<
"object_with_canonical_form::encode_object_points_and_lines" << endl;
1762 long int *&encoding,
int &encoding_sz,
1765 int f_v = (verbose_level >= 1);
1768 cout <<
"object_with_canonical_form::encode_object_packing" << endl;
1779 if (h != encoding_sz) {
1780 cout <<
"object_with_canonical_form::encode_object_packing "
1781 "h != encoding_sz" << endl;
1787 long int *&encoding,
int &encoding_sz,
int verbose_level)
1789 int f_v = (verbose_level >= 1);
1792 cout <<
"object_with_canonical_form::encode_object_incidence_geometry" << endl;
1800 long int *&encoding,
int &encoding_sz,
int verbose_level)
1802 int f_v = (verbose_level >= 1);
1805 cout <<
"object_with_canonical_form::encode_object_large_set" << endl;
1813void object_with_canonical_form::klein(
int verbose_level)
1815 int f_v = (verbose_level >= 1);
1818 cout <<
"object_with_canonical_form::klein" << endl;
1822 cout <<
"object_with_canonical_form::klein "
1823 "not of type t_LNS" << endl;
1829 cout <<
"object_with_canonical_form::klein "
1830 "not in three space" << endl;
1836 projective_space *P5;
1838 long int *pts_klein;
1841 ring_theory::longinteger_object *R;
1842 long int **Pts_on_plane;
1843 int *nb_pts_on_plane;
1857 cout <<
"object_with_canonical_form::klein "
1858 "before P3->klein_correspondence" << endl;
1861 set,
sz, pts_klein, 0);
1864 N = P5->nb_rk_k_subspaces_as_lint(3);
1866 cout <<
"object_with_canonical_form::klein N = " << N << endl;
1873 Gr->init(6, 3,
P->
F, 0 );
1876 cout <<
"object_with_canonical_form::klein "
1877 "before plane_intersection_type_fast" << endl;
1879 P5->plane_intersection_type_slow(Gr, pts_klein,
sz,
1880 R, Pts_on_plane, nb_pts_on_plane, nb_planes,
1884 cout <<
"object_with_canonical_form::klein "
1885 "We found " << nb_planes <<
" planes." << endl;
1889 C.
init(nb_pts_on_plane, nb_planes,
FALSE, 0);
1890 cout <<
"plane types are: ";
1894 for (i = 0; i < nb_planes; i++) {
1895 if (nb_pts_on_plane[i] >= 3) {
1896 cout << setw(3) << i <<
" / " << nb_planes <<
" : " << R[i]
1897 <<
" : " << setw(5) << nb_pts_on_plane[i] <<
" : ";
1898 int_vec_print(cout, Pts_on_plane[i], nb_pts_on_plane[i]);
1905 cout <<
"before FREE_OBJECTS(R);" << endl;
1909 cout <<
"before FREE_int(Pts_on_plane[i]);" << endl;
1911 for (i = 0; i < nb_planes; i++) {
1915 cout <<
"before FREE_pint(Pts_on_plane);" << endl;
1919 cout <<
"before FREE_int(nb_pts_on_plane);" << endl;
1929 cout <<
"object_with_canonical_form::klein done" << endl;
1935 int f_compute_canonical_form,
1940 int f_v = (verbose_level >= 1);
1943 cout <<
"object_with_canonical_form::run_nauty" << endl;
1948 nauty_interface Nau;
1952 cout <<
"object_with_canonical_form::run_nauty" << endl;
1953 cout <<
"verbose_level = " << verbose_level << endl;
1958 cout <<
"object_with_canonical_form::run_nauty "
1959 "before encode_incma" << endl;
1963 cout <<
"object_with_canonical_form::run_nauty "
1964 "after encode_incma" << endl;
1966 if (verbose_level > 5) {
1967 cout <<
"object_with_canonical_form::run_nauty Incma:" << endl;
1978 if (verbose_level > 5) {
1979 cout <<
"object_with_canonical_form::run_nauty "
1980 "before NO->allocate" << endl;
1986 cout <<
"object_with_canonical_form::run_nauty "
1987 "before Nau.nauty_interface_matrix_int" << endl;
1989 int t0, t1, dt, tps;
1990 double delta_t_in_sec;
1997 Nau.nauty_interface_matrix_int(
2006 delta_t_in_sec = (double) dt / (
double) tps;
2009 cout <<
"object_with_canonical_form::run_nauty "
2010 "after Nau.nauty_interface_matrix_int, "
2011 "Ago=" << *NO->
Ago <<
" dt=" << dt
2012 <<
" delta_t_in_sec=" << delta_t_in_sec << endl;
2014 if (verbose_level > 5) {
2019 cout <<
"aut generator " << h <<
" / " << NO->
Aut_counter <<
" : " << endl;
2028 if (f_compute_canonical_form) {
2038 cout <<
"object_with_canonical_form::run_nauty before FREE_OBJECT(Enc)" << endl;
2044 cout <<
"object_with_canonical_form::run_nauty done" << endl;
2055 int f_v = (verbose_level >= 1);
2056 int f_vv = (verbose_level >= 2);
2059 nauty_interface Nau;
2063 cout <<
"object_with_canonical_form::canonical_labeling"
2065 cout <<
"verbose_level = " << verbose_level << endl;
2069 cout <<
"object_with_canonical_form::canonical_labeling "
2070 "before encode_incma" << endl;
2074 cout <<
"object_with_canonical_form::canonical_labeling "
2075 "after encode_incma" << endl;
2077 if (verbose_level > 5) {
2078 cout <<
"object_with_canonical_form::canonical_labeling "
2084 cout <<
"object_with_canonical_form::canonical_labeling "
2085 "initializing Aut, Base, "
2086 "Transversal_length" << endl;
2092 cout <<
"object_with_canonical_form::canonical_labeling "
2093 "calling nauty_interface_matrix_int" << endl;
2098 double delta_t_in_sec;
2103 Nau.nauty_interface_matrix_int(
2110 delta_t_in_sec = (double) t1 / (
double) dt;
2113 cout <<
"object_with_canonical_form::canonical_labeling "
2114 "done with nauty_interface_matrix_int, "
2115 "Ago=" << NO->
Ago <<
" dt=" << dt
2116 <<
" delta_t_in_sec=" << delta_t_in_sec << endl;
2121 cout <<
"object_with_canonical_form::canonical_labeling "
2122 "done with nauty_interface_matrix_int, "
2123 "Ago=" << NO->
Ago << endl;
2127 cout <<
"object_with_canonical_form::canonical_labeling done"
2136 int f_v = (verbose_level >= 1);
2140 cout <<
"object_with_canonical_form::run_nauty_basic"
2142 cout <<
"verbose_level = " << verbose_level << endl;
2145 int nb_rows, nb_cols;
2149 cout <<
"object_with_canonical_form::run_nauty_basic before OiP->encoding_size" << endl;
2153 cout <<
"object_with_canonical_form::run_nauty_basic after OiP->encoding_size" << endl;
2154 cout <<
"object_with_canonical_form::run_nauty_basic nb_rows=" << nb_rows << endl;
2155 cout <<
"object_with_canonical_form::run_nauty_basic nb_cols=" << nb_cols << endl;
2162 cout <<
"object_with_canonical_form::run_nauty_basic "
2163 "before OwCF->run_nauty" << endl;
2166 FALSE , Canonical_form,
2170 cout <<
"object_with_canonical_form::run_nauty_basic "
2171 "after OwCF->run_nauty" << endl;
2175 cout <<
"object_with_canonical_form::run_nauty_basic done" << endl;
a collection of combinatorial functions
void unrank_k_subset(int rk, int *set, int n, int k)
encoding of combinatorial object for use with nauty
void set_incidence(int a)
void compute_canonical_form(data_structures::bitvector *&Canonical_form, int *canonical_labeling, int verbose_level)
void set_incidence_ij(int i, int j)
int canonical_labeling_len
void latex_set_system_by_columns(std::ostream &ost, int verbose_level)
void latex_incma(std::ostream &ost, int verbose_level)
void latex_set_system_by_rows(std::ostream &ost, int verbose_level)
void init(int nb_rows, int nb_cols, int verbose_level)
void canonical_form_given_canonical_labeling(int *canonical_labeling, data_structures::bitvector *&B, int verbose_level)
void incidence_matrix_projective_space_top_left(geometry::projective_space *P, int verbose_level)
void extended_incidence_matrix_projective_space_top_left(geometry::projective_space *P, int verbose_level)
compact storage of 0/1-data as bitvectors
void copy(long int *from, long int *to, long int len)
output data created by a run of nauty
void allocate(int N, int verbose_level)
ring_theory::longinteger_object * Ago
data structure for set partitions following Jeffrey Leon
void subset_continguous(int from, int len)
void split_cell(int verbose_level)
void allocate(int n, int verbose_level)
void sort_all(int verbose_level)
void init_basic_constant_size(int underlying_set_size, int nb_sets, int constant_size, int verbose_level)
void print_table_tex(std::ostream &ost)
void pairwise_intersection_matrix(int *&M, int verbose_level)
a statistical analysis of data consisting of single integers
void init(int *data, int data_length, int f_second, int verbose_level)
void print(int f_backwards)
void init_lint(long int *data, int data_length, int f_second, int verbose_level)
int * second_sorting_perm_inv
interface for various incidence geometries
void init_by_matrix(int m, int n, int *M, int verbose_level)
void klein_correspondence(projective_space *P5, long int *set_in, int set_size, long int *set_out, int verbose_level)
field_theory::finite_field * F
void print_set_of_points(std::ostream &ost, long int *Pts, int nb_pts)
a collection of functions related to file io
void get_lint_vector_from_label(std::string &label, long int *&v, int &sz, int verbose_level)
data_structures::lint_vec * Lint_vec
interface to system functions
int os_ticks_per_second()
#define Lint_vec_copy(A, B, C)
#define Lint_vec_scan(A, B, C)
#define Lint_vec_print(A, B, C)
#define Int_vec_copy(A, B, C)
#define Int_vec_copy_to_lint(A, B, C)
orbiter_kernel_system::orbiter_session * Orbiter
global Orbiter session
the orbiter library for the classification of combinatorial objects