16namespace layer5_applications {
17namespace projective_geometry {
33 int f_v = (verbose_level >= 1);
36 cout <<
"projective_space_activity::perform_activity" << endl;
40 if (
Descr->f_canonical_form_PG) {
43 Descr->Canonical_form_PG_Descr,
86 G.canonical_form_of_code(
199 cout <<
"table_of_quartic_curves" << endl;
205 cout <<
"projective_space_activity::perform_activity before PA->table_of_quartic_curves" << endl;
209 cout <<
"projective_space_activity::perform_activity after PA->table_of_quartic_curves" << endl;
216 cout <<
"table_of_cubic_surfaces" << endl;
222 cout <<
"projective_space_activity::perform_activity before PA->table_of_cubic_surfaces" << endl;
226 cout <<
"projective_space_activity::perform_activity after PA->table_of_cubic_surfaces" << endl;
239 G.do_create_quartic_curve(
247 cout <<
"projective_space_activity::perform_activity before PA->create_quartic_curve" << endl;
254 cout <<
"projective_space_activity::perform_activity after PA->create_quartic_curve" << endl;
263 cout <<
"before Orbiter->add_symbol_table_entry "
293 cout <<
"before Orbiter->add_symbol_table_entry "
303 cout <<
"please use option -control_six_arcs <description> -end" << endl;
317 cout <<
"please use option -trihedra1_control <description> -end" << endl;
321 cout <<
"please use option -trihedra2_control <description> -end" << endl;
325 cout <<
"please use option -control_six_arcs <description> -end" << endl;
383 else if (
Descr->f_create_surface) {
385 cout <<
"please use option -control_six_arcs <description> -end" << endl;
389 surface_domain_high_level SH;
391 SH.do_create_surface(
399 cout <<
"please use option -control_six_arcs <description> -end" << endl;
420 PA->
P, verbose_level);
428 G.do_spread_classify(
PA,
442 G.do_classify_semifields(
453 cout <<
"projective_space_activity::perform_activity before S->init" << endl;
461 cout <<
"projective_space_activity::perform_activity after S->init" << endl;
473 cout <<
"please use -draw_options .. -end" << endl;
559 cout <<
"projective_space_activity::perform_activity f_arc_with_given_set_as_i_lines_after_dualizing" << endl;
574 cout <<
"projective_space_activity::perform_activity f_arc_with_two_given_sets_of_lines_after_dualizing" << endl;
592 cout <<
"projective_space_activity::perform_activity f_arc_with_three_given_sets_of_lines_after_dualizing" << endl;
611 cout <<
"projective_space_activity::perform_activity f_dualize_hyperplanes_to_points" << endl;
613 long int *the_set_in;
615 long int *the_set_out;
623 set_size_out = set_size_in;
624 the_set_out =
NEW_lint(set_size_in);
625 for (i = 0; i < set_size_in; i++) {
630 cout <<
"output set:" << endl;
644 cout <<
"projective_space_activity::perform_activity f_dualize_points_to_hyperplanes" << endl;
646 long int *the_set_in;
648 long int *the_set_out;
656 set_size_out = set_size_in;
657 the_set_out =
NEW_lint(set_size_in);
658 for (i = 0; i < set_size_in; i++) {
663 cout <<
"output set:" << endl;
673 cout <<
"projective_space_activity::perform_activity f_dualize_rank_k_subspaces" << endl;
675 long int *the_set_in;
677 long int *the_set_out;
685 set_size_out = set_size_in;
686 the_set_out =
NEW_lint(set_size_in);
687 for (i = 0; i < set_size_in; i++) {
689 cout <<
"i=" << i <<
" in=" << a << endl;
691 a, the_set_out[i], verbose_level);
692 cout <<
"i=" << i <<
" in=" << a <<
" out=" << the_set_out[i] << endl;
695 cout <<
"output set:" << endl;
736 cout <<
"projective_space_activity::perform_activity f_lines_on_point_but_within_a_plane" << endl;
741 long int *line_pencil;
749 line_pencil, verbose_level);
752 cout <<
"line_pencil: ";
757 cout <<
"projective_space_activity::perform_activity f_lines_on_point_but_within_a_plane done" << endl;
793 cout <<
"projective_space_activity::perform_activity done" << endl;
various functions related to coding theory
void make_gilbert_varshamov_code(int n, int k, int d, int q, geometry::projective_space *P, int verbose_level)
void arc_lifting3(int arc_size, int arc_d, int arc_d_low, int arc_s, std::string arc_input_set, std::string arc_label, int arc_t, std::string t_lines_string, int arc_u, std::string u_lines_string, int verbose_level)
void arc_lifting2(int arc_size, int arc_d, int arc_d_low, int arc_s, std::string arc_input_set, std::string arc_label, int arc_t, std::string t_lines_string, int verbose_level)
void arc_lifting1(int arc_size, int arc_d, int arc_d_low, int arc_s, std::string arc_input_set, std::string arc_label, int verbose_level)
to create a geometric object from a description using class geometric_object_description
void init(geometric_object_description *Descr, projective_space *P, int verbose_level)
various functions related to geometries
void latex_homogeneous_equation(field_theory::finite_field *F, int degree, int nb_vars, std::string &equation_text, std::string &symbol_txt, std::string &symbol_tex, int verbose_level)
int * Point_to_hyperplane
int * Hyperplane_to_point
void do_move_two_lines_in_hyperplane_stabilizer_text(std::string line1_from_text, std::string line2_from_text, std::string line1_to_text, std::string line2_to_text, int verbose_level)
void polarity_rank_k_subspace(int k, long int rk_in, long int &rk_out, int verbose_level)
void do_move_two_lines_in_hyperplane_stabilizer(long int line1_from, long int line2_from, long int line1_to, long int line2_to, int verbose_level)
field_theory::finite_field * F
void export_incidence_matrix_to_csv(int verbose_level)
void create_lines_on_point_but_inside_a_plane(long int point_rk, long int plane_rk, long int *line_pencil, int verbose_level)
arc_in_projective_space * Arc_in_projective_space
polarity * Standard_polarity
options for drawing an object of type layered_graph
graphics::layered_graph_draw_options * draw_options
void add_symbol_table_entry(std::string &label, orbiter_symbol_table_entry *Symb, int verbose_level)
void get_matrix_from_label(std::string &label, int *&v, int &m, int &n)
symbol table to store data entries for the orbiter run-time system
void init_classification_of_cubic_surfaces_with_double_sixes(std::string &label, void *p, int verbose_level)
void init_geometric_object(std::string &label, geometry::geometric_object_create *COC, int verbose_level)
void init_quartic_curve(std::string &label, void *p, int verbose_level)
void init_cubic_surface(std::string &label, void *p, int verbose_level)
high level functions for cubic surfaces
void do_sweep_4_15_lines(projective_geometry::projective_space_with_action *PA, surface_create_description *Surface_Descr, std::string &sweep_fname, int verbose_level)
void do_sweep_F_beta_9_lines(projective_geometry::projective_space_with_action *PA, surface_create_description *Surface_Descr, std::string &sweep_fname, int verbose_level)
void classify_surfaces_with_double_sixes(projective_geometry::projective_space_with_action *PA, poset_classification::poset_classification_control *Control, cubic_surfaces_and_double_sixes::surface_classify_wedge *&SCW, int verbose_level)
void do_classify_surfaces_through_arcs_and_two_lines(projective_geometry::projective_space_with_action *PA, poset_classification::poset_classification_control *Control_six_arcs, int f_test_nb_Eckardt_points, int nb_E, int verbose_level)
void do_cubic_surface_properties_analyze(projective_geometry::projective_space_with_action *PA, std::string &fname_csv, int defining_q, int verbose_level)
void do_six_arcs(projective_geometry::projective_space_with_action *PA, poset_classification::poset_classification_control *Control_six_arcs, int f_filter_by_nb_Eckardt_points, int nb_Eckardt_points, int verbose_level)
void do_cubic_surface_properties(projective_geometry::projective_space_with_action *PA, std::string &fname_csv, int defining_q, int column_offset, int verbose_level)
void do_sweep_4_27(projective_geometry::projective_space_with_action *PA, surface_create_description *Surface_Descr, std::string &sweep_fname, int verbose_level)
void do_classify_surfaces_through_arcs_and_trihedral_pairs(projective_geometry::projective_space_with_action *PA, poset_classification::poset_classification_control *Control1, poset_classification::poset_classification_control *Control2, poset_classification::poset_classification_control *Control_six_arcs, int f_test_nb_Eckardt_points, int nb_E, int verbose_level)
void do_sweep_6_9_lines(projective_geometry::projective_space_with_action *PA, surface_create_description *Surface_Descr, std::string &sweep_fname, int verbose_level)
classification of cubic surfaces using double sixes as substructures
cubic surfaces in projective space with automorphism group
to create a cubic surface from a description using class surface_create_description
to create a quartic curve from a description using class quartic_curve_create_description
std::string analyze_del_Pezzo_surface_parameters
applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create_description * sweep_4_15_lines_surface_description
int f_analyze_del_Pezzo_surface
std::string set_stabilizer_fname_mask
int f_classify_quartic_curves_with_substructure
std::string classify_quartic_curves_with_substructure_fname_mask
geometry::geometric_object_description * Object_Descr
int f_sweep_F_beta_9_lines
std::string cubic_surface_properties_fname_csv
int dualize_rank_k_subspaces_k
applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create_description * Surface_Descr
applications_in_algebraic_geometry::quartic_curves::quartic_curve_create_description * Quartic_curve_descr
std::string decomposition_by_element_fname
poset_classification::poset_classification_control * Trihedra2_control
int classify_quartic_curves_nauty_nb
std::string line2_to_text
std::string define_quartic_curve_label
std::string lift_skew_hexagon_text
poset_classification::poset_classification_control * spread_classify_Control
std::string line1_to_text
applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create_description * sweep_F_beta_9_lines_surface_description
int f_dualize_rank_k_subspaces
std::string line1_from_text
std::string define_surface_label
int f_arc_with_two_given_sets_of_lines_after_dualizing
int f_test_nb_Eckardt_points
int table_of_cubic_surfaces_compute_defining_q
int decomposition_by_element_power
int f_cheat_sheet_for_decomposition_by_element_PG
std::string line2_from_text
std::string u_lines_string
std::string conic_type_set_text
int f_cubic_surface_properties_analyze
apps_geometry::arc_generator_description * Arc_generator_description
std::string sweep_F_beta_9_lines_fname
std::string decomposition_by_element_data
int f_lines_on_point_but_within_a_plane
std::string unrank_lines_in_PG_text
int table_of_cubic_surfaces_compute_column_offset
applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create_description * sweep_6_9_lines_surface_description
std::string sweep_4_15_lines_fname
combinatorics::classification_of_objects_description * Canonical_form_codes_Descr
int f_table_of_cubic_surfaces
int f_filter_by_nb_Eckardt_points
std::string sweep_4_27_fname
int f_classify_semifields
long int lines_on_point_but_within_a_plane_point_rk
int f_arc_with_given_set_as_s_lines_after_dualizing
poset_classification::poset_classification_control * classify_surfaces_with_double_sixes_control
int f_dualize_points_to_hyperplanes
int f_lift_skew_hexagon_with_polarity
int classify_quartic_curves_with_substructure_nb
int f_table_of_quartic_curves
std::string map_parameters
applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create_description * sweep_4_27_surface_description
std::string classify_surfaces_with_double_sixes_label
int f_move_two_lines_in_hyperplane_stabilizer
std::string latex_homogeneous_equation_symbol_tex
int f_latex_homogeneous_equation
poset_classification::poset_classification_control * Trihedra1_control
int latex_homogeneous_equation_degree
int f_classify_surfaces_through_arcs_and_trihedral_pairs
std::string lift_skew_hexagon_with_polarity_polarity
std::string latex_homogeneous_equation_symbol_txt
std::string t_lines_string
semifields::semifield_classify_description * Semifield_classify_description
std::string latex_homogeneous_equation_text
int classify_quartic_curves_with_substructure_degree
int f_decomposition_by_subgroup
int f_define_quartic_curve
int f_six_arcs_not_on_conic
std::string table_of_cubic_surfaces_compute_fname_csv
std::string set_stabilizer_column_label
std::string classify_quartic_curves_nauty_fname_classification
int f_classify_quartic_curves_nauty
std::string classify_quartic_curves_nauty_fname_mask
int make_gilbert_varshamov_code_d
int f_classify_cubic_curves
int cubic_surface_properties_defining_q
int make_gilbert_varshamov_code_n
int f_make_gilbert_varshamov_code
int f_classify_surfaces_through_arcs_and_two_lines
std::string classify_quartic_curves_with_substructure_fname_classification
std::string dualize_input_set
groups::linear_group_description * decomposition_by_subgroup_Descr
std::string canonical_form_of_code_label
int f_classify_surfaces_with_double_sixes
std::string define_object_label
long int lines_on_point_but_within_a_plane_plane_rk
std::string set_stabilizer_fname_out
int set_stabilizer_intermediate_set_size
std::string arc_input_set
int f_table_of_cubic_surfaces_compute_properties
std::string decomposition_by_subgroup_label
std::string sweep_6_9_lines_fname
int f_dualize_hyperplanes_to_points
poset_classification::poset_classification_control * Semifield_classify_Control
poset_classification::poset_classification_control * Control_six_arcs
int classify_quartic_curves_with_substructure_size
int f_move_two_lines_in_hyperplane_stabilizer_text
int f_arc_with_three_given_sets_of_lines_after_dualizing
std::string rank_lines_in_PG_label
std::string analyze_del_Pezzo_surface_label
int f_export_point_line_incidence_matrix
std::string canonical_form_of_code_generator_matrix
int f_canonical_form_of_code
~projective_space_activity()
projective_space_with_action * PA
projective_space_activity_description * Descr
projective_space_activity()
void perform_activity(int verbose_level)
collection of worker functions for projective space
void do_classify_cubic_curves(projective_space_with_action *PA, apps_geometry::arc_generator_description *Arc_generator_description, int verbose_level)
void analyze_del_Pezzo_surface(projective_space_with_action *PA, std::string &label, std::string &evaluate_text, int verbose_level)
void conic_type(projective_space_with_action *PA, int threshold, std::string &set_text, int verbose_level)
void do_lift_skew_hexagon_with_polarity(projective_space_with_action *PA, std::string &polarity_36, int verbose_level)
void map(projective_space_with_action *PA, std::string &label, std::string &evaluate_text, int verbose_level)
void set_stabilizer(projective_space_with_action *PA, int intermediate_subset_size, std::string &fname_mask, int nb, std::string &column_label, std::string &fname_out, int verbose_level)
void do_classify_arcs(projective_space_with_action *PA, apps_geometry::arc_generator_description *Arc_generator_description, int verbose_level)
void do_create_surface(projective_space_with_action *PA, applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create_description *Surface_Descr, applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_with_action *&Surf_A, applications_in_algebraic_geometry::cubic_surfaces_in_general::surface_create *&SC, int verbose_level)
void do_lift_skew_hexagon(projective_space_with_action *PA, std::string &text, int verbose_level)
void classify_quartic_curves(projective_space_with_action *PA, std::string &fname_mask, int nb, int size, int degree, std::string &fname_classification, int verbose_level)
void classify_quartic_curves_nauty(projective_space_with_action *PA, std::string &fname_mask, int nb, std::string &fname_classification, canonical_form_classifier *&Classifier, int verbose_level)
void do_spread_classify(int k, poset_classification::poset_classification_control *Control, int verbose_level)
void table_of_cubic_surfaces(int verbose_level)
void do_rank_lines_in_PG(std::string &label, int verbose_level)
void do_cheat_sheet_for_decomposition_by_element_PG(int decomposition_by_element_power, std::string &decomposition_by_element_data, std::string &fname_base, int verbose_level)
void canonical_form_of_code(std::string &label, int *genma, int m, int n, combinatorics::classification_of_objects_description *Canonical_form_codes_Descr, int verbose_level)
geometry::projective_space * P
void table_of_quartic_curves(int verbose_level)
void cheat_sheet(graphics::layered_graph_draw_options *O, int verbose_level)
void do_cheat_sheet_for_decomposition_by_subgroup(std::string &label, groups::linear_group_description *subgroup_Descr, int verbose_level)
void do_unrank_lines_in_PG(std::string &text, int verbose_level)
field_theory::finite_field * F
void create_quartic_curve(applications_in_algebraic_geometry::quartic_curves::quartic_curve_create_description *Quartic_curve_descr, applications_in_algebraic_geometry::quartic_curves::quartic_curve_create *&QC, int verbose_level)
classification of semifields using substructure
void init(semifield_classify_description *Descr, projective_geometry::projective_space_with_action *PA, poset_classification::poset_classification_control *Control, int verbose_level)
#define Lint_vec_scan(A, B, C)
#define Lint_vec_print(A, B, C)
orbiter_kernel_system::orbiter_session * Orbiter
global Orbiter session
the orbiter library for the classification of combinatorial objects