13namespace layer3_group_actions {
14namespace induced_actions {
68 int f_v = (verbose_level >= 1);
72 cout <<
"action_on_spread_set::init" << endl;
85 cout <<
"action_on_spread_set::init" << endl;
86 cout <<
"k=" <<
k << endl;
87 cout <<
"n=" <<
n << endl;
88 cout <<
"q=" <<
q << endl;
95 cout <<
"action_on_spread_set::init the order of "
96 "the group of matrices is " <<
degree << endl;
109 cout <<
"degree = " <<
degree << endl;
114 cout <<
"action_on_spread_set::init done" << endl;
120 ost <<
"Action on spread set has degree = " <<
degree <<
"\\\\" << endl;
124 ost <<
"PGL$(" <<
k <<
"," <<
q <<
")$ has order " << go <<
"\\\\" << endl;
128 long int rk,
int verbose_level)
131 int f_v = (verbose_level >= 1);
132 int f_vv = (verbose_level >= 2);
136 cout <<
"action_on_spread_set::compute_image_int "
137 "rk = " << rk << endl;
144 cout <<
"action_on_spread_set::compute_image_int "
145 "after unrank_point" << endl;
148 cout <<
"action_on_spread_set::compute_image_int "
149 "group element:" << endl;
153 for (i = 0; i <
k; i++) {
159 cout <<
"action_on_spread_set::compute_image_int "
160 "after applying group element" << endl;
169 cout <<
"action_on_spread_set::compute_image_int "
170 "image of " << rk <<
" is " << rk2 << endl;
176 int *mtx,
int *subspace,
int verbose_level)
181 for (i = 0; i <
k; i++) {
182 subspace[i *
n + i] = 1;
183 for (j = 0; j <
k; j++) {
184 subspace[i *
n +
k + j] = mtx[i *
k + j];
190 int *subspace,
int *mtx,
int verbose_level)
192 int f_v = (verbose_level >= 1);
196 cout <<
"action_on_spread_set::subspace_to_matrix" << endl;
201 cout <<
"action_on_spread_set::subspace_to_matrix "
206 cout <<
"action_on_spread_set::subspace_to_matrix "
207 "after Gauss_easy" << endl;
209 for (i = 0; i <
k; i++) {
210 for (j = 0; j <
k; j++) {
211 mtx[i *
k + j] = subspace[i *
n +
k + j];
215 cout <<
"action_on_spread_set::subspace_to_matrix "
221 long int rk,
int *mtx,
int verbose_level)
223 int f_v = (verbose_level >= 1);
226 cout <<
"action_on_spread_set::unrank_point "
227 "rk = " << rk << endl;
232 cout <<
"action_on_spread_set::unrank_point done" << endl;
237 int *mtx,
int verbose_level)
239 int f_v = (verbose_level >= 1);
243 cout <<
"action_on_spread_set::rank_point" << endl;
249 cout <<
"action_on_spread_set::rank_point done, rk = " << rk << endl;
255 int *Elt,
int *input,
int *output,
int verbose_level)
258 int f_v = (verbose_level >= 1);
259 int f_vv = (verbose_level >= 2);
263 cout <<
"action_on_spread_set::compute_image_low_level" << endl;
266 cout <<
"action_on_spread_set::compute_image_low_level "
269 cout <<
"action_on_spread_set::compute_image_low_level "
277 for (i = 0; i <
k; i++) {
285 cout <<
"action_on_spread_set::compute_image_low_level "
286 "after mult=" << endl;
293 cout <<
"action_on_spread_set::compute_image_low_level "
299 cout <<
"action_on_spread_set::compute_image_low_level "
linear_algebra::linear_algebra * Linear_algebra
int Gauss_easy(int *A, int m, int n)
a class to represent arbitrary precision integers
a permutation group in a fixed action.
void make_element(int *Elt, int *data, int verbose_level)
void element_image_of_low_level(int *input, int *output, void *elt, int verbose_level)
a permutation group represented via a stabilizer chain
void group_order(ring_theory::longinteger_object &go)
void element_unrank_lint(long int rk, int *Elt, int verbose_level)
long int element_rank_lint(int *Elt)
actions::action * A_PGL_k_q
void subspace_to_matrix(int *subspace, int *mtx, int verbose_level)
void compute_image_low_level(int *Elt, int *input, int *output, int verbose_level)
field_theory::finite_field * F
void matrix_to_subspace(int *mtx, int *subspace, int verbose_level)
void unrank_point(long int rk, int *mtx, int verbose_level)
long int compute_image_int(int *Elt, long int rk, int verbose_level)
void report(std::ostream &ost, int verbose_level)
void init(actions::action *A_PGL_n_q, actions::action *A_PGL_k_q, groups::sims *G_PGL_k_q, int k, field_theory::finite_field *F, int verbose_level)
long int rank_point(int *mtx, int verbose_level)
actions::action * A_PGL_n_q
#define Int_vec_zero(A, B)
#define Int_vec_print_integer_matrix_width(A, B, C, D, E, F)
#define Int_matrix_print(A, B, C)
#define Int_vec_copy(A, B, C)
the orbiter library for the classification of combinatorial objects