13namespace layer3_group_actions {
14namespace induced_actions {
66 int f_v = (verbose_level >= 1);
70 cout <<
"action_on_homogeneous_polynomials::init" << endl;
71 cout <<
"starting with action " <<
A->
label << endl;
74 cout <<
"action_on_homogeneous_polynomials::init "
75 "fatal: A->type_G != matrix_group_t" << endl;
87 cout <<
"action_on_homogeneous_polynomials::init "
89 cout <<
"action_on_homogeneous_polynomials::init "
90 "degree = " <<
degree << endl;
100 int *Equations,
int nb_equations,
int verbose_level)
102 int f_v = (verbose_level >= 1);
106 cout <<
"action_on_homogeneous_polynomials::init_invariant_set_of_equations" << endl;
121 cout <<
"action_on_homogeneous_polynomials::init_invariant_set_of_equations done" << endl;
136 PG_element_rank_modified(*
F, v, 1,
dimension, rk);
144 int *Elt,
long int a,
int verbose_level)
146 int f_v = (verbose_level >= 1);
147 int f_vv = (verbose_level >= 2);
152 cout <<
"action_on_homogeneous_polynomials::compute_image_int "
153 "verbose_level=" << verbose_level << endl;
162 cout <<
"action_on_homogeneous_polynomials::compute_image_int "
163 "a = " << a <<
" v1 = ";
170 cout <<
" v2 = v1 * A = ";
183 cout <<
"action_on_homogeneous_polynomials::compute_image_int "
184 "could not find equation" << endl;
185 cout <<
"action_on_homogeneous_polynomials::compute_image_int "
186 "a = " << a <<
" v1 = " << endl;
189 cout <<
" v2 = v1 * A = " << endl;
192 cout <<
"A=" << endl;
194 cout <<
"equations:" << endl;
196 cout << setw(3) << b <<
" : ";
207 cout <<
"action_on_homogeneous_polynomials::compute_image_int "
208 "done " << a <<
"->" << b << endl;
214 int *Elt,
int *input,
int *output,
int verbose_level)
216 int f_v = (verbose_level >= 1);
217 int f_vv = (verbose_level >= 2);
223 cout <<
"action_on_homogeneous_polynomials::compute_image_int_low_level" << endl;
226 cout <<
"action_on_homogeneous_polynomials::compute_image_int_low_level "
233 cout <<
"action_on_homogeneous_polynomials::compute_image_int_low_level "
234 "A->type_G != matrix_group_t" << endl;
248 f_semilinear, Elt[
n *
n],
Elt1, 0 );
255 cout <<
"action_on_homogeneous_polynomials::compute_image_int_low_level "
261 cout <<
"action_on_homogeneous_polynomials::compute_image_int_low_level done" << endl;
266 int *Elt,
int *M,
int verbose_level)
268 int f_v = (verbose_level >= 1);
272 cout <<
"action_on_homogeneous_polynomials::compute_representation" << endl;
275 cout <<
"action_on_homogeneous_polynomials::compute_representation "
276 "A->type_G != matrix_group_t" << endl;
289 cout <<
"action_on_homogeneous_polynomials::compute_representation done" << endl;
a collection of functions related to sorted vectors
int int_vec_compare(int *p, int *q, int len)
void PG_element_normalize(int *v, int stride, int len)
various functions related to geometries
long int nb_PG_elements(int n, int q)
homogeneous polynomials of a given degree in a given number of variables over a finite field GF(q)
void unrank_coeff_vector(int *v, long int rk)
void substitute_semilinear(int *coeff_in, int *coeff_out, int f_semilinear, int frob_power, int *Mtx_inv, int verbose_level)
void substitute_linear(int *coeff_in, int *coeff_out, int *Mtx_inv, int verbose_level)
long int rank_coeff_vector(int *v)
a permutation group in a fixed action.
void element_print_quick(void *elt, std::ostream &ost)
symmetry_group_type type_G
void element_invert(void *a, void *av, int verbose_level)
a matrix group over a finite field in projective, vector space or affine action
field_theory::finite_field * GFq
void unrank_point(int *v, long int rk)
void compute_representation(int *Elt, int *M, int verbose_level)
long int compute_image_int(int *Elt, long int a, int verbose_level)
long int rank_point(int *v)
action_on_homogeneous_polynomials()
~action_on_homogeneous_polynomials()
void init(actions::action *A, ring_theory::homogeneous_polynomial_domain *HPD, int verbose_level)
ring_theory::homogeneous_polynomial_domain * HPD
void init_invariant_set_of_equations(int *Equations, int nb_equations, int verbose_level)
field_theory::finite_field * F
void compute_image_int_low_level(int *Elt, int *input, int *output, int verbose_level)
#define Int_vec_zero(A, B)
#define Int_vec_copy(A, B, C)
#define Int_vec_print(A, B, C)
the orbiter library for the classification of combinatorial objects
groups::matrix_group * matrix_grp