15namespace layer1_foundations {
16namespace algebraic_geometry {
92 int *three_lines_idx,
long int *three_lines,
93 int line_idx,
int m1,
int m2,
int m3,
int line_l1_l2_idx,
int l1,
int l2)
125 int f_v = (verbose_level >= 1);
128 cout <<
"seventytwo_cases::compute_arc" << endl;
137 for (i = 0; i < 27; i++) {
138 if (i ==
l1 || i ==
l2) {
146 cout <<
"seventytwo_cases::compute_arc nb_t != 5" << endl;
151 for (i = 0; i < 5; i++) {
157 cout <<
"seventytwo_cases::compute_arc could not find m1 in transversals[]" << endl;
163 for (j = 0; j < i; j++) {
166 for (j = i + 1; j < 5; j++) {
170 cout <<
"seventytwo_cases::compute_arc the four transversals are: ";
177 cout <<
"seventytwo_cases::compute_arc before compute_half_double_six" << endl;
181 cout <<
"seventytwo_cases::compute_arc after compute_half_double_six" << endl;
191 for (i = 0; i < nb_t; i++) {
194 for (i = 0; i < nb_t; i++) {
205 cout <<
"seventytwo_cases::compute_arc after intersecting with m2, nb != 4" << endl;
208 for (i = 0; i < nb_t; i++) {
219 cout <<
"seventytwo_cases::compute_arc after intersecting with m3, nb != 6" << endl;
223 cout <<
"seventytwo_cases::compute_arc P6=";
229 cout <<
"seventytwo_cases::compute_arc done" << endl;
235 int f_v = (verbose_level >= 1);
239 cout <<
"seventytwo_cases::compute_partition" << endl;
241 for (i = 0; i < 4; i++) {
244 for (i = 0; i < 4; i++) {
253 for (i = 0; i < 4; i++) {
255 cout <<
"seventytwo_cases::compute_partition the_partition4[i] < 0" << endl;
259 cout <<
"seventytwo_cases::compute_partition the_partition4[i] >= 4" << endl;
264 cout <<
"seventytwo_cases::compute_partition done" << endl;
271 int f_v = (verbose_level >= 1);
275 cout <<
"seventytwo_cases::compute_half_double_six" << endl;
280 for (i = 0; i < 4; i++) {
285 cout <<
"seventytwo_cases::compute_half_double_six done" << endl;
291 cout <<
"line_idx=" <<
line_idx <<
" "
292 "m=(" <<
m1 <<
"," <<
m2 <<
"," <<
m3 <<
") "
293 "l1=" <<
l1 <<
" l2=" <<
l2 << endl;
325 ost <<
"{\\renewcommand{\\arraystretch}{1.5}" << endl;
327 ost <<
"\\begin{array}{|c|c|c|c|c|c|c|c|c|c|}" << endl;
328 ost <<
"\\hline" << endl;
330 ost <<
"\\hline" << endl;
331 ost <<
"\\mbox{Clebsch} & m_1-\\mbox{Case} & (m_1,m_2,m_3) & (\\ell_1',\\ell_2') & (t_3',t_4',t_5',t_6') & HDS & \\mbox{Arc} & \\mbox{Pair} & \\mbox{Part} & \\mbox{Flag-Orb} \\\\" << endl;
332 ost <<
"\\hline" << endl;
337 ost <<
"\\hline" << endl;
338 ost <<
"\\end{array}" << endl;
339 ost <<
"$$}" << endl;
340 ost <<
"\\bigskip" << endl;
345 int f_v = (verbose_level >= 1);
348 cout <<
"surfaces_arc_lifting_definition_node::report_single_Clebsch_map" << endl;
355 cout <<
"surfaces_arc_lifting_definition_node::report_single_Clebsch_map done" << endl;
361 int f_v = (verbose_level >= 1);
366 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_map_details" << endl;
369 ost <<
"\\bigskip" << endl << endl;
373 ost <<
"$\\\\" << endl;
377 ost <<
"$\\\\" << endl;
383 ost <<
"$\\\\" << endl;
387 ost <<
"$\\\\" << endl;
391 ost <<
"$\\\\" << endl;
394 ost <<
"\\bigskip" << endl << endl;
398 for (i = 0; i < 6; i++) {
404 ost <<
"$\\\\" << endl;
405 for (i = 0; i < 6; i++) {
408 ost <<
" = " << SO->
Lines[H[i]] <<
" = ";
410 ost <<
"$\\\\" << endl;
415 ost <<
"P6, P6 * Alpha1, P6 * Alpha1 local, P6 * Alpha1 * Alpha2:\\\\" << endl;
416 ost <<
"{\\renewcommand*{\\arraystretch}{1.5}" << endl;
419 ost <<
"\\;" << endl;
421 ost <<
"\\;" << endl;
423 ost <<
"\\;" << endl;
425 ost <<
"$$}" << endl;
430 ost <<
"$\\ell_1\\tau=";
433 ost <<
"$\\\\" << endl;
434 ost <<
"$\\ell_2\\tau=";
437 ost <<
"$\\\\" << endl;
442 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_map_details" << endl;
448 int f_v = (verbose_level >= 1);
454 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_map_aut_coset" << endl;
460 ost << coset <<
" & ";
475 for (i = 0; i < 6; i++) {
481 ost <<
" & " << relative_order;
482 ost <<
"\\\\" << endl;
492 cout <<
"surfaces_arc_lifting_definition_node::report_Clebsch_map_aut_coset done" << endl;
std::string * Line_label_tex
int find_half_double_six(long int *half_double_six)
std::string * Eckard_point_label_tex
int third_line_in_tritangent_plane(int l1, int l2, int verbose_level)
std::string * Double_six_label_tex
schlaefli_labels * Labels
long int half_double_six[6]
void report_seventytwo_maps_bottom(std::ostream &ost)
int orbit_not_on_conic_idx
void compute_half_double_six(surface_object *SO, int verbose_level)
void report_seventytwo_maps_line(std::ostream &ost)
long int P6_perm_mapped[6]
void init(surface_domain *Surf, int f, int tritangent_plane_idx, int *three_lines_idx, long int *three_lines, int line_idx, int m1, int m2, int m3, int line_l1_l2_idx, int l1, int l2)
void compute_arc(surface_object *SO, int verbose_level)
Computes the six base points in a tritangent plane associated with the Clebsch map defined by two ske...
long int tritangent_plane_rk
int half_double_six_index
void compute_partition(int verbose_level)
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)
long int P6_local_canonical[6]
void report_seventytwo_maps_top(std::ostream &ost)
long int transversals4[4]
cubic surfaces in PG(3,q) with 27 lines
geometry::projective_space * P
field_theory::finite_field * F
void print_single_tritangent_plane(std::ostream &ost, int plane_idx)
a particular cubic surface in PG(3,q), given by its equation
surface_object_properties * SOP
void display_table_of_projective_points_easy(std::ostream &ost, long int *Pts, int nb_pts, int len)
void print_single_generator_matrix_tex(std::ostream &ost, long int a)
int intersection_of_two_lines(long int l1, long int l2)
#define Lint_vec_copy(A, B, C)
#define Lint_vec_print(A, B, C)
#define Int_vec_copy(A, B, C)
the orbiter library for the classification of combinatorial objects