13namespace layer1_foundations {
54 for (i = 0; i <
n + 1; i++) {
84 int n,
int verbose_level)
86 int f_v = (verbose_level >= 1);
92 cout <<
"generators_symplectic_group::init" << endl;
97 cout <<
"generators_symplectic_group::init "
98 "n must be even" << endl;
107 for (i = 0; i <
n + 1; i++) {
116 for (i = 0; i <
qn; i++) {
123 cout <<
"first candidate set has size "
137 for (i = 0; i <
n; i++) {
144 cout <<
"We found " <<
nb_gens <<
" strong generators" << endl;
145 cout <<
"transversal_length = ";
148 cout <<
"group order: ";
163 cout <<
"nb != nb_gens" << endl;
168 cout <<
"The strong generators are:" << endl;
169 for (i = 0; i <
nb_gens; i++) {
170 cout <<
"generator " << i <<
" / " <<
nb_gens <<
":" << endl;
177 cout <<
"generators_symplectic_group::init done" << endl;
182 int *transversal_length,
int &first_moved,
int depth,
191 if (first_moved <
n) {
206 <<
" / " <<
nb_candidates[depth] <<
" which is " << a << endl;
212 first_moved, depth + 1, verbose_level)
213 && depth > first_moved) {
221 int &nb,
int &first_moved,
int depth,
int verbose_level)
242 <<
" / " <<
nb_candidates[depth] <<
" which is " << a << endl;
248 depth + 1, verbose_level) && depth > first_moved) {
258 int f_v = (verbose_level >= 1);
262 cout <<
"generators_symplectic_group::create_first_candidate_set" << endl;
266 for (i = 1; i <
qn; i++) {
272 cout <<
"generators_symplectic_group::create_first_candidate_set done" << endl;
277 int level,
int verbose_level)
279 int f_v = (verbose_level >= 1);
283 cout <<
"generators_symplectic_group::create_next_"
284 "candidate_set level=" << level << endl;
316 cout <<
"generators_symplectic_group::create_next_"
318 <<
" candidates at level " << level + 1 << endl;
329 for (i = 0; i <
n_half; i++) {
330 c =
F->
add(c,
F->
mult(u1[2 * i + 0], u2[2 * i + 1]));
field_theory::finite_field * F
int get_strong_generators(int *Data, int &nb, int &first_moved, int depth, int verbose_level)
generators_symplectic_group()
void create_next_candidate_set(int level, int verbose_level)
int dot_product(int *u1, int *u2)
void create_first_candidate_set(int verbose_level)
void init(field_theory::finite_field *F, int n, int verbose_level)
int count_strong_generators(int &nb, int *transversal_length, int &first_moved, int depth, int verbose_level)
~generators_symplectic_group()
various functions related to geometries
void AG_element_unrank(int q, int *v, int stride, int len, long int a)
basic number theoretic functions
int i_power_j(int i, int j)
global functions related to ring theory
void print_longinteger_after_multiplying(std::ostream &ost, int *factors, int len)
#define Int_matrix_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