17namespace layer5_applications {
18namespace applications_in_algebraic_geometry {
19namespace cubic_surfaces_and_arcs {
56 int f,
int orbit_idx,
long int *Lines27,
int *eqn20,
59 int f_v = (verbose_level >= 1);
62 cout <<
"surfaces_arc_lifting_definition_node::init_with_27_lines" << endl;
73 cout <<
"surfaces_arc_lifting_definition_node::init_with_27_lines before SO->init_with_27_lines" << endl;
80 cout <<
"surfaces_arc_lifting_definition_node::init_with_27_lines after SO->init_with_27_lines" << endl;
85 cout <<
"surfaces_arc_lifting_definition_node::init_with_27_lines done" << endl;
92 int f_v = (verbose_level >= 1);
96 cout <<
"surfaces_arc_lifting_definition_node::tally_f2" << endl;
99 for (i = 0; i < 45 * 72; i++) {
107 cout <<
"surfaces_arc_lifting_definition_node::tally_f2 done" << endl;
113 char fname_base[1000];
116 sprintf(fname_base,
"clebsch_maps_surface_%d",
orbit_idx);
122 fname_report.assign(fname_base);
123 fname_report.append(
".tex");
124 snprintf(title, 1000,
"Clebsch maps of surface %d",
orbit_idx);
128 ofstream fp(fname_report.c_str());
148 cout <<
"Written file " << fname_report <<
" of size " << Fio.
file_size(fname_report.c_str()) << endl;
163 int f_v = (verbose_level >= 1);
167 cout <<
"surfaces_arc_lifting_definition_node::report_cosets" << endl;
172 ost << endl <<
"\\bigskip" << endl << endl;
174 ost <<
"Aut coset " << i <<
" / " <<
nb_coset_reps <<
": relative order is "
189 cout <<
"surfaces_arc_lifting_definition_node::report_cosets done" << endl;
195 int f_v = (verbose_level >= 1);
199 cout <<
"surfaces_arc_lifting_definition_node::report_cosets_detailed" << endl;
202 ost <<
"We consider the Clebsch map " << endl;
204 ost <<
"\\Phi_{\\ell_1,\\ell_2,\\pi}" << endl;
206 ost <<
"with defining lines $\\ell_1,\\ell_2$ and image tritangent plane $\\pi$.\\\\" << endl;
207 ost <<
"The line $m_1$ is in $\\pi$ and $\\ell_i \\cap \\pi =P_i \\in m_1.$\\\\" << endl;
208 ost <<
"The four transversals besides $m_1$ to $\\ell_1,\\ell_2$ are called $t_3,t_4,t_5,t_6$.\\\\" << endl;
210 ost <<
"The points $P_3,P_4,P_5,P_6$ are the points of intersection of $t_3,t_4,t_5,t_6$ with the tritangent plane.\\\\" << endl;
211 ost <<
"Alpha1 * Alpha2 * Beta1 * Beta2 * Beta3 = AutCoset\\\\" << endl;
212 ost <<
"Alpha1 takes the chosen tritangent plane to the tritangent plane from the defining flag orbit.\\\\" << endl;
213 ost <<
"Alpha2 maps the 6-arc to the canonical representative.\\\\" << endl;
214 ost <<
"Beta1 maps the two points $P_1$ and $P_2$ defined by the lines $(\\ell_1,\\ell_2)$ to the canonical pair.\\\\" << endl;
215 ost <<
"Beta2 maps the partition defined by $\\{\\{P_3,P_4\\}, \\{P_5,P_6\\}\\}$ to the canonical partition.\\\\" << endl;
216 ost <<
"Beta3 maps the image of the lines $(\\ell_1,\\ell_2)$ under Alpha1*Alpha2*Beta1*Beta2 to the canonical pair.\\\\" << endl;
220 ost << endl <<
"\\bigskip" << endl << endl;
222 ost <<
"Aut coset " << i <<
" / " <<
nb_coset_reps <<
": relative order is "
242 cout <<
"surfaces_arc_lifting_definition_node::report_cosets_detailed done" << endl;
248 int f_v = (verbose_level >= 1);
252 cout <<
"surfaces_arc_lifting_definition_node::report_cosets_HDS" << endl;
266 if ((coset % 24) == 0) {
282 cout <<
"surfaces_arc_lifting_definition_node::report_cosets_HDS done" << endl;
291 ost <<
"{\\renewcommand{\\arraystretch}{1.5}" << endl;
293 ost <<
"\\begin{array}{|c|c|c|c|c|c|c|c|}" << endl;
294 ost <<
"\\hline" << endl;
295 ost <<
"\\multicolumn{8}{|c|}{\\mbox{Tritangent Plane}\\; \\pi_{" << t
297 ost <<
"\\hline" << endl;
298 ost <<
"\\mbox{Coset} & \\mbox{Clebsch} & (m_1,m_2,m_3) & "
299 "(\\ell_1',\\ell_2') & (t_3',t_4',t_5',t_6') & DS & HDS & \\mbox{r.o.}\\\\" << endl;
300 ost <<
"\\hline" << endl;
305 ost <<
"\\hline" << endl;
306 ost <<
"\\end{array}" << endl;
307 ost <<
"$$}" << endl;
308 ost <<
"\\bigskip" << endl;
314 int f_v = (verbose_level >= 1);
318 cout <<
"surfaces_arc_lifting_definition_node::report_cosets_T3" << endl;
331 if ((coset % 24) == 0) {
336 ost << coset <<
" & ";
347 cout <<
"surfaces_arc_lifting_definition_node::report_cosets_T3 done" << endl;
353 ost <<
"{\\renewcommand{\\arraystretch}{1.5}" << endl;
355 ost <<
"\\begin{array}{|c|c|c|}" << endl;
356 ost <<
"\\hline" << endl;
357 ost <<
"\\mbox{Coset} & \\mbox{Arc} & T_3 \\\\" << endl;
358 ost <<
"\\hline" << endl;
363 ost <<
"\\hline" << endl;
364 ost <<
"\\end{array}" << endl;
365 ost <<
"$$}" << endl;
366 ost <<
"\\bigskip" << endl;
374 ost <<
"Tally of flag orbits: ";
376 ost <<
"\\\\" << endl;
382 int f_v = (verbose_level >= 1);
385 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_maps" << endl;
391 int plane_idx[] = {12, 30};
394 for (i = 0; i <
sizeof(plane_idx) /
sizeof(
int); i++) {
397 plane_idx[i], verbose_level);
402 for (t = 0; t < 45; t++) {
403 ost <<
"\\clearpage" << endl;
410 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_maps done" << endl;
416 ostream &ost,
int plane_idx,
int verbose_level)
418 int f_v = (verbose_level >= 1);
422 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_maps_for_one_tritangent_plane" << endl;
425 for (i = 0; i < 3; i++) {
427 for (j = 0; j < 24; j++) {
434 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_maps_for_one_tritangent_plane done" << endl;
std::string * Eckard_point_label_tex
void report_seventytwo_maps_bottom(std::ostream &ost)
void report_seventytwo_maps_line(std::ostream &ost)
void report_single_Clebsch_map(std::ostream &ost, int verbose_level)
void report_Clebsch_map_details(std::ostream &ost, surface_object *SO, int verbose_level)
void report_Clebsch_map_aut_coset(std::ostream &ost, int coset, int relative_order, int verbose_level)
void report_seventytwo_maps_top(std::ostream &ost)
a particular cubic surface in PG(3,q), given by its equation
void init_with_27_lines(surface_domain *Surf, long int *Lines27, int *eqn, int f_find_double_six_and_rearrange_lines, int verbose_level)
a statistical analysis of data consisting of single integers
void print_file_tex(std::ostream &ost, int f_backwards)
void init(int *data, int data_length, int f_second, int verbose_level)
a collection of functions related to file io
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)
void element_print_latex(void *elt, std::ostream &ost)
void init_with_27_lines(surfaces_arc_lifting *Lift, int f, int orbit_idx, long int *Lines27, int *eqn20, int verbose_level)
void tally_f2(int verbose_level)
void report_cosets_detailed(std::ostream &ost, int verbose_level)
surfaces_arc_lifting_definition_node()
groups::strong_generators * Flag_stab_gens
algebraic_geometry::seventytwo_cases Seventytwo[45 *72]
void report_HDS_bottom(std::ostream &ost)
void report_cosets_HDS(std::ostream &ost, int verbose_level)
void report_cosets(std::ostream &ost, int verbose_level)
algebraic_geometry::surface_object * SO
void report_tally_F2(std::ostream &ost, int verbose_level)
~surfaces_arc_lifting_definition_node()
void report_cosets_T3(std::ostream &ost, int verbose_level)
void report_Clebsch_maps(std::ostream &ost, int verbose_level)
cubic_surfaces_in_general::surface_object_with_action * SOA
data_structures_groups::vector_ge * coset_reps
void report_HDS_top(std::ostream &ost)
void report2(std::ostream &ost, int verbose_level)
data_structures::tally * tally_F2
void report_T3_top(std::ostream &ost)
void report(int verbose_level)
surfaces_arc_lifting * Lift
int * relative_order_table
void report_T3_bottom(std::ostream &ost)
surfaces_arc_lifting_trace ** T
void report_Clebsch_maps_for_one_tritangent_plane(std::ostream &ost, int plane_idx, int verbose_level)
void cheat_sheet_basic(std::ostream &ost, int verbose_level)
algebraic_geometry::seventytwo_cases The_case
void report_product(std::ostream &ost, int *Elt, int verbose_level)
classification of cubic surfaces using lifted 6-arcs
algebraic_geometry::surface_domain * Surf
cubic_surfaces_in_general::surface_with_action * Surf_A
algebraic_geometry::surface_domain * Surf
the orbiter library for the classification of combinatorial objects