15namespace layer5_applications {
16namespace applications_in_algebraic_geometry {
17namespace cubic_surfaces_in_general {
36 int f_v = (verbose_level >= 1);
39 cout <<
"cubic_surface_activity::init" << endl;
41 Descr = Cubic_surface_activity_description;
45 cout <<
"cubic_surface_activity::init done" << endl;
51 int f_v = (verbose_level >= 1);
54 cout <<
"cubic_surface_activity::perform_activity" << endl;
60 cout <<
"cubic_surface_activity::perform_activity before SC->Surf_A->do_report" << endl;
64 cout <<
"cubic_surface_activity::perform_activity after SC->Surf_A->do_report" << endl;
71 cout <<
"cubic_surface_activity::perform_activity before SC->Surf_A->report_with_group" << endl;
74 int f_has_control_six_arcs =
FALSE;
79 f_has_control_six_arcs, Control_six_arcs,
83 cout <<
"cubic_surface_activity::perform_activity after SC->Surf_A->report_with_group" << endl;
90 cout <<
"cubic_surface_activity::perform_activity before SC->Surf_A->export_points" << endl;
94 cout <<
"cubic_surface_activity::perform_activity after SC->Surf_A->export_points" << endl;
113 cout <<
"-all_quartic_curves: The automorphism group of the surface is missing" << endl;
118 cout <<
"cubic_surface_activity::perform_activity before SC->Surf_A->create_surface_object_with_action" << endl;
125 cout <<
"cubic_surface_activity::perform_activity after SC->Surf_A->create_surface_object_with_action" << endl;
128 string surface_prefix;
130 string fname_quartics;
136 surface_prefix.assign(
"surface_");
139 label.assign(
"surface_");
141 label.append(
"_quartics");
144 fname_tex.assign(label);
145 fname_tex.append(
".tex");
149 fname_quartics.assign(label);
150 fname_quartics.append(
".csv");
153 label_tex.assign(
"surface_");
156 fname_mask.assign(
"surface_");
158 fname_mask.append(
"_orbit_%d");
161 ofstream ost(fname_tex);
162 ofstream ost_quartics(fname_quartics);
169 cout <<
"cubic_surface_activity::perform_activity before SoA->all_quartic_curves" << endl;
173 cout <<
"cubic_surface_activity::perform_activity after SoA->all_quartic_curves" << endl;
182 cout <<
"Written file " << fname_tex <<
" of size "
196 cout <<
"-all_quartic_curves: The automorphism group of the surface is missing" << endl;
201 cout <<
"cubic_surface_activity::perform_activity before SC->Surf_A->create_surface_object_with_action" << endl;
208 cout <<
"cubic_surface_activity::perform_activity after SC->Surf_A->create_surface_object_with_action" << endl;
211 string surface_prefix;
216 surface_prefix.assign(
"surface_");
219 label.assign(
"surface_");
221 label.append(
"_quartics");
224 fname_curves.assign(label);
225 fname_curves.append(
".csv");
230 ofstream ost_curves(fname_curves);
233 cout <<
"cubic_surface_activity::perform_activity before SoA->export_all_quartic_curves" << endl;
237 cout <<
"cubic_surface_activity::perform_activity after SoA->export_all_quartic_curves" << endl;
240 ost_curves << -1 << endl;
245 cout <<
"Written file " << fname_curves <<
" of size "
257 cout <<
"-all_quartic_curves: The automorphism group of the surface is missing" << endl;
271 fname.append(
"_tritangent_planes.csv");
275 cout <<
"Written file " << fname <<
" of size " << Fio.
file_size(fname) << endl;
281 cout <<
"cubic_surface_activity::perform_activity done" << endl;
properties of a particular cubic surface in PG(3,q), as defined by an object of class surface_object
long int * Tritangent_plane_rk
a particular cubic surface in PG(3,q), given by its equation
surface_object_properties * SOP
a collection of functions related to file io
void lint_matrix_write_csv(std::string &fname, long int *M, int m, int n)
long int file_size(std::string &fname)
interface to create latex output files
void head_easy(std::ostream &ost)
void foot(std::ostream &ost)
to control the behavior of the poset classification algorithm
an instance of a cubic surface together with its stabilizer
void all_quartic_curves(std::string &surface_prefix, std::ostream &ost, std::ostream &ost_quartics, int verbose_level)
void export_all_quartic_curves(std::string &surface_prefix, std::ostream &ost_quartics_csv, int verbose_level)
description of an activity associated with a cubic surface
int f_export_all_quartic_curves
int f_export_tritangent_planes
~cubic_surface_activity()
cubic_surface_activity_description * Descr
void perform_activity(int verbose_level)
void init(cubic_surfaces_in_general::cubic_surface_activity_description *Cubic_surface_activity_description, surface_create *SC, int verbose_level)
void export_points(surface_create *SC, int verbose_level)
void do_report(surface_create *SC, int verbose_level)
void create_surface_object_with_action(surface_create *SC, surface_object_with_action *&SoA, int verbose_level)
void report_with_group(surface_create *SC, int f_has_control_six_arcs, poset_classification::poset_classification_control *Control_six_arcs, int verbose_level)
to create a cubic surface from a description using class surface_create_description
surface_with_action * Surf_A
algebraic_geometry::surface_object * SO
the orbiter library for the classification of combinatorial objects