18namespace layer5_applications {
19namespace apps_algebra {
51 int f_recognize, std::string &recognize_text,
54 int f_v = (verbose_level >= 1);
57 cout <<
"orbits_on_polynomials::init" << endl;
72 cout <<
"n = " <<
n << endl;
76 cout <<
"strong generators:" << endl;
89 Monomial_ordering_type,
99 cout <<
"created action A2" << endl;
122 cout <<
"orbits_on_polynomials::init "
123 "before A->Strong_gens->orbits_on_points_schreier" << endl;
130 cout <<
"orbits_on_polynomials::init "
131 "after A->Strong_gens->orbits_on_points_schreier" << endl;
137 cout <<
"orbits_on_polynomials::init "
138 "before Sch->write_orbit_summary" << endl;
145 cout <<
"orbits_on_polynomials::init "
146 "after Sch->write_orbit_summary" << endl;
155 cout <<
"orbits_on_polynomials::init before T->init_from_schreier" << endl;
165 cout <<
"orbits_on_polynomials::init after T->init_from_schreier" << endl;
174 cout <<
"orbits_on_polynomials::init "
175 "before compute_points" << endl;
179 cout <<
"orbits_on_polynomials::init "
180 "after compute_points" << endl;
193 cout <<
"orbits_on_polynomials::init recognition:" << endl;
198 for (i = 0; i < len; i++) {
203 cout <<
"recognizing object " << i <<
" / " << len <<
", point "
204 << Rank[i] <<
" lies in orbit " << orbit_idx << endl;
210 fname.append(
"_recognition.csv");
228 cout <<
"orbits_on_polynomials::init done" << endl;
255 std::vector<long int> Pts;
268 int f_v = (verbose_level >= 1);
271 cout <<
"orbits_on_polynomials::report" << endl;
273 cout <<
"orbit reps:" << endl;
282 sprintf(title,
"Varieties of degree %d in PG(%d,%d)",
degree_of_poly,
n - 1,
F->
q);
283 sprintf(author,
"Orbiter");
299 ost <<
"\\small" << endl;
300 ost <<
"\\arraycolsep=2pt" << endl;
301 ost <<
"\\parindent=0pt" << endl;
302 ost <<
"$q = " <<
F->
q <<
"$\\\\" << endl;
303 ost <<
"$n = " <<
n - 1 <<
"$\\\\" << endl;
304 ost <<
"degree of poly $ = " <<
degree_of_poly <<
"$\\\\" << endl;
306 ost <<
"\\clearpage" << endl << endl;
312 <<
"$ in $PG(" <<
n - 1 <<
", " <<
F->
q <<
")$, summary}" << endl;
318 polynomial_orbits_callback_print_function2,
321 polynomial_orbits_callback_print_function,
338 f_semilinear =
FALSE;
347 cout <<
"group_theoretic_activity::do_cubic_surface_properties before PA->init" << endl;
350 F,
n - 1 , f_semilinear,
354 cout <<
"group_theoretic_activity::do_cubic_surface_properties after PA->init" << endl;
367 for (h = T_nb_pts.
nb_types - 1; h >= 0; h--) {
373 ost <<
"\\subsection{Objects with " << a <<
" Points}" << endl;
375 ost <<
"There are " << l <<
" objects with " << a <<
" Points: \\\\" << endl;
387 ost <<
"orbit : rep : go : poly : Pts\\\\" << endl;
388 for (j = 0; j < l; j++) {
430 for (u = 0; u < nb_pts; u++) {
434 for (u = 0; u < nb_pts; u++) {
436 if (u < nb_pts - 1) {
449 ost <<
"\\\\" << endl;
472 cout <<
"orbits_on_polynomials::report done" << endl;
480 int f_v = (verbose_level >= 1);
483 cout <<
"orbits_on_polynomials::report_detailed_list" << endl;
492 ost <<
"Distribution of the number of points: $";
494 ost <<
"$\\\\" << endl;
497 <<
"$ in $PG(" <<
n - 1 <<
", " <<
F->
q <<
")$, "
498 "detailed listing}" << endl;
520 ost <<
"\\subsection*{Orbit " << i <<
" / "
536 for (
int u = 0; u < nb_pts; u++) {
540 ost <<
"stab order " << go1 <<
"\\\\" << endl;
541 ost <<
"orbit length = " << l <<
"\\\\" << endl;
542 ost <<
"orbit rep = " << a <<
"\\\\" << endl;
543 ost <<
"number of points = " << nb_pts <<
"\\\\" << endl;
549 ost <<
"$\\\\" << endl;
552 cout <<
"We found " << nb_pts <<
" points in the variety" << endl;
553 cout <<
"They are : ";
559 ost, Pts, nb_pts,
n);
564 ost <<
"The line type is: ";
569 string s = sstr.str();
570 ost <<
"$" << s <<
"$\\\\" << endl;
574 ost <<
"The stabilizer is generated by:" << endl;
586 cout <<
"orbits_on_polynomials::report_detailed_list done" << endl;
void print_classified_str(std::stringstream &sstr, int *v, int len, int f_backwards)
a collection of functions related to sorted vectors
void int_vec_heapsort(int *v, int len)
a statistical analysis of data consisting of single integers
void init(int *data, int data_length, int f_second, int verbose_level)
void print_naked_tex(std::ostream &ost, int f_backwards)
void get_class_by_value(int *&Pts, int &nb_pts, int value, int verbose_level)
void display_table_of_projective_points(std::ostream &ost, long int *Pts, int nb_pts, int len)
void print_set_numerical(std::ostream &ost, long int *set, int set_size)
void line_intersection_type(long int *set, int set_size, int *type, int verbose_level)
basic number theoretic functions
a collection of functions related to file io
void int_vec_write_csv(int *v, int len, std::string &fname, const char *label)
long int file_size(std::string &fname)
interface to create latex output files
void head(std::ostream &ost, int f_book, int f_title, const char *title, const char *author, int f_toc, int f_landscape, int f_12pt, int f_enlarged_page, int f_pagenumbers, const char *extras_for_preamble)
void foot(std::ostream &ost)
data_structures::int_vec * Int_vec
homogeneous polynomials of a given degree in a given number of variables over a finite field GF(q)
void init(field_theory::finite_field *F, int nb_vars, int degree, int f_init_incidence_structure, monomial_ordering_type Monomial_ordering_type, int verbose_level)
void enumerate_points(int *coeff, std::vector< long int > &Pts, int verbose_level)
void print_equation(std::ostream &ost, int *coeffs)
void unrank_coeff_vector(int *v, long int rk)
void print_equation_tex(std::ostream &ost, int *coeffs)
geometry::projective_space * get_P()
domain to compute with objects of type longinteger
void integral_division_by_int(longinteger_object &a, int b, longinteger_object &q, int &r)
a class to represent arbitrary precision integers
a permutation group in a fixed action.
groups::strong_generators * Strong_gens
int matrix_group_dimension()
field_theory::finite_field * matrix_group_finite_field()
void induced_action_on_homogeneous_polynomials(action *A_old, ring_theory::homogeneous_polynomial_domain *HPD, int f_induce_action, groups::sims *old_G, int verbose_level)
void group_order(ring_theory::longinteger_object &go)
a set of orbits using a vector of orbit representatives and stabilizers
set_and_stabilizer * Reps
void print_table_latex(std::ostream &f, int f_has_callback, void(*callback_print_function)(std::stringstream &ost, void *data, void *callback_data), void *callback_data, int f_has_callback2, void(*callback_print_function2)(std::stringstream &ost, void *data, void *callback_data), void *callback_data2, int verbose_level)
void init_from_schreier(groups::schreier *Sch, actions::action *default_action, ring_theory::longinteger_object &full_group_order, int verbose_level)
groups::strong_generators * Strong_gens
creates a linear group from command line arguments using linear_group_description
actions::action * A_linear
void write_orbit_summary(std::string &fname, actions::action *default_action, ring_theory::longinteger_object &full_group_order, int verbose_level)
void print_orbit_reps(std::ostream &ost)
a strong generating set for a permutation group with respect to a fixed action
void print_generators_tex()
schreier * orbits_on_points_schreier(actions::action *A_given, int verbose_level)
void group_order(ring_theory::longinteger_object &go)
ring_theory::longinteger_object full_go
void report_detailed_list(std::ostream &ost, int verbose_level)
std::vector< std::vector< long int > > Points
void report(int verbose_level)
ring_theory::homogeneous_polynomial_domain * HPD
field_theory::finite_field * F
void compute_points(int verbose_level)
ring_theory::longinteger_object go
void init(groups::linear_group *LG, int degree_of_poly, int f_recognize, std::string &recognize_text, int verbose_level)
groups::linear_group * LG
data_structures_groups::orbit_transversal * T
projective space PG(n,q) with automorphism group PGGL(n+1,q)
void init(field_theory::finite_field *F, int n, int f_semilinear, int f_init_incidence_structure, int verbose_level)
void compute_group_of_set(long int *set, int set_sz, groups::strong_generators *&Sg, int verbose_level)
#define Lint_vec_scan(A, B, C)
#define Lint_vec_print(A, B, C)
#define Int_vec_print(A, B, C)
orbiter_kernel_system::orbiter_session * Orbiter
global Orbiter session
the orbiter library for the classification of combinatorial objects