13namespace layer3_group_actions {
14namespace induced_actions {
53 int f_v = (verbose_level >= 1);
57 cout <<
"action_on_wedge_product::init" << endl;
58 cout <<
"starting with action " << A.
label << endl;
61 cout <<
"action_on_wedge_product::init "
62 "fatal: A.type_G != matrix_group_t" << endl;
94 int f_v = (verbose_level >= 1);
95 int f_vv = (verbose_level >= 2);
99 cout <<
"action_on_wedge_product::compute_image_int" << endl;
104 cout <<
"action_on_wedge_product::compute_image_int "
105 "a = " << a <<
" wedge_v1 = ";
112 cout <<
" v2=v1 * A=";
120 cout <<
"action_on_wedge_product::compute_image_int "
121 "done " << a <<
"->" << b << endl;
141 Combi.
k2ij(I, i, j,
n);
142 Combi.
k2ij(J, k, l,
n);
149 int *Elt,
int i,
int j,
int k,
int l,
int verbose_level)
151 int aki, alj, akj, ali, u, v, w;
157 u =
F->
mult(aki, alj);
158 v =
F->
mult(akj, ali);
164 actions::action &A,
int *Elt,
int *input,
int *output,
int verbose_level)
179 int f_v = (verbose_level >= 1);
180 int f_vv = (verbose_level >= 2);
181 int i, j, ij, k, l, kl, c, w, z, xkl;
185 cout <<
"action_on_wedge_product::compute_image_int_low_level" << endl;
188 cout <<
"wedge action: x=";
193 for (i = 0; i <
n; i++) {
194 for (j = i + 1; j <
n; j++) {
195 ij = Combi.
ij2k(i, j,
n);
199 for (k = 0; k <
n; k++) {
200 for (l = k + 1; l <
n; l++) {
201 kl = Combi.
ij2k(k, l,
n);
208 aki = Elt[k *
n + i];
209 alj = Elt[l *
n + j];
210 akj = Elt[k *
n + j];
211 ali = Elt[l *
n + i];
212 u =
F->
mult(aki, alj);
213 v =
F->
mult(akj, ali);
225 cout <<
"i=" << i <<
" j=" << j <<
" ij=" << ij <<
" k=" << k <<
" l=" << l <<
" kl=" << kl <<
" xkl=" << xkl <<
" w=" << w <<
" z=xkl*w=" << z <<
" c=" << c << endl;
230 cout <<
"i=" << i <<
" j=" << j <<
" ij=" << ij <<
" xA[" << ij <<
"]=" << c << endl;
246 cout <<
"after " << f <<
" field automorphisms: xA=";
252 cout <<
"action_on_wedge_product::compute_image_int_low_level done" << endl;
a collection of combinatorial functions
void k2ij(int k, int &i, int &j, int n)
int ij2k(int i, int j, int n)
int frobenius_power(int a, int frob_power)
void PG_element_unrank_modified_lint(int *v, int stride, int len, long int a)
void PG_element_rank_modified_lint(int *v, int stride, int len, long int &a)
various functions related to geometries
long int nb_PG_elements(int n, int q)
a permutation group in a fixed action.
int element_linear_entry_frobenius(void *elt, int verbose_level)
int linear_entry_frobenius(void *elt)
symmetry_group_type type_G
int element_linear_entry_ij(void *elt, int i, int j, int verbose_level)
field_theory::finite_field * GFq
action_on_wedge_product()
long int rank_point(int *v)
void init(actions::action &A, int verbose_level)
int element_entry_ijkl(actions::action &A, int *Elt, int i, int j, int k, int l, int verbose_level)
void compute_image_int_low_level(actions::action &A, int *Elt, int *input, int *output, int verbose_level)
field_theory::finite_field * F
int element_entry_frobenius(actions::action &A, int *Elt, int verbose_level)
long int compute_image_int(actions::action &A, int *Elt, long int a, int verbose_level)
void unrank_point(int *v, long int rk)
~action_on_wedge_product()
int element_entry_ij(actions::action &A, int *Elt, int I, int J, int verbose_level)
#define Int_vec_print(A, B, C)
the orbiter library for the classification of combinatorial objects
groups::matrix_group * matrix_grp