13namespace layer3_group_actions {
14namespace induced_actions {
59 int set_size,
long int *input_sets,
63 int f_v = (verbose_level >= 1);
69 cout <<
"action_on_sets::init "
90 cout <<
"set " << setw(3) << i <<
" is ";
105 cout <<
"after quicksort_array_with_perm" << endl;
107 cout <<
"i : perm[i] : perm_inv[i]" << endl;
108 for (i = 0; i <
nb_sets; i++) {
109 cout << i <<
" : " <<
perm[i] <<
" : " <<
perm_inv[i] << endl;
118 cout <<
"the sets in the perm_inv ordering:" << endl;
119 for (i = 0; i <
nb_sets; i++) {
121 cout <<
"set " << i <<
" is set " << j <<
" : ";
128 cout <<
"action_on_sets::init finished" << endl;
134 int f_v = (verbose_level >= 1);
139 cout <<
"action_on_sets::find_set, nb_sets=" <<
nb_sets << endl;
149 cout <<
"action_on_sets::find_set could not find the given set" << endl;
154 cout <<
"action_on_sets::find_set done" << endl;
160 int *Elt,
long int i,
int verbose_level)
162 int f_v = (verbose_level >= 1);
163 int f_vv = (verbose_level >= 2);
169 cout <<
"action_on_sets::compute_image "
171 cout <<
"action_on_sets::compute_image "
172 "perm[i] = " <<
perm[i] << endl;
175 cout <<
"action_on_sets::compute_image "
176 "i = " << i <<
" out of range" << endl;
180 cout <<
"the element " << endl;
183 cout <<
"as permutation:" << endl;
188 cout <<
"sets[perm[i]]:" << endl;
192 cout << j <<
" : " <<
sets[
perm[i]][j] <<
" : " << endl;
204 cout <<
"after map_a_set_and_reorder:" << endl;
208 cout << j <<
" : " <<
image_set[j] <<
" : " << endl;
222 cout <<
"action_on_sets::compute_image "
223 "image set not found" << endl;
224 cout <<
"action = " << A->
label << endl;
226 cout <<
"the element " << endl;
229 cout <<
"as permutation:" << endl;
233 cout <<
"i=" << i << endl;
234 cout <<
"perm[i]=" <<
perm[i] << endl;
235 cout <<
"sets[perm[i]]:" << endl;
238 cout <<
"image_set:" << endl;
241 for (u = 0; u <
nb_sets; u++) {
249 cout << setw(3) << u <<
" : " << setw(3) << a
250 <<
" : " << setw(3) << b << endl;
255 cout <<
"action_on_sets::compute_image "
256 "idx = " << idx << endl;
260 cout <<
"action_on_sets::compute_image "
261 "the set we found is not the right one" << endl;
265 cout <<
"action_on_sets::compute_image "
266 "j = perm_inv[idx] = " << j << endl;
269 cout <<
"action_on_sets::compute_image "
270 "j=" << j <<
" out of range" << endl;
280 cout <<
"the sets in the sorted ordering:" << endl;
281 for (i = 0; i <
nb_sets; i++) {
282 cout <<
"set " << i <<
" : is " <<
perm_inv[i] <<
" : ";
292 cout <<
"the sets in the original ordering:" << endl;
293 for (i = 0; i <
nb_sets; i++) {
294 cout <<
"set " << i <<
" : is " <<
perm[i] <<
" : ";
304 for (i = 0; i <
nb_sets - 1; i++) {
307 cout <<
"action_on_sets::test_sets "
308 "sorted set " << i <<
" and sorted set "
309 << i + 1 <<
" are equal. This should not be" << endl;
310 cout <<
"The original set numbers are " <<
perm_inv[i]
311 <<
" and " <<
perm_inv[i + 1] <<
" respectively." << endl;
322 long int *A = (
long int *)a;
323 long int *B = (
long int *)b;
334 long int *A = (
long int *)a;
335 long int *B = (
long int *)b;
a collection of combinatorial functions
void perm_inverse(int *a, int *b, long int n)
a collection of functions related to sorted vectors
void lint_vec_quicksort_increasingly(long int *v, int len)
int lint_vec_compare(long int *p, long int *q, int len)
void quicksort_array_with_perm(int len, void **v, int *perm, int(*compare_func)(void *a, void *b, void *data), void *data)
int vec_search(void **v, int(*compare_func)(void *a, void *b, void *data), void *data_for_compare, int len, void *a, int &idx, int verbose_level)
a permutation group in a fixed action.
int image_of(void *elt, int a)
void print_point(int a, std::ostream &ost)
void map_a_set_and_reorder(long int *set, long int *image_set, int n, int *Elt, int verbose_level)
void print(std::ostream &ost, void *elt)
void print_as_permutation(std::ostream &ost, void *elt)
induced action on a given set of sets.
int find_set(long int *set, int verbose_level)
void init(int nb_sets, int set_size, long int *input_sets, int verbose_level)
long int compute_image(actions::action *A, int *Elt, long int i, int verbose_level)
void print_sets_in_original_ordering()
#define Lint_vec_print(A, B, C)
#define Lint_vec_print_fully(A, B, C)
int action_on_sets_compare_inverted(void *a, void *b, void *data)
int action_on_sets_compare(void *a, void *b, void *data)
the orbiter library for the classification of combinatorial objects