Orbiter 2022
Combinatorial Objects
surface_clebsch_map.cpp
Go to the documentation of this file.
1/*
2 * surface_clebsch_map.cpp
3 *
4 * Created on: Jul 17, 2020
5 * Author: betten
6 */
7
8
9
10
11#include "orbiter.h"
12
13using namespace std;
14
15namespace orbiter {
16namespace layer5_applications {
17namespace applications_in_algebraic_geometry {
18namespace cubic_surfaces_in_general {
19
20
21
23{
24 SOA = NULL;
25
26 orbit_idx = 0;
27 f = l = hds = 0;
28
29 Clebsch_map = NULL;
30
31}
32
33
35{
36 if (Clebsch_map) {
38 }
39}
40
41void surface_clebsch_map::report(std::ostream &ost, int verbose_level)
42{
43
44 ost << "\\subsection*{Orbit on single sixes " << orbit_idx << " / "
45 << SOA->Orbits_on_single_sixes->nb_orbits << "}" << endl;
46
47
48 Clebsch_map->report(ost, verbose_level);
49
50}
51
52void surface_clebsch_map::init(surface_object_with_action *SOA, int orbit_idx, int verbose_level)
53{
54 int f_v = (verbose_level >= 1);
55
56 if (f_v) {
57 cout << "surface_clebsch_map::init orbit "
58 "on single sixes " << orbit_idx << " / "
59 << SOA->Orbits_on_single_sixes->nb_orbits << ":" << endl;
60 }
61
64
65
68 if (f_v) {
69 cout << "orbit " << orbit_idx << " has f=" << f << " l=" << l << endl;
70 }
72
73 if (f_v) {
74 cout << "The half double six is no " << hds << " : ";
76 cout << endl;
77 }
78
79
80
82
83
84 if (f_v) {
85 cout << "surface_clebsch_map::init orbit "
86 "on single sixes " << orbit_idx << " / "
87 << SOA->Orbits_on_single_sixes->nb_orbits << " before Clebsch_map->init_half_double_six" << endl;
88 }
89 Clebsch_map->init_half_double_six(SOA->SO, hds, verbose_level);
90 if (f_v) {
91 cout << "surface_clebsch_map::init orbit "
92 "on single sixes " << orbit_idx << " / "
93 << SOA->Orbits_on_single_sixes->nb_orbits << " after Clebsch_map->init_half_double_six" << endl;
94 }
95
96
97
98 if (f_v) {
99 cout << "surface_clebsch_map::init orbit "
100 "on single sixes " << orbit_idx << " / "
101 << SOA->Orbits_on_single_sixes->nb_orbits << " before Clebsch_map->compute_Clebsch_map_down" << endl;
102 }
104 if (f_v) {
105 cout << "surface_clebsch_map::init orbit "
106 "on single sixes " << orbit_idx << " / "
107 << SOA->Orbits_on_single_sixes->nb_orbits << " after Clebsch_map->compute_Clebsch_map_down" << endl;
108 }
109
110
111
112 if (f_v) {
113 cout << "clebsch map for lines " << Clebsch_map->line_idx[0]
114 << " = " << SOA->Surf->Schlaefli->Labels->Line_label_tex[Clebsch_map->line_idx[0]] << ", "
116 << " before clebsch_map_print_fibers:" << endl;
117 }
119
120 if (f_v) {
121 cout << "clebsch map for lines " << Clebsch_map->line_idx[0]
122 << " = " << SOA->Surf->Schlaefli->Labels->Line_label_tex[Clebsch_map->line_idx[0]] << ", "
124 << " before Clebsch_map->clebsch_map_find_arc_and_lines:" << endl;
125 }
126
128
129
130
131 if (f_v) {
132 cout << "surface_clebsch_map::init "
133 "after Clebsch_map->clebsch_map_find_arc_and_lines" << endl;
134 }
135
136
137 if (f_v) {
138 cout << "surface_clebsch_map::init "
139 "Clebsch map for lines " << Clebsch_map->line_idx[0] << ", "
140 << Clebsch_map->line_idx[1] << " yields arc = ";
141 Lint_vec_print(cout, Clebsch_map->Arc, 6);
142 cout << " : blown up lines = ";
144 cout << endl;
145 }
146
147
148
149}
150
151}}}}
152
records the images of a specific Clebsch map
void report(std::ostream &ost, int verbose_level)
void init_half_double_six(surface_object *SO, int hds, int verbose_level)
Definition: clebsch_map.cpp:62
#define NEW_OBJECT(type)
Definition: foundations.h:638
#define Lint_vec_print(A, B, C)
Definition: foundations.h:686
#define FREE_OBJECT(p)
Definition: foundations.h:651
the orbiter library for the classification of combinatorial objects