17namespace layer1_foundations {
18namespace geometry_builder {
45 int f_v = (verbose_level >= 1);
49 cout <<
"inc_encoding::init v=" <<
v <<
" b=" <<
b << endl;
50 cout <<
"inc_encoding::init R=" << endl;
51 for (i = 0; i <
v; i++) {
52 cout << i <<
" : " <<
R[i] << endl;
60 for (i = 0; i <
v; i++) {
64 cout <<
"inc_encoding::init dim_n=" <<
dim_n << endl;
68 cout <<
"inc_encoding::init done" << endl;
82 for (i = 0; i < k; i++) {
98 for (i = 0; i < row; i++) {
100 for (h = 0; h < r; h++) {
121 for (l = 0; l < n; l++) {
123 for (i = 0; i < m; i++) {
129 for (j = 0; j <
R[i] - 1; j++) {
144 for (j++; j <
R[i]; j++) {
163 for (j = 0; j <=
b; j++) {
165 (J < gg->Test_semicanonical->nb_i_vbar &&
175 if (f_print_isot && it) {
183 std::ostream &ost,
int v_cur,
int v_cut,
194 std::ostream &ost,
int v_cur,
int v_cut,
195 gen_geo *gg,
int *the_X,
int f_print_isot)
197 int i, j, r, I, J, f_kreuz;
203 for (i = 0; i <=
v; i++) {
208 (I < gg->Test_semicanonical->nb_i_hbar &&
225 for (j = 0; j <=
b; j++) {
227 (J < gg->Test_semicanonical->nb_i_vbar &&
236 if (i >= v_cut || r >=
R[i]) {
239 else if (the_X[r] == j) {
266 for (ii = 0; ii < k; ii++) {
271 ost << setw(3) << i <<
" : ";
272 ost << setw(4) << rk <<
" : ";
315 for (j = 0; j <
b; j++) {
316 cout << setw(2) << qv->
data[j] <<
" ";
319 for (i = 0; i <
v; i++) {
321 cout << setw(2) << i1 <<
" ";
322 for (j = 0; j <
b; j++) {
324 for (o = 0; o <
R[i1]; o++) {
343tactical_decomposition *inc_encoding::calc_tdo_without_vhbar(
344 int f_second_tactical_decomposition,
int verbose_level)
346 int f_v = (verbose_level >= 1);
349 cout <<
"inc_encoding::calc_tdo_without_vhbar" << endl;
351 tactical_decomposition *tdo = NULL;
353 tdo =
new tactical_decomposition;
355 tdo->init(
this, verbose_level);
357 tdo->make_point_and_block_partition(tdo->G_current, tdo->G_last);
359 tdo->calc2(
v, verbose_level);
361 tdo->tdos = tdo->get_tdos(tdo->G_current, tdo->G_next,
FALSE, verbose_level);
363 if (f_second_tactical_decomposition) {
365 tdo->second_order_tdo(
v, verbose_level);
368 tdo->tdos = tdo->tdos2;
374 cout <<
"inc_encoding::calc_tdo_without_vhbar done" << endl;
381 int *theY,
cperm *p,
cperm *q,
int verbose_level)
386 int f_v = (verbose_level >= 1);
389 cout <<
"inc_encoding::apply_permutation v=" <<
v <<
" b=" <<
b << endl;
390 cout <<
"inc_encoding::apply_permutation p=";
393 cout <<
"inc_encoding::apply_permutation q=";
401 for (i = 0; i <
v; i++) {
402 for (j = 0; j <
b; j++) {
406 for (i = 0; i <
v; i++) {
407 for (r = 0; r < inc->
Encoding->
R[i]; r++) {
412 cout <<
"inc_encoding::apply_permutation i1 >= v" << endl;
416 cout <<
"inc_encoding::apply_permutation j1 >= b" << endl;
420 theZ[i1 *
b + j1] = 1;
424 cout <<
"theZ:" << endl;
425 for (i = 0; i <
v; i++) {
426 for (j = 0; j <
b; j++) {
427 cout << theZ[i *
b + j];
433 for (i = 0; i <
v; i++) {
435 cout <<
"inc_encoding::apply_permutation i=" << i << endl;
438 for (j = 0; j <
b; j++) {
439 if (theZ[i *
b + j]) {
441 cout <<
"inc_theX_apply_pq r == inc->Encoding->R[i]" << endl;
445 theY[i *
dim_n + r] = j;
450 cout <<
"inc_theX_apply_pq r != inc->R[i]" << endl;
a collection of combinatorial functions
int rank_k_subset(int *set, int n, int k)
a permutation for use in class gen_geo
classification of geometries with a given row-tactical decomposition
geometric_backtrack_search * Geometric_backtrack_search
test_semicanonical * Test_semicanonical
int * Row_stabilizer_orbit_idx
iso_type ** Row_stabilizer_orbits
geometry_builder_description * Descr
int find_square(int m, int n)
void get_flags(int row, std::vector< int > &flags)
void print_partitioned(std::ostream &ost, int v_cur, int v_cut, gen_geo *gg, int f_print_isot)
long int rank_row(int row)
void print_permuted(cperm *pv, cperm *qv)
void print_horizontal_bar(std::ostream &ost, gen_geo *gg, int f_print_isot, iso_type *it)
void init(int v, int b, int *R, int verbose_level)
void apply_permutation(incidence *inc, int v, int *theY, cperm *p, cperm *q, int verbose_level)
int & theX_ir(int i, int r)
void print_partitioned_override_theX(std::ostream &ost, int v_cur, int v_cut, gen_geo *gg, int *the_X, int f_print_isot)
encoding of an incidence geometry during classification
iso_type * iso_type_no_vhbars
iso_type ** iso_type_at_line
void print_R(int v, cperm *p, cperm *q)
classification of geometries based on canonical forms
data_structures::classify_using_canonical_forms * Canonical_forms
void print_status(std::ostream &ost, int f_with_flags)
the orbiter library for the classification of combinatorial objects