20namespace layer3_group_actions {
51 int f_v = (verbose_level >= 1);
54 cout <<
"permutation_group_create::permutation_group_init" << endl;
60 cout <<
"permutation_group_create::permutation_group_init initializing group" << endl;
67 cout <<
"permutation_group_create::permutation_group_init initializing symmetric_group_t" << endl;
71 int f_no_base =
FALSE;
84 cout <<
"permutation_group_create::permutation_group_init initializing symmetric_group_t done" << endl;
94 int given_base_length;
107 cout <<
"permutation_group_create::permutation_group_init generator "
108 << h <<
" does not have the right length" << endl;
123 int f_no_base =
FALSE;
133 given_base_length, given_base,
152 cout <<
"permutation_group_create::permutation_group_init "
153 "before init_subgroup_by_generators" << endl;
162 cout <<
"permutation_group_create::permutation_group_init "
163 "after init_subgroup_by_generators" << endl;
171 cout <<
"permutation_group_create::permutation_group_init unknown group type" << endl;
178 cout <<
"permutation_group_create::permutation_group_init !f_OK, A2 = A_initial" << endl;
188 cout <<
"permutation_group_create::permutation_group_init done" << endl;
193 std::string &subgroup_label,
194 std::string &subgroup_order_text,
195 int nb_subgroup_generators,
196 std::string &subgroup_generators_label,
199 int f_v = (verbose_level >= 1);
203 cout <<
"permutation_group_create::init_subgroup_by_generators" << endl;
204 cout <<
"label=" << subgroup_label << endl;
215 cout <<
"permutation_group_create::init_subgroup_by_generators "
216 "sz != nb_subgroup_generators * A_initial->degree" << endl;
220 cout <<
"permutation_group_create::init_subgroup_by_generators before "
221 "Strong_gens->init_subgroup_by_generators" << endl;
224 nb_subgroup_generators, gens,
229 cout <<
"permutation_group_create::init_subgroup_by_generators after "
230 "Strong_gens->init_subgroup_by_generators" << endl;
236 cout <<
"permutation_group_create::init_subgroup_by_generators after "
237 "Strong_gens->init_subgroup_by_generators" << endl;
254 label.append(
"_Subgroup_");
255 label.append(subgroup_label);
257 label.append(subgroup_order_text);
267 cout <<
"permutation_group_create::init_subgroup_by_generators "
268 "created group " <<
label << endl;
void copy(int *from, int *to, long int len)
void scan(std::string &s, int *&v, int &len)
interface to create latex output files
void latexable_string(std::stringstream &str, const char *p, int max_len, int line_skip)
void get_vector_from_label(std::string &label, int *&v, int &sz, int verbose_level)
data_structures::int_vec * Int_vec
a class to represent arbitrary precision integers
void create_from_base_10_string(const char *str, int verbose_level)
a permutation group in a fixed action.
void init_symmetric_group(int degree, int f_no_base, int verbose_level)
groups::strong_generators * Strong_gens
void init_permutation_group_from_generators(int degree, int f_target_go, ring_theory::longinteger_object &target_go, int nb_gens, int *gens, int given_base_length, long int *given_base, int f_no_base, int verbose_level)
int f_has_strong_generators
strong_generators * Strong_gens
void permutation_group_init(permutation_group_description *description, int verbose_level)
actions::action * A_initial
~permutation_group_create()
void init_subgroup_by_generators(std::string &subgroup_label, std::string &subgroup_order_text, int nb_subgroup_generators, std::string &subgroup_generators_label, int verbose_level)
permutation_group_description * Descr
data_structures_groups::vector_ge * nice_gens
permutation_group_create()
a domain for permutation groups whose elements are given in the permutation representation
std::string subgroup_order_text
int f_subgroup_by_generators
std::string subgroup_generators_label
std::string bsgs_label_tex
std::string subgroup_label
std::string bsgs_order_text
int nb_subgroup_generators
permutation_group_type type
std::string bsgs_generators
a strong generating set for a permutation group with respect to a fixed action
void print_generators_in_source_code()
void init_subgroup_by_generators(actions::action *A, int nb_subgroup_gens, int *subgroup_gens, std::string &subgroup_order_text, data_structures_groups::vector_ge *&nice_gens, int verbose_level)
void print_generators_in_latex_individually(std::ostream &ost)
#define Lint_vec_scan(A, B, C)
orbiter_kernel_system::orbiter_session * Orbiter
global Orbiter session
the orbiter library for the classification of combinatorial objects