13namespace layer3_group_actions {
14namespace induced_actions {
72 int f_v = (verbose_level >= 1);
80 cout <<
"action_by_subfield_structure::init" << endl;
81 cout <<
"starting with action " << A.
label << endl;
86 cout <<
"action_by_subfield_structure::init "
87 "fatal: A.type_G != matrix_group_t" << endl;
100 cout <<
"action_by_subfield_structure::init "
101 "different characteristics of the fields" << endl;
107 cout <<
"action_by_subfield_structure::init "
108 "not a subfield" << endl;
114 cout <<
"action_by_subfield_structure::init" << endl;
115 cout <<
"index=s=" <<
s << endl;
116 cout <<
"m=s*n=" <<
m << endl;
130 int f_semilinear =
FALSE;
134 cout <<
"action_by_subfield_structure::init "
135 "before Aq->init_matrix_group" << endl;
141 f_semilinear, f_basis,
FALSE ,
148 cout <<
"action_by_subfield_structure::init "
149 "after Aq->init_matrix_group" << endl;
151 cout <<
"action_by_subfield_structure::init "
152 "creating subfield structure" << endl;
157 cout <<
"action_by_subfield_structure::init "
158 "creating subfield structure done" << endl;
168 int f_v = (verbose_level >= 1);
169 int f_vv = (verbose_level >= 2);
173 cout <<
"action_by_subfield_structure::compute_image_int" << endl;
177 cout <<
"action_by_subfield_structure::compute_image_int "
178 "a = " << a <<
" v1 = ";
185 cout <<
" v2=v1 * A=";
192 cout <<
"action_by_subfield_structure::compute_image_int "
193 "done " << a <<
"->" << b << endl;
204 int f_v = (verbose_level >= 1);
205 int f_vv = (verbose_level >= 2);
206 int i, j, a, b, c, d, I, J, u, v;
209 cout <<
"action_by_subfield_structure::compute_"
210 "image_int_low_level" << endl;
213 cout <<
"subfield structure action: x=";
218 for (i = 0; i <
n; i++) {
219 for (j = 0; j <
n; j++) {
223 for (u = 0; u <
s; u++) {
226 for (v = 0; v <
s; v++) {
228 Mtx[(I + u) *
m + J + v] = d;
243 cout <<
"action_by_subfield_structure::compute_"
244 "image_int_low_level "
245 "cannot handle semilinear elements" << endl;
248 for (i = 0; i <
m; i++) {
249 xA[i] = F->frobenius_power(xA[i], f);
252 cout <<
"after " << f <<
" field automorphisms: xA=";
253 int_vec_print(cout, xA,
m);
259 cout <<
"action_by_subfield_structure::compute_"
260 "image_int_low_level "
void PG_element_unrank_modified_lint(int *v, int stride, int len, long int a)
linear_algebra::linear_algebra * Linear_algebra
void PG_element_rank_modified_lint(int *v, int stride, int len, long int &a)
a finite field as a vector space over a subfield
void init(finite_field *FQ, finite_field *Fq, int verbose_level)
various functions related to geometries
long int nb_PG_elements(int n, int q)
void mult_vector_from_the_left(int *v, int *A, int *vA, int m, int n)
basic number theoretic functions
int is_prime_power(int q)
a permutation group in a fixed action.
symmetry_group_type type_G
void init_projective_group(int n, field_theory::finite_field *F, int f_semilinear, int f_basis, int f_init_sims, data_structures_groups::vector_ge *&nice_gens, int verbose_level)
to hold a vector of group elements
field_theory::finite_field * GFq
field_theory::finite_field * Fq
long int compute_image_int(actions::action &A, int *Elt, long int a, int verbose_level)
void compute_image_int_low_level(actions::action &A, int *Elt, int *input, int *output, int verbose_level)
groups::matrix_group * Mq
void init(actions::action &A, field_theory::finite_field *Fq, int verbose_level)
field_theory::subfield_structure * S
field_theory::finite_field * FQ
action_by_subfield_structure()
~action_by_subfield_structure()
groups::matrix_group * MQ
#define Int_vec_print(A, B, C)
the orbiter library for the classification of combinatorial objects
groups::matrix_group * matrix_grp