Orbiter 2022
Combinatorial Objects
knowledge_base.h
Go to the documentation of this file.
1/*
2 * knowledge_base.h
3 *
4 * Created on: May 20, 2021
5 * Author: betten
6 */
7
8#ifndef SRC_LIB_FOUNDATIONS_KNOWLEDGE_BASE_KNOWLEDGE_BASE_H_
9#define SRC_LIB_FOUNDATIONS_KNOWLEDGE_BASE_KNOWLEDGE_BASE_H_
10
11
12namespace orbiter {
13namespace layer1_foundations {
14
15
16
17
18// #############################################################################
19// knowledge_base.cpp:
20// #############################################################################
21
23
24
26public:
29
30
31 // the index i is zero-based:
32
33
34 int quartic_curves_nb_reps(int q);
35 int *quartic_curves_representative(int q, int i);
36 long int *quartic_curves_bitangents(int q, int i);
37 void quartic_curves_stab_gens(int q, int i,
38 int *&data, int &nb_gens,
39 int &data_size, std::string &stab_order_str);
40
41
42 int cubic_surface_nb_reps(int q);
43 int *cubic_surface_representative(int q, int i);
44 void cubic_surface_stab_gens(int q, int i, int *&data, int &nb_gens,
45 int &data_size, std::string &stab_order_str);
46 int cubic_surface_nb_Eckardt_points(int q, int i);
47 long int *cubic_surface_Lines(int q, int i);
48
49 int hyperoval_nb_reps(int q);
50 int *hyperoval_representative(int q, int i);
51 void hyperoval_gens(int q, int i, int *&data, int &nb_gens,
52 int &data_size, std::string &stab_order_str);
53
54
55 int DH_nb_reps(int k, int n);
56 long int *DH_representative(int k, int n, int i);
57 void DH_stab_gens(int k, int n, int i, int *&data, int &nb_gens,
58 int &data_size, std::string &stab_order_str);
59
60 int Spread_nb_reps(int q, int k);
61 long int *Spread_representative(int q, int k, int i, int &sz);
62 void Spread_stab_gens(int q, int k, int i, int *&data, int &nb_gens,
63 int &data_size, std::string &stab_order_str);
64
65 int BLT_nb_reps(int q);
66 long int *BLT_representative(int q, int no);
67 void BLT_stab_gens(int q, int no, int *&data, int &nb_gens,
68 int &data_size, std::string &stab_order_str);
69
70 void override_polynomial_subfield(std::string &poly, int q);
71 void override_polynomial_extension_field(std::string &poly, int q);
72
73 void get_projective_plane_list_of_lines(int *&list_of_lines,
74 int &order, int &nb_lines, int &line_size,
75 const char *label, int verbose_level);
76
77 int tensor_orbits_nb_reps(int n);
78 long int *tensor_orbits_rep(int n, int idx);
79
80 // finitefield_tables.cpp:
81 void get_primitive_polynomial(std::string &poly, int p, int e, int verbose_level);
82
83};
84
85
86}}
87
88
89#endif /* SRC_LIB_FOUNDATIONS_KNOWLEDGE_BASE_KNOWLEDGE_BASE_H_ */
provides access to pre-computed combinatorial data in encoded form
void quartic_curves_stab_gens(int q, int i, int *&data, int &nb_gens, int &data_size, std::string &stab_order_str)
void BLT_stab_gens(int q, int no, int *&data, int &nb_gens, int &data_size, std::string &stab_order_str)
void Spread_stab_gens(int q, int k, int i, int *&data, int &nb_gens, int &data_size, std::string &stab_order_str)
long int * Spread_representative(int q, int k, int i, int &sz)
void DH_stab_gens(int k, int n, int i, int *&data, int &nb_gens, int &data_size, std::string &stab_order_str)
long int * DH_representative(int k, int n, int i)
long int * quartic_curves_bitangents(int q, int i)
void get_primitive_polynomial(std::string &poly, int p, int e, int verbose_level)
void override_polynomial_extension_field(std::string &poly, int q)
void cubic_surface_stab_gens(int q, int i, int *&data, int &nb_gens, int &data_size, std::string &stab_order_str)
void get_projective_plane_list_of_lines(int *&list_of_lines, int &order, int &nb_lines, int &line_size, const char *label, int verbose_level)
void hyperoval_gens(int q, int i, int *&data, int &nb_gens, int &data_size, std::string &stab_order_str)
void override_polynomial_subfield(std::string &poly, int q)
the orbiter library for the classification of combinatorial objects