8#ifndef SRC_LIB_TOP_LEVEL_QUARTIC_CURVES_QUARTIC_CURVES_CPP_
9#define SRC_LIB_TOP_LEVEL_QUARTIC_CURVES_QUARTIC_CURVES_CPP_
15namespace layer5_applications {
16namespace applications_in_algebraic_geometry {
17namespace quartic_curves {
42 int argc, std::string *argv,
159 field_theory::finite_field *
F;
168 algebraic_geometry::quartic_curve_object *
QO;
173 groups::strong_generators *
Sg;
196 int nb_gens, std::string &gens_text,
int verbose_level);
205 std::string &name_of_formula,
206 std::string &name_of_formula_tex,
207 std::string &managed_variables,
208 std::string &equation_text,
209 std::string &equation_parameters,
210 std::string &equation_parameters_tex,
213 std::vector<std::string> &transform_coeffs,
214 std::vector<int> &f_inverse_transform,
240 algebraic_geometry::quartic_curve_domain *
Dom;
249 induced_actions::action_on_homogeneous_polynomials *
AonHPD_4_3;
254 void init(algebraic_geometry::quartic_curve_domain *
Dom,
320 strong_generators *gens_copy;
321 set_and_stabilizer *moved_surface;
323 strong_generators *stab_gens_P0;
333 void quartic(std::string &surface_prefix,
int pt_orbit,
int f_TDO,
int verbose_level);
339 std::string &surface_prefix,
341 std::ostream &ost_curves,
362 field_theory::finite_field *
F;
366 algebraic_geometry::quartic_curve_object *
QO;
374 groups::sylow_structure *
Syl;
383 algebraic_geometry::quartic_curve_object *
QO,
384 groups::strong_generators *
Aut_gens,
an instance of a cubic surface together with its stabilizer
an instance of a quartic curve together with its stabilizer
groups::schreier * Orbits_on_points
groups::sylow_structure * Syl
actions::action * A_on_points
~quartic_curve_object_with_action()
groups::strong_generators * Aut_gens
quartic_curve_domain_with_action * DomA
algebraic_geometry::quartic_curve_object * QO
void init(quartic_curve_domain_with_action *DomA, algebraic_geometry::quartic_curve_object *QO, groups::strong_generators *Aut_gens, int verbose_level)
groups::strong_generators * projectivity_group_gens
data_structures_groups::vector_ge * nice_gens
quartic_curve_object_with_action()
field_theory::finite_field * F
to describe a quartic curve from the command line
quartic_curve_create_description()
std::string equation_name_of_formula
std::string coefficients_text
std::string override_group_gens
int override_group_nb_gens
std::string override_group_order
std::vector< int > f_inverse_transform
std::string label_for_summary
std::vector< std::string > transform_coeffs
int read_arguments(int argc, std::string *argv, int verbose_level)
std::string equation_managed_variables
~quartic_curve_create_description()
std::string equation_parameters
std::string equation_name_of_formula_tex
std::string equation_parameters_tex
std::string equation_text
description of an activity associated with a quartic curve
quartic_curve_activity_description()
~quartic_curve_activity_description()
int read_arguments(int argc, std::string *argv, int verbose_level)
an activity associated with a quartic curve
quartic_curve_create * QC
void perform_activity(int verbose_level)
~quartic_curve_activity()
quartic_curve_activity_description * Descr
void init(quartic_curve_activity_description *Quartic_curve_activity_description, quartic_curve_create *QC, int verbose_level)
void do_report(quartic_curve_create *QC, int verbose_level)
to create a quartic curve from a description using class quartic_curve_create_description
void init(quartic_curve_create_description *Descr, projective_geometry::projective_space_with_action *PA, quartic_curve_domain_with_action *QCDA, int verbose_level)
projective_geometry::projective_space_with_action * PA
void create_quartic_curve_by_coefficient_vector(int *eqn15, int verbose_level)
void apply_transformations(std::vector< std::string > &transform_coeffs, std::vector< int > &f_inverse_transform, int verbose_level)
quartic_curve_object_with_action * QOA
void create_quartic_curve_by_equation(std::string &name_of_formula, std::string &name_of_formula_tex, std::string &managed_variables, std::string &equation_text, std::string &equation_parameters, std::string &equation_parameters_tex, int verbose_level)
data_structures_groups::vector_ge * nice_gens
void create_quartic_curve_from_catalogue(quartic_curve_domain_with_action *DomA, int iso, int verbose_level)
void init_with_data(quartic_curve_create_description *Descr, projective_geometry::projective_space_with_action *PA, quartic_curve_domain_with_action *QCDA, int verbose_level)
void create_quartic_curve_from_description(quartic_curve_domain_with_action *DomA, int verbose_level)
void create_quartic_curve_by_coefficients(std::string &coefficients_text, int verbose_level)
groups::strong_generators * Sg
field_theory::finite_field * F
algebraic_geometry::quartic_curve_object * QO
void override_group(std::string &group_order_text, int nb_gens, std::string &gens_text, int verbose_level)
quartic_curve_create_description * Descr
void compute_group(projective_geometry::projective_space_with_action *PA, int verbose_level)
quartic_curve_domain_with_action * QCDA
construction of a quartic curve from a cubic surface by means of projecting the intersection with the...
void quartic(std::string &surface_prefix, int pt_orbit, int f_TDO, int verbose_level)
quartic_curve_from_surface()
void compute_stabilizer(int verbose_level)
groups::strong_generators * Stab_gens_quartic
int nb_pts_on_tangent_quadric
void compute_quartic(int pt_orbit, int *equation, long int *Lines, int nb_lines, int verbose_level)
void init(cubic_surfaces_in_general::surface_object_with_action *SOA, int verbose_level)
cubic_surfaces_in_general::surface_object_with_action * SOA
~quartic_curve_from_surface()
long int * Pts_on_surface
long int * Pts_on_tangent_quadric
void cheat_sheet_quartic_curve(std::string &surface_prefix, std::ostream &ost, std::ostream &ost_curves, int f_TDO, int verbose_level)
a domain for quartic curves in projective space with group action
void init(algebraic_geometry::quartic_curve_domain *Dom, projective_geometry::projective_space_with_action *PA, int verbose_level)
induced_actions::action_on_homogeneous_polynomials * AonHPD_4_3
~quartic_curve_domain_with_action()
actions::action * A_on_lines
algebraic_geometry::quartic_curve_domain * Dom
projective_geometry::projective_space_with_action * PA
quartic_curve_domain_with_action()
projective space PG(n,q) with automorphism group PGGL(n+1,q)
std::vector< term > equation
the orbiter library for the classification of combinatorial objects