Orbiter 2022
Combinatorial Objects
cubic_curve_with_action.cpp
Go to the documentation of this file.
1/*
2 * cubic_curve_with_action.cpp
3 *
4 * Created on: Mar 7, 2019
5 * Author: betten
6 */
7
8
9
10#include "orbiter.h"
11
12using namespace std;
13
14
15namespace orbiter {
16namespace layer5_applications {
17namespace apps_geometry {
18
19
21{
22 null();
23}
24
26{
27 freeself();
28}
29
31{
32 q = 0;
33 F = NULL;
34 CC = NULL;
35 A = NULL;
36 A2 = NULL;
37 Elt1 = NULL;
38 AonHPD_3_3 = NULL;
39
40}
41
43{
44 if (A) {
46 }
47 if (A2) {
49 }
50 if (Elt1) {
52 }
53 if (AonHPD_3_3) {
55 }
56 null();
57}
58
61 int verbose_level)
62{
63 int f_v = (verbose_level >= 1);
64
65 if (f_v) {
66 cout << "cubic_curve_with_action::init" << endl;
67 }
70 //cubic_curve_with_action::f_semilinear = f_semilinear;
71 F = CC->F;
72 q = F->q;
73
74
75 if (f_v) {
76 cout << "cubic_curve_with_action::init "
77 "creating action on lines" << endl;
78 }
79 A2 = A->induced_action_on_grassmannian(2, verbose_level);
80 if (f_v) {
81 cout << "cubic_curve_with_action::init "
82 "creating action on lines done" << endl;
83 }
84
85
86
87 //init_group(f_semilinear, verbose_level);
88
90
92 if (f_v) {
93 cout << "cubic_curve_with_action::init "
94 "before AonHPD_3_3->init" << endl;
95 }
96 AonHPD_3_3->init(A, CC->Poly, verbose_level);
97
98
99 if (f_v) {
100 cout << "cubic_curve_with_action::init done" << endl;
101 }
102}
103
104#if 0
105void cubic_curve_with_action::init_group(int f_semilinear,
106 int verbose_level)
107{
108 int f_v = (verbose_level >= 1);
109
110 if (f_v) {
111 cout << "cubic_curve_with_action::init_group" << endl;
112 }
113 if (f_v) {
114 cout << "cubic_curve_with_action::init_group "
115 "creating linear group" << endl;
116 }
117
118 vector_ge *nice_gens;
119 //sims *S;
120
121 A = NEW_OBJECT(action);
122
123 A->init_linear_group(//S,
124 F, 3,
125 TRUE /*f_projective*/,
126 FALSE /* f_general*/,
127 FALSE /* f_affine */,
128 f_semilinear, FALSE /* f_special */,
129 nice_gens,
130 0 /* verbose_level*/);
131
132 FREE_OBJECT(nice_gens);
133 //FREE_OBJECT(S);
134
135 if (f_v) {
136 cout << "cubic_curve_with_action::init_group "
137 "creating linear group done" << endl;
138 }
139
140
141 if (f_v) {
142 cout << "cubic_curve_with_action::init_group "
143 "creating action on lines" << endl;
144 }
145 A2 = A->induced_action_on_grassmannian(2, verbose_level);
146 if (f_v) {
147 cout << "cubic_curve_with_action::init_group "
148 "creating action on lines done" << endl;
149 }
150
151
152 if (f_v) {
153 cout << "cubic_curve_with_action::init_group done" << endl;
154 }
155}
156#endif
157
158}}}
159
ring_theory::homogeneous_polynomial_domain * Poly
a permutation group in a fixed action.
Definition: actions.h:99
action * induced_action_on_grassmannian(int k, int verbose_level)
void init_linear_group(field_theory::finite_field *F, int m, int f_projective, int f_general, int f_affine, int f_semilinear, int f_special, data_structures_groups::vector_ge *&nice_gens, int verbose_level)
Definition: action_init.cpp:17
induced action on the set of homogeneous polynomials over a finite field
void init(actions::action *A, ring_theory::homogeneous_polynomial_domain *HPD, int verbose_level)
void init(algebraic_geometry::cubic_curve *CC, actions::action *A, int verbose_level)
induced_actions::action_on_homogeneous_polynomials * AonHPD_3_3
Definition: tl_geometry.h:392
#define FREE_int(p)
Definition: foundations.h:640
#define NEW_OBJECT(type)
Definition: foundations.h:638
#define FREE_OBJECT(p)
Definition: foundations.h:651
#define NEW_int(n)
Definition: foundations.h:625
#define TRUE
Definition: foundations.h:231
#define FALSE
Definition: foundations.h:234
the orbiter library for the classification of combinatorial objects